Ich versuche, eine IPSec-VPN-Verbindung zwischen unserem Unternehmensnetzwerk und der Virtual Private Cloud von Amazon mithilfe des VPN-Systems und eines Linux-Servers einzurichten. Leider wird in der einzigen Anleitung, die ich gefunden habe, erläutert, wie der Tunnel mit einem Host-Linux-Computer eingerichtet und dieser Linux-Computer für den Zugriff auf VPC-Instanzen eingerichtet wird. Es gibt jedoch keine Online-Diskussion darüber, wie die Instanz auf das Unternehmensnetzwerk zugreifen kann (oder der Rest des Internets über dieses Netzwerk).
Netzwerkinformationen
Local subnet: 10.3.0.0/25
Remote subnet: 10.4.0.0/16
Tunnel 1:
Outside IP Addresses:
- Customer Gateway: : 199.167.xxx.xxx
- VPN Gateway : 205.251.233.121
Inside IP Addresses
- Customer Gateway : 169.254.249.2/30
- VPN Gateway : 169.254.249.1/30
Tunnel 2:
Outside IP Addresses:
- Customer Gateway: : 199.167.xxx.xxx
- VPN Gateway : 205.251.233.122
Inside IP Addresses
- Customer Gateway : 169.254.249.6/30
- VPN Gateway : 169.254.249.5/30
Hier ist meine /etc/ipsec-tools.conf:
flush;
spdflush;
spdadd 169.254.249.2/30 169.254.249.1/30 any -P out ipsec
esp/tunnel/199.167.xxx.xxx-205.251.233.121/require;
spdadd 169.254.249.1/30 169.254.249.2/30 any -P in ipsec
esp/tunnel/205.251.233.121-199.167.xxx.xxx/require;
spdadd 169.254.249.6/30 169.254.249.5/30 any -P out ipsec
esp/tunnel/199.167.xxx.xxx-205.251.233.122/require;
spdadd 169.254.249.5/30 169.254.249.6/30 any -P in ipsec
esp/tunnel/205.251.233.122-199.167.xxx.xxx/require;
spdadd 169.254.249.2/30 10.4.0.0/16 any -P out ipsec
esp/tunnel/199.167.xxx.xxx-205.251.233.121/require;
spdadd 10.4.0.0/16 169.254.249.2/30 any -P in ipsec
esp/tunnel/205.251.233.121-199.167.xxx.xxx/require;
spdadd 169.254.249.6/30 10.4.0.0/16 any -P out ipsec
esp/tunnel/199.167.xxx.xxx-205.251.233.122/require;
spdadd 10.4.0.0/16 169.254.249.6/30 any -P in ipsec
esp/tunnel/205.251.233.122-199.167.xxx.xxx/require;
Hier ist meine /etc/racoon/racoon.conf:
remote 205.251.233.122 {
exchange_mode main;
lifetime time 28800 seconds;
proposal {
encryption_algorithm aes128;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
}
generate_policy off;
}
remote 205.251.233.121 {
exchange_mode main;
lifetime time 28800 seconds;
proposal {
encryption_algorithm aes128;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
}
generate_policy off;
}
sainfo address 169.254.249.2/30 any address 169.254.249.1/30 any {
pfs_group 2;
lifetime time 3600 seconds;
encryption_algorithm aes128;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}
sainfo address 169.254.249.6/30 any address 169.254.249.5/30 any {
pfs_group 2;
lifetime time 3600 seconds;
encryption_algorithm aes128;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}
BGP funktioniert einwandfrei, daher werde ich diese Konfigurationen nicht veröffentlichen.
Hier ist was funktioniert
- Über die Linux-Box kann ich die lokalen Endpunkte (169.254.249.2/169.254.249.6) und ihre Remote-Entsprechungen (169.254.249.1/169.254.249.5) anpingen.
- Ich kann ihnen auch die Instanzen in VPC, SSH usw. anpingen.
- Über die Remote-Instanzen in VPC kann ich auch die lokalen und Remote-Endpunkte anpingen
- Ich kann die lokalen Server im Subnetz 10.3.0.0/25 nicht anpingen
Ich gehe davon aus, dass mir etwas Einfaches fehlt, aber ich habe versucht, Einträge zu ipsec-tools.conf hinzuzufügen, um den {lokalen Endpunkt} <-> {entferntes Subnetz} mit {lokalem Subnetz} <-> {entferntem Endpunkt} zu spiegeln. aber es schien nicht zu funktionieren.
Wenn ich von {Remote-Instanz} zu {lokalem Server} pinge, tritt das Pings-Timeout auf. Die Pakete sind auf der eth0-Schnittstelle sichtbar (obwohl sich das lokale Netzwerk auf eth1 befindet).
Google war wenig Hilfe; Es werden nur Personen angezeigt, die versuchen, OpenSwan zu verwenden oder ähnliche Probleme haben, jedoch mit Hardware-Routern oder älteren Tools.