Múltiplas interfaces e gateway padrão

0

Estou tentando obter minha tabela de roteamento para rotear todo o tráfego de saída através do tun1, mas ainda ter acesso ao servidor via openvpn (tun0). A primeira coisa que eu tentei foi rotear 0.0.0.0/0 como gateway padrão, mas isso (obviamente) quebrará o ping / vpn etc no eth0. A próxima coisa que eu tentei foi criar uma própria tabela de rotas para a eth0:

regra ip:

32764:  from all to (PUBLIC EXTERNAL IP) lookup eth0
32765:  from (PUBLIC EXTERNAL IP) lookup eth0
32766:  from all lookup main
32767:  from all lookup default

ip route mostrar tabela eth0:

default via (GW .1) dev eth0
(EXTERNAL PUBLIC IP)/24 dev eth0  scope link  src (EXTERNAL PUBLIC IP)

que foi um sucesso. Agora posso fazer ping / login via vpn etc através de eth0 sem uma rota padrão passando por eth0.

Sem um gateway padrão, tive que adicionar meu provedor tun1 manualmente.

regra ip:

32757:  from all to 80.67.8.220 lookup eth0
32758:  from 80.67.8.220 lookup eth0

Até aí tudo bem, eu posso conectar com o vpn (tun1 aparece como uma interface etc). Que executa este script de roteamento uma vez conectado:

ip route flush table tun1
ip route add default via $route_vpn_gateway dev $dev table tun1
ip rule add from $ifconfig_local/32 table tun1
ip rule add to $ifconfig_local/32 table tun1
ip route flush cache

Eu posso pingar o provedor através do ip virtual, mas se eu adicionar 0.0.0.0/0 via tun1 e tentar pingar google.com, o tempo limite de ping.

rota ip:

0.0.0.0/0 via IP RECEIVED FROM PROVIDER dev tun1
10.254.254.0/24 via 10.254.254.2 dev tun0
10.254.254.2 dev tun0  proto kernel  scope link  src 10.254.254.1
(PUBLIC EXTERNAL IP)/24 dev eth0  proto kernel  scope link  src (PUBLIC EXTERNAL IP)

cat / etc / iproute2 / rt_tables:

23      tun1
40      eth0
    
por Niclas Larsson 15.12.2017 / 18:13

0 respostas