Roteie eth0 para tun0 (OpenVPN) e deixe wlan0 inalterado

Roteie eth0 para tun0 (OpenVPN) e deixe wlan0 inalterado

Atualmente tenho um Raspberry Pi Modelo B + v1.2 (e estou planejando adquirir o Raspberry Pi 4 depois de resolver esses problemas). Tenho a interface de rede eth0 conectada ao meu roteador por meio de um cabo Ethernet e tenho o wlan0 conectado ao mesmo roteador por meio de Wi-Fi.

Estou planejando usar este Raspberry Pi como uma seedbox onde quero que todo o tráfego do qBittorrent-nox passe pela interface eth0 que passará pelo meu OpenVPN, e então quero deixar a interface wlan0 não afetada pela VPN, então estou capaz de acessar o WebUI qBittorrent-nox do meu endereço no-ip público com minha porta aberta. (Observação: minha VPN não permite encaminhamento de porta)

Tenho visto muitos posts falando sobre roteamento de tabelas IP mas não entendi muito bem como implementá-lo para o que desejo.

Executei o comando "ip route show" e abaixo está o 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

Abaixo está o resultado do meu 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

Qualquer ajuda é apreciada. Desde já, obrigado!

Responder1

Você deseja rotas diferentes para programas diferentes (qBittorrent-box versus o resto).

A maneira mais simples de fazer isso é criar um namespace de rede (há muitas perguntas neste site que explicam como fazer isso) e mudar eth0para ele se não precisar eth0de mais nada ou conectá-lo ao principal namespace de rede por meio de um par veth e, em seguida, use o roteamento de política (google) para rotear qualquer coisa que saia do par veth para eth0.

Por favor, não use iptablespara roteamento. É uma implicância minha. Use as tabelas de roteamento para roteamento. É para isso que eles servem.

informação relacionada