O roteamento com base em diretivas não está funcionando corretamente

0

Eu tenho um openVPN conectado no meu computador Ubuntu, mas eu gostaria de ter um par de aplicações executadas através do meu roteador doméstico untunneled. Eles correm na porta 22 e 32400 (ssh e plex).

Então, fiz algumas pesquisas sobre como configurar o roteamento específico da política.

O problema é que, apesar dos meus melhores esforços, parece que tudo ainda é roteado através da VPN

Resumo do que eu fiz

Meu rp_filter está definido como 0. Modifiquei minha tabela mangle para adicionar uma marca aos pacotes com porta de destino 32400 e 22. Eu tenho uma regra para enviar os pacotes marcados para a tabela personalizada "notunnel" e a rota padrão para a tabela do notunnel é o gateway dos meus roteadores.

(Por favor, note que eu estou usando a porta 80 como uma porta de teste porque é mais fácil visualizar meu ip público através de um site do que para ssh em minha rede doméstica para testar a configuração).

Aqui estão as tabelas

user@host:~$ ip rule show
0:  from all lookup local 
32765:  from all fwmark 0x1 lookup notunnel 
32766:  from all lookup main 
32767:  from all lookup default

user@host:~$ ip route show table main
default via 10.158.1.5 dev tun0  proto static 
10.158.1.1 via 10.158.1.5 dev tun0  proto static 
10.158.1.5 dev tun0  proto kernel  scope link  src 10.158.1.6 
172.98.67.18 via 192.168.0.1 dev wlan0  proto static 
192.168.0.0/24 dev wlan0  proto kernel  scope link  src 192.168.0.10  metric 9

user@host:~$ ip route show table notunnel
default via 192.168.0.1 dev wlan0 

user@host:~$ sudo iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
CONNMARK   all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED CONNMARK restore
RETURN     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
CONNMARK   tcp  --  anywhere             anywhere             tcp dpt:http CONNMARK set 0x1
CONNMARK   tcp  --  anywhere             anywhere             tcp dpt:32400 CONNMARK set 0x1
CONNMARK   all  --  anywhere             anywhere             CONNMARK save
CONNMARK   tcp  --  anywhere             anywhere             tcp spt:32400 CONNMARK set 0x1
CONNMARK   tcp  --  anywhere             anywhere             tcp spt:http CONNMARK set 0x1

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Então, como sempre, qualquer conselho será recebido de braços abertos.

    
por Dude Random21 21.04.2016 / 03:55

0 respostas