Leiten Sie eth0 an tun0 weiter (OpenVPN) und lassen Sie wlan0 unberührt

Leiten Sie eth0 an tun0 weiter (OpenVPN) und lassen Sie wlan0 unberührt

Ich habe derzeit ein Raspberry Pi Modell B+ v1.2 (und ich plane, mir das Raspberry Pi 4 zuzulegen, nachdem ich diese Probleme gelöst habe). Ich habe die Netzwerkschnittstelle eth0 über ein Ethernet-Kabel mit meinem Router verbunden und wlan0 über WLAN mit demselben Router verbunden.

Ich plane, diesen Raspberry Pi als Seedbox zu verwenden, wobei der gesamte Datenverkehr von qBittorrent-nox über die eth0-Schnittstelle laufen soll, die wiederum über mein OpenVPN läuft. Die wlan0-Schnittstelle soll vom VPN unberührt bleiben, sodass ich über meine öffentliche No-IP-Adresse mit meinem offenen Port auf die qBittorrent-nox-WebUI zugreifen kann. (Hinweis: Mein VPN erlaubt keine Portweiterleitung.)

Ich habe viele Beiträge zum Thema IP-Tabellenrouting gesehen, aber ich habe nicht ganz verstanden, wie ich es für meine Zwecke implementieren kann.

Ich habe den Befehl „ip route show“ ausgeführt und unten ist das Ergebnis:

0.0.0.0/1 via 10.28.10.5 dev tun0
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.26 metric 202
default via 192.168.1.1 dev wlan0 proto dhcp src 192.168.1.27 metric 303
10.28.10.1 via 10.28.10.5 dev tun0
10.28.10.5 dev tun0 proto kernel scope link src 10.28.10.6
103.231.91.74 via 192.168.1.1 dev eth0
128.0.0.0/1 via 10.28.10.5 dev tun0
192.168.1.0/24 dev eth0 proto dhcp scope link src 192.168.1.26 metric 202
192.168.1.0/24 dev wlan0 proto dhcp scope link src 192.168.1.27 metric 303

Unten sehen Sie das Ergebnis meines „ifconfig“-Befehls:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.26  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::f96:bfff:cd6d:d1d6  prefixlen 64  scopeid 0x20<link>
        inet6 2404:4408:23f4:5500:c127:7182:abfb:5e26  prefixlen 64  scopeid 0x0<global>
        ether b8:27:eb:61:19:70  txqueuelen 1000  (Ethernet)
        RX packets 911757  bytes 1126311222 (1.0 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 449193  bytes 64017695 (61.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

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 123  bytes 12608 (12.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 123  bytes 12608 (12.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.28.10.6  netmask 255.255.255.255  destination 10.28.10.5
        inet6 fe80::c6ba:27ae:2226:dfa2  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)
        RX packets 467058  bytes 552751583 (527.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 253762  bytes 16534884 (15.7 MiB)
        TX errors 0  dropped 102112 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.27  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::65b8:5d35:c9e6:b85f  prefixlen 64  scopeid 0x20<link>
        inet6 2404:4408:23f4:5500:cfd3:d82:7d0b:93ce  prefixlen 64  scopeid 0x0<global>
        ether 00:c0:ca:84:7d:51  txqueuelen 1000  (Ethernet)
        RX packets 22208  bytes 23412831 (22.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 364  bytes 43145 (42.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Jede Hilfe ist willkommen. Vielen Dank im Voraus!

Antwort1

Sie möchten unterschiedliche Routen für unterschiedliche Programme (qBittorrent-Box vs. der Rest).

Die einfachste Möglichkeit hierfür besteht darin, einen Netzwerk-Namespace zu erstellen (auf dieser Site gibt es zahlreiche Fragen, die dies erklären) und entweder eth0dorthin zu wechseln, wenn Sie ihn nicht eth0für etwas anderes benötigen, oder ihn über ein Veth-Paar mit dem Haupt-Netzwerk-Namespace zu verbinden und dann Policy-Routing (Google) zu verwenden, um alles, was vom Ende des Veth-Paars kommt, an weiterzuleiten eth0.

Bitte nicht iptableszum Routing verwenden. Das ist mir ein Dorn im Auge. Verwenden Sie die Routingtabellen zum Routing. Dafür sind sie da.

verwandte Informationen