
Mein physischer Computer kann einen IPsec-Tunnel (mit Strongswan) zu meinem über das Internet erreichbaren VPS herstellen, sodass der Internetverkehr meines physischen Computers über meinen VPS läuft.
Ich habe auch versucht, Strongswan in einer VM einzurichten, die auf meiner physischen Maschine läuft, und es ist mir gelungen. Wie erwartet kann meine VM über meinen VPS auf das Internet zugreifen.
Ich möchte Strongswan auf meinem physischen Computer laufen lassen, sodass der Datenverkehr aller meiner VMs (in 192.168.122.0/24) über meinen VPS läuft. Ich denke, dies sollte mit einer Site-to-Site-Konfiguration möglich sein (Beispiel hier:https://www.strongswan.org/testing/testresults/ikev2/net2net-cert/), aber ich habe es nicht zum Laufen gebracht. Ich bin nicht sicher, ob mein Problem an der Strongswan-Konfiguration oder an der Netzwerkkonfiguration meiner VM oder an beiden liegt ...
ipsec.conf auf meiner physischen Maschine:
config setup
charondebug="ike 2, cfg 2"
conn kvm-test
rightsubnet=0.0.0.0/0
keyexchange=ikev2
ike=aes256gcm128-sha512-modp8192!
esp=aes256gcm128-sha512-modp8192!
leftcert=client.pem
auto=add
right=123.123.123.123 # not my VPS's actual IP
rightcert=vpn_server.pem
leftsubnet=192.168.122.0/24
left=192.168.1.2
ipsec.conf auf meinem VPS:
config setup
# strictcrlpolicy=yes
# uniqueids = no
conn %default
keyexchange=ikev2
leftfirewall=yes
auto=add
leftsubnet=0.0.0.0/0
left=123.123.123.123 # not my VPS's actual IP
ike=aes256gcm128-sha512-modp8192!
esp=aes256gcm128-sha512-modp8192!
conn kvm-test
leftcert=vpn_server.pem
rightcert=client.pem
rightsubnet=192.168.122.0/24
Mit dieser Konfiguration wird die Verbindung erfolgreich hergestellt, der Datenverkehr meiner VM läuft jedoch nicht darüber. Ich muss anmerken, dass ip route show table 220
nichts angezeigt wird, was nicht mit dem oben verlinkten Beispiel übereinstimmt, und ich bin mir nicht sicher, was ich dort eingeben soll ... ip route add table 220 default via 123.123.123.123 proto static
funktioniert nicht. Irgendwelche Ideen?
Antwort1
Wenn Ihre Virtualisierungslösung den Datenverkehr von 192.168.122.0/24 per NAT an die physische IP-Adresse Ihres Hosts (192.168.1.2) weiterleitet, müssen Sie dies vermeiden und eine Regel hinzufügen, die Datenverkehr akzeptiert, der einer IPsec-Richtlinie entspricht. Zum Beispiel (mehr Details):
iptables -t nat -I POSTROUTING -s 192.168.122.0/24 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT