У меня есть несколько серверов Windows, работающих в виртуальной сети Azure с двумя подсетями. У меня есть контроллер домена 10.0.0.4 и серверы 10.0.1.4, 10.0.1.5 и т. Д. Я настроил VPN-соединение «точка-сайт», чтобы я мог установить VPN-подключение к виртуальной сети с моего компьютера. Когда я устанавливаю VPN-соединение, мой ПК получает IP-адрес 10.0.16.x. По умолчанию VPN-подключение, предоставляемое Azure, маршрутизирует только трафик 10.xxx через VPN, но я изменил это, установив флажок Использовать шлюз по умолчанию в удаленной сети.потому что я хочу, чтобы весь интернет-трафик проходил через Azure, когда я подключен к VPN. Когда я устанавливаю это соединение, я могу получить доступ к серверам в виртуальной сети Azure, но у меня нет подключения к Интернету. Насколько я понимаю, для обеспечения возможности подключения к Интернету потребуется маршрутизатор NAT.
Я добавил CentOS VM на 10.0.1.6. Он имеет только один сетевой адаптер, так как виртуальные машины Azure не могут иметь более одного сетевого адаптера. У меня есть два вопроса:
Можно ли будет настроить маршрутизатор NAT с одним NIC? Если так, то как? Поиск в Google скрывает меня в лавине команд iptables, в основном для NAT-маршрутизаторов с двумя сетевыми картами. Я не могу найти ничего, что упрощает шаги настройки, необходимые для этого типа сценария. Я попробовал команды здесь , но это не удалось.
На моем ПК после подключения к VPN я не совсем понимаю, что мне нужно делать. По сути, я хочу сделать шлюз по умолчанию 10.0.1.6? Если так, то как я это сделаю?
route delete 0.0.0.0 route add 0.0.0.0. MASK 0.0.0.0 10.0.1.6
В случае, если это помогает, вот вывод ifconfig
на CentOS VM:
eth0 Link encap:Ethernet HWaddr 00:15:5D:61:7E:1E
inet addr:10.0.1.6 Bcast:10.0.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fe61:7e1e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:931 errors:0 dropped:0 overruns:0 frame:0
TX packets:1034 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:101709 (99.3 KiB) TX bytes:162650 (158.8 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Вот фрагмент страницы конфигурации виртуальной сети Azure, который, как мы надеемся, поможет описать структуру сети. Я использую «Подсеть-1» для контроллеров домена, а «Подсеть-2» - это место, где живут все остальные серверы (включая виртуальную машину CentOS, которую я пытаюсь использовать в качестве маршрутизатора). Azure автоматически настраивает виртуальные машины в «Подсети-1» со шлюзом по умолчанию 10.0.0.1, а виртуальные машины в «Подсети-2» со шлюзом по умолчанию 10.0.1.1. Но эти шлюзы не являются серверами, которые я могу контролировать. Клиентам VPN выделяются IP-адреса из адресного пространства «подключение к сайту».
Скриншот конфигурации виртуальной сети Azure
(Я не могу публиковать изображения, по-видимому)
А вот ссылка на таблицу маршрутизации на (windows) vpn-клиенте (в данном случае после настройки 10.1.0.1 в качестве шлюза по умолчанию):
Ответы:
Сервер vpn, например, 10.0.0.1, всегда является первой остановкой для всего трафика ip, выходящего из клиента.
Так, если у вас есть трафик, идущий, например, на www.google.com, он должен сначала пересечь этот сервер vpn, потому что соединение vpn является связью точка-точка, то есть трафик от клиента имеет только один выход, который сервер.
Затем сервер vpn увидит пункт назначения трафика, и, поскольку сервер настроен не переадресовывать трафик, пунктом назначения которого является Интернет, он отбросит этот трафик.
Таким образом, сервер vpn всегда будет перехватывать и пропускать трафик, идущий в Интернет, вы не можете обойти его.
Вывод, трафик даже не достигнет сентосов, поэтому не будет запускать NAT.
Вы можете создать 2-й туннель от клиента до Centos (например, openvpn) внутри исходного туннеля vpn, чтобы скрыть интернет-трафик от сервера vpn.
Или другое решение - настроить веб-прокси на виртуальной машине Centos и настроить веб-браузер для этого прокси-сервера. Таким образом, http-трафик всегда будет исходить от клиента с целевым IP-адресом centos, а затем он достигнет прокси-сервера. , который будет перенаправлять в интернет, однако это решение работает только для http трафика.
источник