Arch Linux VPN + L2TP: Verbindung hergestellt, Internet funktioniert, aber kein Zugriff auf das interne Netzwerk

Arch Linux VPN + L2TP: Verbindung hergestellt, Internet funktioniert, aber kein Zugriff auf das interne Netzwerk

Ich habe VPN konfiguriert gemäßDasAnleitung (ich habe Linux), alles ist in Ordnung, die Verbindung wird hergestellt, die IP-Adresse ändert sich von meiner auf die USA, aber die Ressourcen, die per VPN verfügbar sein sollten, sind immer noch nicht verfügbar.

Einrichten derselben Verbindung gemäß denselben Anweisungen, aber nur für Windows 10 – alles funktioniert und Ressourcen sind verfügbar. Unter Linux läuft der Datenverkehr zu diesen Ressourcen nicht über den VPN-Server, aber ich konnte immer noch nicht herausfinden, wie ich das beheben kann, da ich darin nicht so gut bin. Meine Systeminformationen:

$ cat /etc/*release
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux

Ich gehe davon aus, dass der Datenverkehr den VPN-Server umgeht und über das Standard-Gateway läuft.

Hier ist, was nslookup zeigt

$nslookup confluence.internal.mycompany.com
Server:    8.8.8.8
Address:  8.8.8.8#53

Ich denke, es macht Sinn, es zu versuchenRoutenplanung, aber ich kenne mich mit Netzwerkadministration nicht so gut aus und weiß nicht, wie ich die richtige Teilmengenadresse bestimme. Zum Beispiel aaa.internal.mycompany.com, bbb.internal.mycompany.com, ccc.internal.mycompany.com usw. Ich möchte den Verkehr über das VPN an aaa, bbb, ccc weiterleiten. Wie mache ich das?

Hier sind auch TCPdump-Informationen, die hilfreich sein könnten:

13:57:39.163855 IP 172.16.203.173.41032 > 8.8.8.8.53: 44676+ A? confluence.internal.mycompnay.com. (50)

00:06:11.353064 IP 172.16.203.173.39547 > 8.8.4.4.53: 13730+ A? confluence.internal.mycompany.com. (50)
00:06:11.484299 IP 172.217.1.46.443 > 172.16.203.173.35770: Flags [P.], seq 1:40, ack 39, win 269, options [nop,nop,TS val 1580986377 ecr 1105408237], length 39
00:06:11.484400 IP 172.16.203.173.35770 > 172.217.1.46.443: Flags [.], ack 40, win 502, options [nop,nop,TS val 1105408387 ecr 1580986377], length 0
00:06:11.525396 IP 8.8.4.4.53 > 172.16.203.173.39547: 13730 NXDomain 0/1/0 (113)
00:06:11.525562 IP 172.16.203.173.39547 > 8.8.4.4.53: 32697+ AAAA? confluence.internal.mycompany.com. (50)
00:06:11.697698 IP 8.8.4.4.53 > 172.16.203.173.39547: 32697 NXDomain 0/1/0 (113)
00:06:11.698212 IP 172.16.203.173.48215 > 8.8.8.8.53: 13821+ A? confluence.internal.mycompany.com. (50)
00:06:11.698276 IP 172.16.203.173.48215 > 8.8.8.8.53: 19952+ AAAA? confluence.internal.mycompany.com. (50)
00:06:11.859694 IP 8.8.8.8.53 > 172.16.203.173.48215: 13821 NXDomain 0/1/0 (113)
00:06:11.872141 IP 8.8.8.8.53 > 172.16.203.173.48215: 19952 NXDomain 0/1/0 (113)
00:06:11.873004 IP 172.16.203.173.49336 > 8.8.8.8.53: 36616+ A? confluence.internal.mycompany.com. (50)
00:06:12.034300 IP 8.8.8.8.53 > 172.16.203.173.49336: 36616 NXDomain 0/1/0 (113)
00:06:12.034472 IP 172.16.203.173.49336 > 8.8.8.8.53: 34317+ AAAA? confluence.internal.mycompany.com. (50)
00:06:12.195798 IP 172.16.203.173.33819 > 8.8.8.8.53: 61396+ A? translate.google.com. (38)
00:06:12.197393 IP 172.16.203.173.49098 > 216.58.192.206.443: Flags [P.], seq 2343637690:2343638004, ack 443265426, win 11148, options [nop,nop,TS val 2103047503 ecr 1587334695], length 314
00:06:12.209082 IP 8.8.8.8.53 > 172.16.203.173.49336: 34317 NXDomain 0/1/0 (113)
00:06:12.209542 IP 172.16.203.173.54539 > 8.8.8.8.53: 62574+ A? confluence.internal.mycompany.com. (50)
00:06:12.209658 IP 172.16.203.173.54539 > 8.8.8.8.53: 56421+ AAAA? confluence.internal.mycompany.com. (50)
00:06:12.334328 IP 172.16.203.173.56738 > 172.217.6.2.443: Flags [P.], seq 1835541891:1835541930, ack 3334813663, win 502, options [nop,nop,TS val 324800469 ecr 1444482233], length 39
00:06:12.334456 IP 172.16.203.173.56978 > 216.58.192.130.443: Flags [P.], seq 712232265:712232304, ack 2284899148, win 502, options [nop,nop,TS val 1560658341 ecr 3970133710], length 39
00:06:12.334525 IP 172.16.203.173.56994 > 172.217.4.37.443: Flags [P.], seq 175676537:175676576, ack 336787689, win 24353, options [nop,nop,TS val 525175697 ecr 3037756038], length 39
00:06:12.334592 IP 172.16.203.173.45234 > 172.217.8.195.443: Flags [P.], seq 840900759:840900798, ack 624615808, win 1323, options [nop,nop,TS val 2439520764 ecr 528658266], length 39
00:06:12.348814 IP 216.58.192.206.443 > 172.16.203.173.49098: Flags [.], ack 314, win 1050, options [nop,nop,TS val 1587377915 ecr 2103047503], length 0
00:06:12.358256 IP 8.8.8.8.53 > 172.16.203.173.33819: 61396 2/0/0 CNAME www3.l.google.com., A 216.58.192.206 (75)
00:06:12.358483 IP 172.16.203.173.39682 > 8.8.8.8.53: 10206+ AAAA? translate.google.com. (38)
00:06:12.370884 IP 8.8.8.8.53 > 172.16.203.173.54539: 56421 NXDomain 0/1/0 (113)
00:06:12.382054 IP 8.8.8.8.53 > 172.16.203.173.54539: 62574 NXDomain 0/1/0 (113)

Habe ich Recht, dass das nicht korrekt ist? Der Datenverkehr sollte doch nicht über das DNS von Google laufen, oder?

Folgendes gilt netstat -rbei ausgeschaltetem VPN:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlp2s0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp2s0

mit VPN an:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     500    0        0 ppp0
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlp2s0
192.0.2.1       0.0.0.0         255.255.255.255 UH    500    0        0 ppp0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp2s0
192.168.0.1     0.0.0.0         255.255.255.255 UH    600    0        0 wlp2s0
208.100.17.99   192.168.0.1     255.255.255.255 UGH   600    0        0 wlp2s0

Ich habe es versuchtDasaber fehlgeschlagen: Ich habe die Internetverbindung verloren

Hier sind meine VPN-Einstellungen im Netzwerkmanager:

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Wie kann ich das Problem beheben?

Antwort1

Ich möchte den Datenverkehr über das VPN an aaa, bbb und ccc weiterleiten. Wie geht das?

Ich gehe davon aus, dass es sich hier um lokale Adressen handelt (wie Sie im Titel behaupten), z. B. 192.168.0.2. Pakete an diese Adresse gehen nicht durch die Tunnelschnittstelle, da Sie eine spezifischere Route haben als die Standardroute, die auf Folgendes verweist wlp2s0:

192.168.0.1     0.0.0.0         255.255.255.255 UH    600    0        0 wlp2s0

Beim statischen Routing „gewinnen“ immer die spezifischeren Routen. Um dieses Problem zu lösen, können Sie Folgendes tun:

  1. Löschen Sie die aktuelle Route mitip route delete 192.168.0.1
  2. Fügen Sie diesem Präfix (das die Hosts aaa, bbb und cc adressiert) eine neue Route hinzu, wobei die Schnittstelle ( dev) auf die Tunnelschnittstelle zeigt. Beispiel: ip route add 192.168.0.1/24 via $IP_OF_TUNNELGATEWAY dev ppp0

Antwort2

Endlich habe ich mein Problem gelöst. Es ist eine lange Geschichte. Die Grundursache ist die falsche DNS-Konfiguration, wodurch interne (hinter dem VPN-Server liegende) Adressen nicht richtig aufgelöst werden konnten. Eine Vermutung, warum das passiert ist, ist die folgende. Jedes Mal, wenn ich mich mit VPN verbinde, passiert die folgende Ereigniskette:

  1. -> Netzwerkmanager

    ->starker Schwanppp0

    -> dhclient ppp0 (172.16.203.173, 192.0.2.1, dns1=xyz11, dns2=xyz12) -> resolvconf

    ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc fq_codel Status UNBEKANNT Gruppe Standard qlen 3 Link/ppp inet 172.16.203.173 Peer 192.0.2.1/32 Bereich global ppp0 valid_lft für immer preferred_lft für immer

    -> dns1=xyz11, dns2=xyz12 zu /etc/resolv.conf

DNS-Adressen wurden aus der VPN-Verbindungskonfiguration übernommen (siehe Screenshot oben).

  1. Der Routing-Tabelle wurde eine neue Route default via ppp0 metric 500hinzugefügt. Ihre Priorität ist niedriger als die Standardpriorität von enp3s0, 0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 enp3s0daher fließt kein Datenverkehr über ppp0.erste Ausgabe

  2. /etc/resolv.conf, das DNS1 und DNS2 enthält, wird irgendwann vom Netzwerkmanager durch die Standard-Google-DNS 8.8.8.8 und 8.8.4.4 überschrieben.zweite Ausgabe

Um das zweite Problem zu beheben, installierte ichDNS-MASQdas als Proxy dient und DNS selbst verwaltet. Ich musste es deinstallieren, pacman -R openresolv netctlwas sich änderte /etc/resolv.conf, und jetzt enthält es die einzige Adresse von dnsmasq:

# Generated by NetworkManager
search internal.mycompany.com
nameserver 127.0.0.1
options edns0 trust-ad

um zu sagen, dass der Netzwerkmanager DNSMarq verwendet, habe ich außerdem diese Zeile hinzugefügt /etc/NetworkManager/conf.d/dns.conf:

[main]
dns=dnsmasq

Um das erste Problem im NetworkManager zu beheben, habe ich eine spezifischere Route hinzugefügt, die eine höhere Priorität hat als die Standardroute enp3s0:

10.Y.X.Z    192.0.2.1       255.255.255.255 UGH   500    0        0 ppp0

Das ist alles. Der gesamte Datenverkehr zu internen Ressourcen fließt über das VPN, der restliche Datenverkehr fließt wie zuvor.

Außerdem habe ich das Überschreiben von /etc/resolve.conf abgelehnt

chattr +i /etc/resolv.conf ((to protect the file from write))

chattr -i /etc/resolv.conf ((zum Aufheben des Schutzes, Standardmodus)) - zum Zurücksetzen

Hoffe, es ist für jemanden hilfreich.

verwandte Informationen