Как настроить VPN-туннель ssh -w между AWS VPC и Linode?
Я, вероятно, не собираюсь использовать это в долгосрочной перспективе, но я все еще хочу знать, почему это не работает.
Я установил простой ssh- туннель от моего экземпляра Linode до одного экземпляра AWS EC2 в моем VPC. У меня есть три запущенных экземпляра, у одного есть публичный IP (не эластичный IP, просто публичный IP). Моя команда ifup вызывает туннель, используя что-то вроде:
manual tun0
iface tun0 inet static
pre-up /usr/bin/ssh -i /root/.ssh/awsvpn -S /var/run/ssh-aws-vpn-control -NMfw 0:0 jump.aws.mydomain.org
pre-up sleep 5
address 192.168.11.2
pointopoint 192.168.11.1
broadcast 255.255.255.0
up route add -net 10.11.0.0 netmask 255.255.0.0 gw 192.168.11.2
post-down /usr/bin/ssh -i /root/.ssh/awsvpn -S /var/run/ssh-aws-vpn-control -O exit jump.aws.mydomain.org
... беги от Линоды до АуШу (jump.aws.mydomain.org
). IP-адреса разрешаются через /etc/hosts
,
После этого я вижу свой туннель с обеих сторон. Я могу пинговать к дальней стороне туннеля (192.168.11.) И к eth0 на противоположной стороне (10.11.0.xx на стороне AWS, 123.45.67. На стороне линода). (Примечание: все адреса были санированы здесь). я тоже могу ssh
через туннель с любой стороны.
Часть, которая НЕ работает, - это любая попытка добраться до двух других узлов в моем VPC через этот туннель. Я могу ping и ssh из jump.aws.* К любому из них (анод и bnode).
На системе прыжков я сделал:
net.ipv4.ip_forward = 1
... а также
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.0.0.0/8 0.0.0.0/0
... и на двух других узлах я установил это как маршрутизатор / шлюз по умолчанию:
## From anode:
root@anode:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.11.0.35 0.0.0.0 UG 0 0 0 eth0
10.11.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.11.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
На jump
таблица маршрутизации выглядит так:
## From jump:
root@ip-10-11-0-35:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.11.0.1 0.0.0.0 UG 0 0 0 eth0
10.11.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.11.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
... и, наконец, на Линоде это выглядит так:
## From linode
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 123.45.67.89 0.0.0.0 UG 0 0 0 eth0
10.11.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0
192.168.11.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
123.45.67.89 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Нет другого iptables
правила в настоящее время активны на любом из этих узлов. Единственные активные правила на jump
коробка в моем VPC. AWS SG разрешает весь трафик между узлами VPC (и я уже установил, что могу оттуда переходить на анод и бнод от прыжка и линоды оттуда.
Если я бегу tcpdump -n -v dst 10.11.0.39
(анод) на jump
(маршрутизатор NAT я пытаюсь настроить) и попробуйте ssh
от Linode до анода через него я вижу трафик, попадающий в прыжок / маршрутизатор. Я также вижу успешный трафик ARP. Но я не вижу никакого трафика, идущего к аноду, и при этом я не вижу никакого приема от tcpdump на самом аноде (кроме ssh
между прыжком и анодом).
В этом отношении NAT/Masquerading вообще не работает. Независимо от туннеля мой маршрут по умолчанию на аноде (и bnode) игнорируется.
Является ли это каким-то артефактом Amazon AWS VPC SDN (программно-определяемая сеть)? Как получается, что я могу настроить маршрут по умолчанию, чтобы он указывал на один из моих узлов... узел, на который я могу пропинговать и ssh... и мой трафик не направляется на этот узел?
(Все узлы AWS EC2 в этой конфигурации являются Debian Wheezy 7.1 AMI с исправлениями "shellshock"... и VPC находится в us-west-2 (Oregon)).
Что мне не хватает?
1 ответ
Походит на проблему маршрутизации, поскольку туннель работает и хорошо. Я сделал это, и это сработало... это больше не работает:-). Я еще не адаптировался к новому способу настройки устройств, или мой сервер просто заблокирован.
Часть маршрутизации должна быть в порядке.
Получите презентацию ssh здесь, у нее есть раздел по ssh VPN, со всей настройкой (iptables, маршрутизация и т. Д.) В одном блоке сценариев внутри.ssh / config: https://wiki.hackerspace.lu/wiki/SSH_-_Secure_Shell