Я только что настроил VPN-сервер PPTP в подсети AWS VPC. Однако я не могу подключиться к другим хостам в той же подсети (что и VPN-сервер). Я не уверен, упускаю ли я из виду общую конфигурацию сети, конфигурацию pptp / ppp или это что-то специально связанное с AWS, которое мне не хватает.
VPN-сервер настроен в подсети VPC 172.16.0.0/24 с привязанным к нему общедоступным EIP. После того, как я установил VPN-соединение от клиента, я могу пропинговать интерфейс 172.16 VPN-сервера, но не более того.
IP-адрес VPN-сервера: 172.16.0.235. IP-адрес VPN-клиента: 192.168.11.11 (с маршрутом 172.16.0.0/16 через интерфейс vpn)
vpnserver$ ping 172.16.0.200
64 bytes from 172.16.0.200
vpnclient$ ping 172.16.0.235
64 bytes from 172.16.0.235
vpnclient$ ping 172.16.0.200
timed out
На любом другом хосте в подсети 172.16.0.0/24 я никогда не получаю пакет эхо-запроса ICMP, хотя я вижу пакет на сервере vpn:
vpnserver$ tcpdump -nn icmp
13:53:07.714010 IP 192.168.11.11 > 172.16.0.200: ICMP echo request, id 1, seq 1, length 40
172-16-0-200$ tcpdump -nn icmp
<no packet>
Я проверил, что iptables - правил нет, а политика по умолчанию ACCEPT (для всех цепочек в таблицах filter и nat). Пересылка включена:
vpnserver$ cat /proc/sys/net/ipv4/ip_forward
1
vpnserver$ route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.0.1 0.0.0.0 UG 0 0 0 eth0
172.16.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.11.11 0.0.0.0 255.255.255.255 UH 0 0 0 pptp0
Я настроил группу безопасности AWS, в которой находятся и VPN-сервер, и тестовая цель (172.16.0.200), не имеющая ограничений (разрешающая весь трафик). Я настроил маршрут в таблице маршрутов VPC, используемой для 172.16.0.0/24, для маршрутизации через сервер vpn, который потребуется для эхо-ответа icmp без NAT, но эхо-запрос даже не достигает хоста.
Есть идеи относительно того, что я делаю неправильно? Что-то нужно в конфигурации ppp, чтобы разрешить маршрутизацию? Я не вижу ничего плохого в конфигурации сети, и мне интересно, может ли AWS что-то делать между vpnserver и другими хостами, которые блокируют пакеты? Или это проще?
AWS включал проверки источника / назначения, что блокировало трафик.
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck
Каждый экземпляр EC2 по умолчанию выполняет проверки источника / назначения. Это означает, что экземпляр должен быть источником или местом назначения любого отправляемого или получаемого трафика. Однако экземпляр NAT должен иметь возможность отправлять и получать трафик, когда источник или пункт назначения не сам. Следовательно, вы должны отключить проверки источника / назначения на экземпляре NAT.