У меня есть несколько серверов 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 не могут иметь более одного сетевого адаптера. У меня есть два вопроса:

  1. Можно ли будет настроить маршрутизатор NAT с одним NIC? Если так, то как? Поиск в Google скрывает меня лавиной команд iptables, в основном для NAT-маршрутизаторов с двумя сетевыми картами. Я не могу найти ничего, что упрощает шаги настройки, необходимые для этого типа сценария. Я попробовал команды здесь, но это не удалось.

  2. На моем ПК после подключения к 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-клиенте

1 ответ1

0

Сервер vpn, например, 10.0.0.1, всегда является первой остановкой для всего трафика ip, выходящего из клиента.

Так, если у вас есть трафик, идущий, например, на www.google.com, он должен сначала пересечь этот сервер vpn, потому что соединение vpn является связью точка-точка, то есть трафик от клиента имеет только один выход, который сервер.

Затем сервер vpn увидит пункт назначения трафика, и, поскольку сервер настроен не перенаправлять трафик, пунктом назначения которого является Интернет, он отбросит этот трафик.

Таким образом, сервер vpn всегда будет перехватывать и пропускать трафик, идущий в Интернет, вы не можете обойти его.

Вывод, трафик даже не достигнет сентосов, поэтому не будет запускать NAT.

Вы можете создать 2-й туннель от клиента до Centos (например, openvpn) внутри исходного туннеля vpn, чтобы скрыть интернет-трафик от сервера vpn.

Или другое решение - настроить веб-прокси на виртуальной машине Centos и настроить веб-браузер для этого прокси. Таким образом, HTTP-трафик всегда будет исходить от клиента с целевым IP-адресом Centos, а затем он достигнет прокси. , который будет перенаправлять в интернет, однако это решение работает только для http трафика.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .