No momento, estou tentando rotear todo o tráfego de entrada e saída de rede para / de aplicativos que estão ouvindo em um túnel do OpenVPN tun1 através do dito túnel.
Aqui estão os meus dispositivos: tun0
é um servidor OpenVPN em execução na máquina que fornece acesso à rede local da máquina para máquinas remotas. tun1
é um cliente OpenVPN para um servidor remoto.
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1c:c0:d7:98:1c
inet addr:192.168.178.9 Bcast:192.168.178.255 Mask:255.255.255.0
inet6 addr: fe80::21c:c0ff:fed7:981c/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:103987444 errors:0 dropped:0 overruns:0 frame:0
TX packets:161412265 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:583178850 (556.1 MiB) TX bytes:1006632339 (959.9 MiB)
Interrupt:43 Base address:0x8000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:505197 errors:0 dropped:0 overruns:0 frame:0
TX packets:505197 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:91836367 (87.5 MiB) TX bytes:91836367 (87.5 MiB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.9.8.1 P-t-P:10.9.8.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:272 (272.0 B) TX bytes:960 (960.0 B)
tun1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.10 P-t-P:10.8.0.9 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:588 (588.0 B) TX bytes:588 (588.0 B)
Aqui estão as rotas atualmente ativas:
# ip route show table main
default via 192.168.178.1 dev eth0
10.8.0.1 via 10.8.0.9 dev tun1
10.8.0.9 dev tun1 proto kernel scope link src 10.8.0.10
10.9.8.0/24 via 10.9.8.2 dev tun0
10.9.8.2 dev tun0 proto kernel scope link src 10.9.8.1
192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.178.9
Após algumas pesquisas, descobri que precisava usar o "roteamento de políticas" para direcionar todo o tráfego no tun1 por meio de outro gateway (10.8.0.1). Então eu criei uma nova tabela "tun1" e tentei configurá-la.
# echo "1 tun1tbl" >> /etc/iproute2/rt_tables
# ip route add 10.8.0.0/24 dev tun1 src 10.8.0.10 table tun1tbl
# ip route add default via 10.8.0.1 dev tun1 table tun1tbl
RTNETLINK answers: No such process
Por que não consigo definir a rota padrão para este dispositivo / tabela?
- edit: Acabei de encontrar outra solução potencial, usando apenas route
, mas falha com um erro semelhante:
# route add default gw 10.8.0.1 dev tun1
SIOCADDRT: No such process