Enrute eth0 a tun0 (OpenVPN) y no afecte a wlan0

Enrute eth0 a tun0 (OpenVPN) y no afecte a wlan0

Actualmente tengo una Raspberry Pi Model B+ v1.2 (y planeo adquirir la Raspberry Pi 4 después de solucionar estos problemas). Tengo la interfaz de red eth0 conectada a mi enrutador a través de un cable Ethernet y tengo wlan0 conectado al mismo enrutador a través de Wi-Fi.

Estoy planeando usar esta Raspberry Pi como un seedbox donde quiero que todo el tráfico de qBittorrent-nox pase por la interfaz eth0 que pasará por mi OpenVPN, y luego quiero dejar la interfaz wlan0 no afectada por la VPN, así que Pude acceder a la WebUI de qBittorrent-nox desde mi dirección pública sin IP con mi puerto abierto. (Nota: Mi VPN no permite el reenvío de puertos)

He visto muchas publicaciones que hablan sobre el enrutamiento de tablas IP, pero no entendí muy bien cómo implementarlo para lo que quiero.

Ejecuté el comando "ip route show" y a continuación se muestra el resultado:

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

A continuación se muestra el resultado de mi comando "ifconfig":

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

Se agradece cualquier ayuda. ¡Gracias de antemano!

Respuesta1

Quieres diferentes rutas para diferentes programas (qBittorrent-box frente al resto).

La forma más sencilla de hacer esto es crear un espacio de nombres de red (hay muchas preguntas en este sitio que explican cómo hacerlo) y acceder eth0a él si no necesita eth0nada más, o conectarlo a la red principal. espacio de nombres de red a través de un par veth y luego use el enrutamiento de políticas (google) para enrutar cualquier cosa que salga del extremo del par veth a eth0.

No lo utilice iptablespara enrutar. Es una de mis cosas que me molestan. Utilice las tablas de enrutamiento para el enrutamiento. Para eso están.

información relacionada