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.
quelle
Antworten:
Nun, ich habe geschummelt :) Ich habe das Astaro-Gateway installiert, das offiziell von Amazon unterstützt wird, und es dann verwendet, um mein eigenes zu modellieren. Sie können einfach SSH in die Astaro-Einheit und sehen, wie sie alles einrichten. Natürlich können Sie bei der Astaro-Einheit bleiben, wenn Sie dafür bezahlen möchten.
quelle
Herausgefunden. Musste meine ipsec-tools.conf dazu ändern:
Und ändere meine racoon.conf in folgende:
Diese Konfiguration leitet jedoch meines Wissens nur Verkehr zwischen 10.3.0.0/25 und 10.4.0.0/16 über den ersten Tunnel (über xxx121). Ich werde die Antwort aktualisieren, wenn ich das herausfinde.
quelle
Kennen Sie den Grund für die Verwendung von "require" anstelle von "use" für die Setkey-Konfiguration? Wissen Sie auch, ob es darauf ankommt, in welcher Reihenfolge ich die Anweisungen in den Abschnitten remote und sainfo platziere und bestimmte Anweisungen fälschlicherweise dupliziere? Zum Beispiel:
vs.
Haben Sie auch herausgefunden, wie der Verkehr in beiden Tunneln fließen kann?
Vielen Dank für jede Anleitung.
quelle