Como eu posso usar o iptables / route para rotear o tráfego de um dispositivo de rede local através de seu próprio gateway?

1

No meu servidor Linux (Ubuntu), como posso configurar o tráfego originado de uma das minhas interfaces de rede (meu dispositivo VPN - ppp0) para rotear através de seu próprio endereço de gateway?

Advertências:

  • Não consigo configurá-lo como uma rota padrão no servidor porque é caro rotear todo o tráfego por ele
  • Não há uma sub-rede específica vinculada à VPN - pode ser tráfego para qualquer IP ou porta pública (a VPN se comporta como um proxy)

O objetivo final é ser capaz de configurar um único aplicativo local para vincular-se ao IP da VPN e se comunicar apenas pela VPN, mas nenhum outro tráfego de servidor deve ser roteado por ele. Eu configurei isso assim, mas parece que eu preciso de algum tipo de regras de roteamento adicionais para que funcione.

    
por Jer 05.11.2010 / 15:47

2 respostas

1

Se a VPN está realmente atuando como um proxy, então os endereços de origem devem ser reescritos para o ponto mais distante da sessão do ppp (a menos que seja uma interface não numerada, mas eu não vi isso em uma vpn). Se na verdade ele está roteando normalmente e o destino pode estar em qualquer lugar, isso se torna um problema mais interessante.

A solução base é descrita no LARTC - você deseja criar uma segunda tabela de roteamento especificando o túnel VPN como a rota padrão e, em seguida, adicionar filtros para direcionar algum tráfego para ver a tabela de roteamento secundária em vez da padrão um. Se você precisar apenas de um aplicativo para fazer o túnel e o aplicativo puder se vincular ao IP da interface do túnel, o roteamento baseado em política do IP de origem deve funcionar - veja o exemplo aqui: link

    
por 06.11.2010 / 04:56
0

você pode usar o parâmetro dev para colocar uma rota em um dispositivo especificado.

route add -net 0.0.0.0 gw ENTER-GATEWAY-HERE dev ppp0

    
por 05.11.2010 / 16:12