Попытка настроить сервер на основе openswan, расположенный в кластере Amazon VPC. Цель состоит в том, чтобы сделать так, чтобы мы могли использовать VPN в VPC, и чтобы наши рабочие станции работали так, как если бы они были в сети, в большей степени, чем конфигурация «дорожного воина».
Нашим предпочтительным VPN-клиентом является Equinux VPN Tracker (http://equinux.com/us/products/vpntracker/) для Mac OS X. Мы уже используем его для подключения к нашим существующим сетям через аппаратные VPN и надеялись просто продолжить использовать его для подключения к нашей сети VPC.
Пока что я настроил его так, чтобы я мог успешно подключиться к серверу openswan, работающему в VPC, однако я могу пинговать только внутренний IP-адрес сервера openswan. Я не могу разговаривать ни с чем в сети. Я могу запустить tcpdump и увидеть, как появляются запросы ping, но они никогда не попадают на другой хост.
Моя первая мысль заключалась в том, что это было связано с экземпляром EC2, имеющим только один сетевой интерфейс, однако я без проблем настраивал соединения OpenVPN раньше, хотя они обычно используют туннельное устройство, и я действительно не нашел примера openswan с туннелем или одним интерфейсом.
Любая помощь будет принята с благодарностью.
Некоторая конфигурация:
VPC Subnet: 10.10.1.0/24
VPC Gateweay: 10.10.1.1
Openswan Private IP: 10.10.1.11
Openswan Public IP: xxx.xxx.xxx.xxx
Конфигурация Openswan:
version 2.0
config setup
interfaces=%defaultroute
klipsdebug=none
plutodebug=none
dumpdir=/var/log
nat_traversal=yes
virtual_private=%v4:10.10.1.0/24
conn vpntracker-psk
left=%any
leftsubnet=vhost:%no,%priv
right=10.10.1.11
rightid=xxx.xxx.xxx.xxx
rightsubnet=10.10.1.0/24
rightnexthop=10.10.1.1
auto=add
authby=secret
dpddelay=40
dpdtimeout=130
dpdaction=clear
pfs=yes
forceencaps=yes
iptables / sysctl:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
вывод tcpdump:
09:13:25.346645 IP ROADWARRIOR_IP.4500 > ip-10-10-1-11.4500: UDP-encap: ESP(spi=0x38543e78,seq=0x6), length 116
09:13:25.346645 IP 10.200.0.30 > 10.10.1.251: ICMP echo request, id 21250, seq 0, length 64
09:13:25.346789 IP ip-10-10-1-11.4500 > ROADWARRIOR_IP.4500: UDP-encap: ESP(spi=0x07046a51,seq=0x6), length 148
09:13:26.506120 IP ROADWARRIOR_IP.4500 > ip-10-10-1-11.4500: UDP-encap: ESP(spi=0x38543e78,seq=0x7), length 116
09:13:26.506120 IP 10.200.0.30 > 10.10.1.251: ICMP echo request, id 21250, seq 1, length 64
09:13:26.506245 IP ip-10-10-1-11.4500 > ROADWARRIOR_IP.4500: UDP-encap: ESP(spi=0x07046a51,seq=0x7), length 148
09:13:27.332308 IP ROADWARRIOR_IP.4500 > ip-10-10-1-11.4500: UDP-encap: ESP(spi=0x38543e78,seq=0x8), length 116
09:13:27.332308 IP 10.200.0.30 > 10.10.1.251: ICMP echo request, id 21250, seq 2, length 64
09:13:27.332397 IP ip-10-10-1-11.4500 > ROADWARRIOR_IP.4500: UDP-encap: ESP(spi=0x07046a51,seq=0x8), length 148
вывод ping из OS X:
:~> ping 10.10.1.251
PING 10.10.1.251 (10.10.1.251): 56 data bytes
92 bytes from 10.10.1.11: Destination Host Unreachable
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 5400 6c64 0 0000 3f 01 f85a 10.200.0.30 10.10.1.251
Request timeout for icmp_seq 0
92 bytes from 10.10.1.11: Destination Host Unreachable
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 5400 1818 0 0000 3f 01 4ca7 10.200.0.30 10.10.1.251
Request timeout for icmp_seq 1
92 bytes from 10.10.1.11: Destination Host Unreachable
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 5400 1a09 0 0000 3f 01 4ab6 10.200.0.30 10.10.1.251
Request timeout for icmp_seq 2
Не уверен, что это поможет, но я нашел этот сайт действительно полезным.
http://fortycloud.com/setting-up-ipsecopenswan-in-amazon-ec2/
прокрутите вниз до раздела НАСТРОЙКА МАСКАРАДА.
Это помогло "удаленному" концу увидеть все хосты в моей локальной сети, а затем этот
http://www.howtogeek.com/howto/windows/adding-a-tcpip-route-to-the-windows-routing-table/
помогло с обратным.
Всегда обязательно отключайте проверку источника / назначения на вашем экземпляре Openswan. Я не вижу упоминания об этом.