Я хочу настроить Windows Server 2012 и его клиенты VPN для Windows 7 и Windows 8 с помощью SSTP VPN, которая использует раздельное туннелирование и адресацию вне подсети, но у меня возникла проблема: сервер RRAS не будет отправлять пакеты в VPN. клиенты с любой машины кроме себя.
Мой VPN-сервер работает в виртуальном частном облаке Amazon, поэтому у него есть только одна сетевая карта с IP-адресом в частной сети RFC1918, совместно используемой со всеми моими другими серверами Amazon VPC, и общедоступный IP-адрес, который перенаправляет весь трафик на этот частный адрес. через NAT (Amazon называет это «эластичным IP»).
Я установил RRAS и настроил VPN. Частная подсеть на Amazon - 172.16.0.0/17 (это то, что я называю "Amazon LAN"), но я хочу, чтобы все VPN-клиенты использовали диапазон 10.128.0.0/20 (то, что я называю " VPN LAN »).
В панели управления Amazon я сделал следующее:
В MMC маршрутизации и удаленного доступа, в меню свойств для имени сервера, я сделал следующее:
На моем клиенте и на всех своих серверах я убедился, что ICMP явно разрешен в брандмауэре или что брандмауэр полностью отключен (конечно, это не постоянный план).
На клиенте, чтобы включить раздельное туннелирование, я зашел в свойствах VPN-подключения -> Сеть -> IPv4 -> Свойства -> Дополнительно -> вкладка IP Settings и снял флажок «Использовать шлюз по умолчанию в удаленной сети», и проверил "Отключить добавление маршрута на основе классов".
На этом этапе мои клиенты могут подключаться с помощью VPN-клиента Windows 7/8. Им назначается IP-адрес из пула 10.128.0.0/20, но, поскольку они не устанавливают никаких маршрутов автоматически, они не могут общаться с удаленной сетью. Я могу установить маршруты к удаленной сети и к сети VPN, например, (на клиенте):
route add 172.16.0.0/17 <VPN IP ADDRESS>
route add 10.128.0.0/20 <VPN IP ADDRESS>
Теперь клиент может пинговать адрес VPN LAN сервера VPN (10.128.0.1), а также его адрес Amazon LAN (172.16.1.32). Однако при попытке поговорить с другими машинами в локальной сети Amazon возникает проблема: ping-запросы не получают ответов.
Так, например, если клиент пытается проверить связь с системой, которая, как я знаю, работает, и отвечает на запросы типа 172.16.0.113, он не увидит эти ответы (там написано «Истекло время ожидания запроса»). Wireshark на сервере VPN подтверждает, что он видит эхо-запрос от клиента и даже видит ответ, отправленный с 172.16.0.113, но этот ответ, по-видимому, никогда не возвращается клиенту.
Кроме того, если я пингую адрес локальной сети VPN клиента с 172.16.0.113, Wireshark на сервере VPN видит этот запрос, но не видит ответа.
Итак, резюмируем:
Почему сервер VPN не отправляет пакеты из локальной сети Amazon своим клиентам в локальной сети VPN? Он определенно может разговаривать с клиентами в локальной сети VPN, маршрутизация включена, и он готов маршрутизировать пакеты из локальной сети VPN -> ЛВС Amazon, но не наоборот. Что мне здесь не хватает?
Вот таблицы маршрутизации от VPN-клиента. Клиент представляет собой виртуальную машину VirtualBox под управлением Windows 8. IP-адрес адаптера vbox - 10.0.2.15 на / 24. Этот клиент находится за NAT (на самом деле, он находится за двойным NAT, потому что адаптер vbox настроен NAT для моей локальной сети, а это NAT для Интернета). Эта таблица маршрутов взята из после вручную добавляя маршруты в 10.128.0.0/20 и 172.16.0.0/17.
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.0.2.2 10.0.2.15 10
10.0.2.0 255.255.255.0 On-link 10.0.2.15 266
10.0.2.15 255.255.255.255 On-link 10.0.2.15 266
10.0.2.255 255.255.255.255 On-link 10.0.2.15 266
10.128.0.0 255.255.240.0 On-link 10.128.0.3 15
10.128.0.3 255.255.255.255 On-link 10.128.0.3 266
10.128.15.255 255.255.255.255 On-link 10.128.0.3 266
54.213.67.179 255.255.255.255 10.0.2.2 10.0.2.15 11
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
172.16.0.0 255.255.128.0 On-link 10.128.0.3 15
172.16.127.255 255.255.255.255 On-link 10.128.0.3 266
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 10.0.2.15 266
224.0.0.0 240.0.0.0 On-link 10.128.0.3 266
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 10.0.2.15 266
255.255.255.255 255.255.255.255 On-link 10.128.0.3 266
===========================================================================
Persistent Routes:
None
Вот таблицы маршрутизации с сервера RRAS, на котором работает Windows Server 2012. Этот сервер также находится за NAT, как обсуждалось выше. У него только одна сетевая карта. Его частный IP-адрес - 172.16.1.32 на / 23 (который сам является частью более крупной сети / 17; я считаю, что справедливо игнорировать части / 17 за пределами / 23, поскольку другие машины на / 23 также недоступны или недоступны для клиентов VPN).
Виртуальный адаптер VPN имеет собственный адрес 10.128.0.1, который назначается автоматически при первом подключении клиента. Маршруты для 10.128.0.1 (к самому себе) и 10.128.0.2 (к его единственному клиенту), которые вы видите, также добавляются автоматически в это время. Маршруты не добавляются к VPN-серверу вручную.
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 172.16.0.1 172.16.1.32 10
10.128.0.1 255.255.255.255 On-link 10.128.0.1 286
10.128.0.2 255.255.255.255 10.128.0.2 10.128.0.1 31
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
169.254.169.250 255.255.255.255 172.16.0.1 172.16.1.32 10
169.254.169.251 255.255.255.255 172.16.0.1 172.16.1.32 10
169.254.169.254 255.255.255.255 172.16.0.1 172.16.1.32 10
172.16.0.0 255.255.254.0 On-link 172.16.1.32 11
172.16.1.32 255.255.255.255 On-link 172.16.1.32 266
172.16.1.255 255.255.255.255 On-link 172.16.1.32 266
172.16.2.0 255.255.254.0 172.168.0.1 172.16.1.32 11
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 172.16.1.32 266
224.0.0.0 240.0.0.0 On-link 10.128.0.1 286
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 172.16.1.32 266
255.255.255.255 255.255.255.255 On-link 10.128.0.1 286
===========================================================================
Persistent Routes:
None
Вот таблицы маршрутизации для другой машины в частной сети сервера, на которой также работает Server 2012. У нее есть одна сетевая карта с частным IP-адресом 172.16.1.177, что означает, что она находится на том же / 23, что и VPN-сервер. (Обратите внимание, что маршрут к 10.128.0.0/20 установлен на шлюзе, который контролируется Amazon, поэтому вы не увидите его здесь. Я добавил правильный маршрут к Amazon, о чем свидетельствует тот факт, что Wireshark на VPN-сервер видит пакеты.)
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 172.16.0.1 172.16.1.177 10
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
169.254.169.250 255.255.255.255 172.16.0.1 172.16.1.177 10
169.254.169.251 255.255.255.255 172.16.0.1 172.16.1.177 10
169.254.169.254 255.255.255.255 172.16.0.1 172.16.1.177 10
172.16.0.0 255.255.254.0 On-link 172.16.1.177 266
172.16.1.177 255.255.255.255 On-link 172.16.1.177 266
172.16.1.255 255.255.255.255 On-link 172.16.1.177 266
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 172.16.1.177 266
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 172.16.1.177 266
===========================================================================
Persistent Routes:
None
Вот маршруты в консоли Amazon. Я считаю, что это правильно - трафик является в конце концов, они возвращаются на VPN-сервер только для того, чтобы исчезнуть внутри него - но в случае, если кто-то захочет их увидеть, вот они. (Amazon ведет себя немного странно. eni-2f3e8244 / i-77e26440
относится к сетевой карте на сервере VPN, и igw-d4bc27bc
относится к управляемому Amazon интернет-шлюзу / NAT, который все мои экземпляры используют для связи с Интернетом.)
10.128.0.0/20 eni-2f3e8244 / i-77e26440
172.16.0.0/17 local
0.0.0.0/0 igw-d4bc27bc
Что, если вы добавите на свои серверы статический маршрут, сообщающий им, что для достижения 10.128.0.0/20 они должны пройти через LAN-адрес сервера VPN?
route add 10.128.0.0 mask 255.255.240.0 a.b.c.d
Замените a.b.c.d адресом локальной сети VPN-сервера.
Это как минимум исключит проблемы с маршрутизацией на Amazon.