Redirecionar algum tráfego específico para um gateway diferente

3

Eu tenho dois gateways com ISP diferentes, um deles definido como padrão para o usuário da LAN e o outro ISP usado como padrão para o tráfego de servidores e VPN. Isso é feito usando tabelas de roteamento regulares configuradas com o DHCP.

Agora quero que o Google Drive e algum outro tráfego de software instalado nos laptops dos usuários de LAN que usam muito upload sempre usem o outro ISP que não esteja definido como o padrão gw deles. Como posso conseguir isso?

Meus pensamentos iniciais são usar IPTABLES ou lula.

Eu tenho tentado com isso

iptables -t nat -A PREROUTING -d GOOGLE_IP -j DNAT --to-destination MY_SECOND_ISP
iptables -t nat -A POSTROUTING -s MY_SECOND_ISP -j SNAT --to-source GOOGLE_IP
iptables -t nat -A POSTROUTING -s MY_SECOND_ISP  -j MASQUERADE

mas não funciona. Quando eu testo, o tráfego vai para o padrão gw

Alguma idéia de como fazer isso usando iptables, shorewall ou squid ??

    
por Santi 10.01.2014 / 16:21

2 respostas

1

Supondo que o IP da LAN padrão do GW (GW1) é 192.168.1.1 e o IP da LAN padrão do servidor (GW2) é 192.168.1.2, ou seja, a LAN vê os dois roteadores no mesmo segmento.

Você pode configurar uma rota estática no GW1 que aponta o tráfego cujo destino é GOOGLE_IP para o próximo endereço IP da LAN do GW2 seguinte.

Se o GW1 for Cisco: ip route GOOGLE_IP 255.255.255.255 GW2_LAN_IP

Se o GW1 for Linux: ip route adicione GOOGLE_IP / 32 gw GW2_LAN_IP

Dessa forma, quando qualquer host na LAN enviar tráfego para GOOGLE_IP, o tráfego será direcionado para GW1.

Em seguida, a rota estática no GW1 encaminhará o tráfego para o GW2.

Em seguida, o GW2 encaminhará o tráfego para fora da interface da WAN.

O tráfego de retorno proveniente da Internet para o GW2 será encaminhado para a LAN e chegará aos hosts.

Desta forma, você cria a rota uma vez no GW1, para que funcione para todos os hosts da LAN.

    
por 11.01.2014 / 00:25
0

Como serviços como o Google Drive estão na nuvem e seus IPs podem mudar a qualquer momento, acredito que sua abordagem, mais cedo ou mais tarde, deixará de funcionar.

Há outro método para diferenciar o tráfego desses aplicativos que você deseja ao fazer a marcação DSCP no nível do sistema operacional convidado.

As marcas DSCP serão 'anexadas' nos próprios pacotes, então você poderá combinar esses pacotes com iptables em seu roteador e rotea-los através da VPN ou qualquer outro gateway que você goste.

Dessa forma, você está dizendo que, por exemplo, o googledrive.exe (ou qualquer aplicativo que você queira) sempre será roteado através da VPN, não importa onde ele tente se conectar.

Aqui estão algumas instruções sobre como definir marcas DSCP personalizadas usando o windows link

Você pode combinar as marcas dscp com a opção de correspondência --dscp do iptables.
link

É claro que todos os itens acima não respondem à sua pergunta original. Você ainda precisará fazer o trabalho de roteamento de políticas.

    
por 29.06.2015 / 11:34