networkmanager-strongswan vpn - Routing einer bestimmten IP über VPN

networkmanager-strongswan vpn - Routing einer bestimmten IP über VPN

Ich versuche, ein VPN unter Linux Mint 19.2 einzurichten.

Ich verwende dieNetzwerkmanager-Strongswanalso habe ich diese Datei mit dem Namen hinzugefügtVPNunter/etc/NetworkManager/system-connections/

[connection]
id=VPN
uuid=be1d4fd1-bbaa-4aa9-9fdc-e293bf16fe67
type=vpn
autoconnect=false
permissions=
timestamp=1582680217

[vpn]
address=vpn********.it
certificate=
encap=yes
ipcomp=no
method=eap
password-flags=0
proposal=no
user=user
virtual=yes
service-type=org.freedesktop.NetworkManager.strongswan

[vpn-secrets]
password=password

[ipv4]
dns-search=
ignore-auto-dns=true
ignore-auto-routes=true
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=ignore

Die Verbindung ist in Ordnung, ich kann per SSH auf das private Netzwerk zugreifen. Das große Problem ist, dass ich nach der Verbindung nicht im Internet surfen kann, da die Verbindung zum VPN alle anderen Adressen sperrt.
Ich habe das ignore-auto-routesFlag in der Konfiguration hinzugefügt, warum ist meine Verbindung also gesperrt?


IP-AdresseAusgabe*

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:3c:de:1b brd ff:ff:ff:ff:ff:ff
    inet yy.16.209.132/24 brd yy.16.209.255 scope global dynamic noprefixroute ens33
       valid_lft 1656sec preferred_lft 1656sec
    inet yy.26.199.18/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::216e:bcc0:3b4f:44b2/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Route -nAusgabe

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         yy.16.209.2    0.0.0.0         UG    20100  0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ens33
yy.16.209.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
yy.26.199.18   0.0.0.0         255.255.255.255 UH    50     0        0 ens33
yy.26.199.18   0.0.0.0         255.255.255.255 UH    100    0        0 ens33

IP-XFRM-RichtlinieAusgabeKEIN VPN

src yy.16.209.0/24 dst yy.16.209.0/24 
    dir fwd priority 175423 
src yy.16.209.0/24 dst yy.16.209.0/24 
    dir in priority 175423 
src yy.16.209.0/24 dst yy.16.209.0/24 
    dir out priority 175423 
src 169.254.0.0/16 dst 169.254.0.0/16 
    dir fwd priority 183615 
src 169.254.0.0/16 dst 169.254.0.0/16 
    dir in priority 183615 
src 169.254.0.0/16 dst 169.254.0.0/16 
    dir out priority 183615 
src fe80::/64 dst fe80::/64 
    dir fwd priority 134463 
src fe80::/64 dst fe80::/64 
    dir in priority 134463 
src fe80::/64 dst fe80::/64 
    dir out priority 134463 
src yy.26.199.18/32 dst 0.0.0.0/0 
    dir out priority 383615 
    tmpl src yy.16.209.132 dst xx.xx.124.58
        proto esp spi 0xc57cfb3f reqid 7 mode tunnel
src 0.0.0.0/0 dst yy.26.199.18/32 
    dir fwd priority 383615 
    tmpl src xx.xx.124.58 dst yy.16.209.132
        proto esp reqid 7 mode tunnel
src 0.0.0.0/0 dst yy.26.199.18/32 
    dir in priority 383615 
    tmpl src xx.xx.124.58 dst yy.16.209.132
        proto esp reqid 7 mode tunnel
src ::1/128 dst ::1/128 
    dir fwd priority 68927 
src ::1/128 dst ::1/128 
    dir in priority 68927 
src ::1/128 dst ::1/128 
    dir out priority 68927 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket in priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket out priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket in priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket out priority 0 
src ::/0 dst ::/0 
    socket in priority 0 
src ::/0 dst ::/0 
    socket out priority 0 
src ::/0 dst ::/0 
    socket in priority 0 
src ::/0 dst ::/0 
    socket out priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket in priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket out priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket in priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket out priority 0 
src ::/0 dst ::/0 
    socket in priority 0 
src ::/0 dst ::/0 
    socket out priority 0 
src ::/0 dst ::/0 
    socket in priority 0 
src ::/0 dst ::/0 
    socket out priority 0

IP-XFRM-RichtlinieAusgabeUNTER VPN

src yy.26.199.18/32 dst 0.0.0.0/0 
    dir out priority 383615 
    tmpl src yy.16.209.132 dst xx.xx.124.58
        proto esp spi 0xc787ea42 reqid 2 mode tunnel
src 0.0.0.0/0 dst yy.26.199.18/32 
    dir fwd priority 383615 
    tmpl src xx.xx.124.58 dst yy.16.209.132
        proto esp reqid 2 mode tunnel
src 0.0.0.0/0 dst yy.26.199.18/32 
    dir in priority 383615 
    tmpl src xx.xx.124.58 dst yy.16.209.132
        proto esp reqid 2 mode tunnel
src fe80::/64 dst fe80::/64 
    dir fwd priority 134463 
src fe80::/64 dst fe80::/64 
    dir in priority 134463 
src fe80::/64 dst fe80::/64 
    dir out priority 134463 
src ::1/128 dst ::1/128 
    dir fwd priority 68927 
src ::1/128 dst ::1/128 
    dir in priority 68927 
src ::1/128 dst ::1/128 
    dir out priority 68927 
src yy.16.209.0/24 dst yy.16.209.0/24 
    dir fwd priority 175423 
src yy.16.209.0/24 dst yy.16.209.0/24 
    dir in priority 175423 
src yy.16.209.0/24 dst yy.16.209.0/24 
    dir out priority 175423 
src 169.254.0.0/16 dst 169.254.0.0/16 
    dir fwd priority 183615 
src 169.254.0.0/16 dst 169.254.0.0/16 
    dir in priority 183615 
src 169.254.0.0/16 dst 169.254.0.0/16 
    dir out priority 183615 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket in priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket out priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket in priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket out priority 0 
src ::/0 dst ::/0 
    socket in priority 0 
src ::/0 dst ::/0 
    socket out priority 0 
src ::/0 dst ::/0 
    socket in priority 0 
src ::/0 dst ::/0 
    socket out priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket in priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket out priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket in priority 0 
src 0.0.0.0/0 dst 0.0.0.0/0 
    socket out priority 0 
src ::/0 dst ::/0 
    socket in priority 0 
src ::/0 dst ::/0 
    socket out priority 0 
src ::/0 dst ::/0 
    socket in priority 0 
src ::/0 dst ::/0 
    socket out priority 0

Beim Vergleichen der Ausgaben kann ich erkennen, dass dieser Teil hinzugefügt wird, während eine Verbindung zum VPN besteht:

src yy.26.199.18/32 dst 0.0.0.0/0 
    dir out priority 383615 
    tmpl src yy.16.209.132 dst xx.xx.124.58
        proto esp spi 0xc787ea42 reqid 2 mode tunnel
src 0.0.0.0/0 dst yy.26.199.18/32 
    dir fwd priority 383615 
    tmpl src xx.xx.124.58 dst yy.16.209.132
        proto esp reqid 2 mode tunnel
src 0.0.0.0/0 dst yy.26.199.18/32 
    dir in priority 383615 
    tmpl src xx.xx.124.58 dst yy.16.209.132
        proto esp reqid 2 mode tunnel

Ich habe vieles probiert, aber ohne Erfolg.

  • Metrichabe versucht, den Wert für yy.26.199.18 auf 1050 und 1100 zu erhöhen .
  • route del default&&ip route add default via yy.26.199.18 dev ens33
  • Habe versucht die Routeneinträge yy.26.199.18 zu löschen aber es ändert sich nichts

und jede Menge anderer Blödsinn.

Ich möchte meine Verbindung also für das „normale Internet“ nutzen und dabei bestimmte Adressen über VPN routen.
Ist das möglich?

Antwort1

Starker Schwanverwendet Policy-Routing, das über xfrmRichtlinien konfiguriert wird:

  1. Die Richtlinie gibt an, was mit Paketen von an dir outzu tun ist : Sie müssen verschlüsselt und durch den VPN-Tunnel gesendet werden.172.26.199.18/320.0.0.0/0
  2. Die dir inund dir fwd-Richtlinien geben an, was zu tun ist, wenn ein verschlüsseltes Paket eingeht. Wenn nach der Entschlüsselung ein Paket von 0.0.0.0/0nach 172.26.199.18/32nicht aus dem angegebenen Tunnel stammt, wird es verworfen. Klartextpakete unterliegen hiervon nicht.

Um die Nutzung des VPN-Netzwerks einzuschränken, haben Sie drei Lösungen:

  1. Die Netzwerke, die in diesen Regeln erscheinen, werden zwischen Ihrem IKE-Server und dem Remote-Server ausgehandelt. Das NetworkManager-Plugin schlägt immer einen Tunnel zwischen your_ip/32und vor 0.0.0.0/0. Wenn der Remote-Server und vorschlägt 0.0.0.0/0, 10.0.0.0/8lautet die resultierende Verbindung: zwischen your_ip/32und 10.0.0.0/8. Sie müssen also den Administrator des Remote-Endpunkts bitten, seinen IKE-Daemon richtig zu konfigurieren.
  2. Sie können auf die Verwendung von NetworkManager für den VPN-Tunnel verzichten, installierenCharon-systemdund erstellen Sie eine einfache Konfigurationsdatei (zB /etc/swanctl/conf.d/my_vpn.conf):

    connections {
        my_vpn {
            version = 2
            local_addrs=%any
            remote_addrs=vpn********.it
            local {
                auth = eap
                eap_id = your_username
            }
            remote {
                auth = pubkey
                id = server_name
            }
            children {
                my_tunnel {
                    #local_ts = dynamic
                    remote_ts = remote_network
                }
            }
        }
    }
    

    Laden Sie den Daemon ( systemctl reload strongswan-swanctl) neu und führen Sie Folgendes aus:

    swanctl --initiate --ike my_vpn --child my_tunnel
    
  3. Fügen Sie Ihre eigenen Richtlinien mit einem prioritykleineren Wert als dem automatisch installierten hinzu, der unverschlüsselten Datenverkehr zulässt, z. B.:

    ip xfrm policy add src your_ip/32 dst 192.0.2.0/24 \
        dir out priority 1000
    ip xfrm policy add src 192.0.2.0/24 dst your_ip/32 \
        dir in priority 1000
    

    Dadurch wird Klartextverkehr ermöglicht 192.0.2.0/24.

verwandte Informationen