Como contornar a conexão VPN?

2

Meu roteador (192.168.1.1) conectado à internet via PPPoE. O servidor (192.168.1.20) tem o cliente OpenVPN instalado e todos os outros computadores obtêm 192.168.1.20 do DHCP como gateway padrão. Meu telefone IP não precisa de VPN, é por isso que eu configurei seu gateway padrão para 192.168.1.1 manualmente. Isso funciona perfeito.
Posso fazer algo semelhante com o servidor para fazer a transmissão instalada nele para baixar torrents através do 192.168.1.1? Eu não estou familiarizado com iptables (eu apenas copiar e colar regras para configurar o NAT no servidor para compartilhar a conexão VPN). Para simplificar: como posso adicionar a regra iptables para encaminhar todos os pacotes não transitados do servidor para 192.168.1.1 em vez de usar a conexão VPN? Obrigado antecipadamente!

    
por silentfobos 01.08.2016 / 06:23

2 respostas

2

Eu passei algumas horas e finalmente encontrei a solução. Não tão nite como aconselhado antes, mas ainda trabalhando.

route del -net 0.0.0.0 netmask 128.0.0.0 dev tun0

Estou apenas excluindo a rota do gateway padrão criada pelo cliente openvpn. Então, todo o tráfego da máquina vai para 192.168.1.1 exatamente como eu precisava.
Mas orvalho para NAT mascarar outros dispositivos na minha rede permanece além da VPN.
Eu adicionei esta string ao /etc/rc.local

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
    
por silentfobos 01.08.2016 / 14:55
1

Uma maneira simples de fazer isso é usar um usuário separado para rodar o cliente torrent, então usar o iptables simplesmente marcar os pacotes e rotea-los apropriadamente.

iptables -t mangle -A OUTPUT -m owner --uid-owner custom_user -j MARK --set-mark 11

Depois de ter feito isso, você precisará rotear os pacotes com essa marca ao longo do seu gateway não encapsulado:

ip rule add fwmark 11 table 11
ip route add 0.0.0.0/0 table 11 dev whatever_dev_here

Substitua whatever_dev_here pelo nome do dispositivo da sua conexão local.

    
por Burhan Khalid 01.08.2016 / 07:31