Encaminhar o tráfego de um usuário específico via VPN, mas ainda permitir rede local

2

Por isso, desejo encaminhar determinado tráfego através de uma ligação VPN e o resto através da minha ligação normal à Internet. Eu quero executar vários programas diferentes e a maioria deles não suporta ligação a uma interface de rede específica ( tun0 no meu caso).

Consegui enviar o tráfego de um usuário específico pela VPN seguindo as respostas dadas aqui: iptables - Alvo para rotear o pacote para uma interface específica?

Mas infelizmente, quando executo um servidor que se conecta à Internet e tem uma interface da Web em execução em um IP local ( 127.0.0.1/192.168.0.* ), todo o tráfego da Internet passa corretamente por tun0 , mas não consigo me conectar para a interface web de um IP local como um usuário diferente.

Quando eu faço login como usuário VPN, posso acessar serviços em execução em IPs locais, mas outros usuários / máquinas não podem acessar nenhum servidor que eu inicie.

Alguém pode me apontar na direção certa?

    
por wbg 01.07.2013 / 23:55

2 respostas

0

Você precisa configurar uma rota estática para a rede que está do outro lado da VPN. Geralmente, tudo é roteado pela rota padrão, a menos que você especifique uma rota explícita.

Digamos, por exemplo, que a rede por trás da VPN seria 10.10.42.0/24 e, em seguida, você adiciona uma rota estática com

ip route add 10.10.42.0/24 dev tun0

Isso envia todo o tráfego para essa sub-rede por tun0

    
por 02.07.2013 / 01:16
0

primeiro adicione regras de firewall:

iptables -t mangle -A OUTPUT -m owner --uid USER -j MARK --set-mark 1
iptables -t nat -A POSTROUTING -m mark --mark 1 -j MASQUERADE

adicione uma regra de roteamento:

ip rule add fwmark 0x1 table 100

e adicione rotas à sua nova tabela de roteamento:

ip route add SOMEROUTE via SOMEGATEWAY table 100
    
por 09.12.2013 / 19:16