Routing von IPsec-VPN für VM-Subnetz

Routing von IPsec-VPN für VM-Subnetz

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 220nichts 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 staticfunktioniert 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

verwandte Informationen