Назад | Перейти на главную страницу

Проблема с маршрутизацией трафика openswan vpn за пределы сервера

Попытка настроить сервер на основе 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. Я не вижу упоминания об этом.