redirecionamento de porta por meio de uma VPN

1

Eu gostaria de redirecionar meu tráfego de tcp para o IRC por meio de uma VPN.

Marcar os pacotes com iptables e criar uma nova rota para esses pacotes:

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/tun0/rp_filter

iptables -t mangle -A OUTPUT ! -d 192.168.0.0/16 -p tcp --dport 6667 -j MARK --set-mark 0x42

ip route add default dev tun0 src 10.5.82.5 table VPN
ip rule add fwmark 0x42 table VPN

A conexão VPN:

# ifconfig tun0
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet adr:10.5.82.5  P-t-P:10.5.82.6  Masque:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:2898 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3163 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:100 
          RX bytes:159644 (155.9 KiB)  TX bytes:257601 (251.5 KiB)

Os pacotes são redirecionados para tun0 na máquina local (a marcação iptables e a regra ip estão ok), mas nenhum pacote chega na interface tun0 da VPN.

Tem uma ideia?

Obrigado antecipadamente.

    
por Sanpi 19.12.2011 / 20:16

2 respostas

1

Se o seu tráfego de IRC tiver origem no mesmo host em que você criou as regras, talvez você esteja vendo o problema do endereço IP de origem "errado" nos pacotes de saída - verifique se o endereço de origem é 10.5.82.5 usando tcpdump -i tun0 -v -n . Se não estiver, basta anexar src 10.5.82.5 ao seu comando ip route add .

Se o tráfego tiver origem em outro lugar, considere uma regra de NAT: iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Além disso, sua rota deve ser via 10.5.82.6 (o endereço IP do gateway remoto) e não sua interface local. Embora deva funcionar em qualquer caso, uma vez que é uma interface P-t-P, não parece certo. Ao adicionar a rota via script, você pode simplesmente omitir o parâmetro "via" e usar apenas dev tun0 . Isso funciona com as interfaces P-t-P, pois não há ambiguidade sobre qual host entrar em contato no outro lado do link.

    
por 19.12.2011 / 22:41
0

Use a opção redirecionamento de gateway do OpenVPN para redirecionar automaticamente o gateway padrão para VPN, sem executar manualmente a rota e o iptables.

    
por 19.12.2011 / 22:20