Ich habe eine Ubuntu Bionic-Maschine mit einer WLAN-Verbindung und habe darauf einen Wireguard-Tunnel eingerichtet:
# ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 5502 bytes 545376 (545.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5502 bytes 545376 (545.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wg0: flags=209<UP,POINTOPOINT,RUNNING,NOARP> mtu 1420
inet 10.0.0.3 netmask 255.255.0.0 destination 10.0.0.3
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
RX packets 22980 bytes 2777236 (2.7 MB)
RX errors 75 dropped 0 overruns 0 frame 75
TX packets 23467 bytes 12255956 (12.2 MB)
TX errors 0 dropped 362 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.218 netmask 255.255.0.0 broadcast 192.168.255.255
ether dc:85:de:f3:3f:65 txqueuelen 1000 (Ethernet)
RX packets 103227 bytes 54970550 (54.9 MB)
RX errors 0 dropped 103695 overruns 0 frame 0
TX packets 41654 bytes 15633577 (15.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Ich habe zuvor den gesamten Datenverkehr durch den Wireguard-Tunnel umgeleitet, aber jetzt habe ich das umgekehrt, damit der Peer den Datenverkehr über diesen Host weiterleiten kann. Es scheint jedoch, als ob meine Pakete aus irgendeinem Grund immer noch durch den Tunnel geleitet werden möchten.
Hier ist meine Routing-Tabelle:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wlan0
10.0.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wg0
192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
192.168.1.1 0.0.0.0 255.255.255.255 UH 600 0 0 wlan0
192.168.100.1 192.168.1.1 255.255.255.255 UGH 0 0 0 wlan0
Wenn ich versuche, eine externe Adresse anzupingen oder zu curlen, bleibt sie immer hängen. Traceroute zeigt, dass versucht wird, Pakete durch den Tunnel zu leiten (der Peer ist derzeit so konfiguriert, dass er sie verwirft):
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 10.0.0.1 (10.0.0.1) 68.393 ms 74.587 ms 74.328 ms^C
Wenn Sie traceroute 8.8.8.8 -i wlan0
Traceroute jedoch zwingen, wlan0 zu verwenden, wie es die Routing-Tabelle oben vorschreiben sollte, funktioniert es.
Was könnte los sein? Steht in der Routing-Tabelle nicht, dass Pakete, die auf 8.8.8.8 abzielen, zur Weiterleitung über wlan0 an 192.168.1.1 gesendet werden müssen?
(Falls es wichtig ist, meine einzigen iptables sind jetzt -A FORWARD -i wg0 -j ACCEPT
und -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
)
Antwort1
Es scheint, dass Routen zu einer anderen Tabelle hinzugefügt werden, die nicht mit oder wg-quick up
angezeigt wird . Wenn Sie ausführen , können Sie es sehen. In diesem Fall befand es sich in einer Tabelle namens und hatte Vorrang vor der Standardtabelle.route -n
ip route show
ip route show table all
51820