Tráfego de roteamento em um alias de ethernet para um gateway padrão

2

Esta questão está relacionada com um anterior que eu perguntei .

Eu quero configurar uma caixa de cliente dual OpenVPN de modo que um computador cujo gateway seja configurado como eth0: 0 receba todo o tráfego roteado por meio de um túnel OpenVPN e um computador cujo gateway esteja definido como eth0: 1 receba todo o tráfego encaminhado através de um túnel OpenVPN diferente. Eventualmente, eu quero ser capaz de ter vários computadores se conectando à minha caixa dual client, compartilhando esse túnel OpenVPN (mas sem saber uns dos outros).

Diagrama http://serahill.com/OpenVPN-Gateway.png

Configurei os aliases ethernet na minha caixa dual client e configurei meu gateway em um host de conexão para um alias ethernet na caixa dual client. No entanto, o roteamento não parece estar acontecendo corretamente. Quaisquer pings do meu host de conexão vão diretamente para o gateway padrão da caixa do cliente dual, em vez de serem roteados pelo túnel.

Estes são os comandos de rota que estou usando quando o túnel está configurado:

ip route add default dev $1 table us_table
ip rule add from [ip address of my ethernet alias] table us_table
ip route flush cache
iptables -t nat -A POSTROUTING -o $1 -j MASQUERADE[/code]

Esta é a tabela de roteamento após o conjunto do túnel:

root@ahost:/etc/openvpn# ip route show
10.26.0.0/24 via 10.26.0.1 dev tun0 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.242 
10.26.0.0/16 dev tun0  proto kernel  scope link  src 10.26.0.2 
default via 192.168.1.1 dev eth0  metric 100

Esta é a tabela de roteamento us_table:

root@ahost:/etc/openvpn# ip route show table us_table
default dev tun0  scope link 

Minhas regras:

root@ahost:/etc/openvpn# ip rule show
0:  from all lookup local 
32765:  from 192.168.1.242 lookup us_table 
32766:  from all lookup main 
32767:  from all lookup default 

Alguma sugestão sobre o que estou perdendo ou fazendo errado? Estou perplexo aqui ...

    
por serpah 13.06.2011 / 11:33

2 respostas

0

Com base na sugestão do @ syneticon-dj, designei diferentes sub-redes para os diferentes clientes OpenVPN e configurei o roteamento para que todos os endereços IP em uma sub-rede específica sejam roteados para um dispositivo tun específico.

Isso significa que todos os clientes conectados precisam configurar seu gateway para o OpenVPN Gateway e seu endereço IP deve estar na sub-rede correta.

Meus comandos assim que o tun OpenVPN é ativado são:

ip route add default dev tun0 table us_table
ip rule add from 192.168.233.0/24 table us_table
ip route flush cache
iptables -t nat -A POSTROUTING -o $1 -j MASQUERADE
    
por 21.06.2011 / 06:39
0

Você definiu a regra para corresponder ao endereço alias da Ethernet:

ip rule add from [ip address of my ethernet alias] table us_table

No entanto, isso nunca corresponderá, pois o mascaramento está na cadeia POSTROUTING, ou seja, acontece depois que as decisões de roteamento já foram tomadas.

Eu nunca usei roteamento baseado em políticas, então só posso adivinhar o que você precisa fazer para que isso funcione. A man page diz que você pode executar NAT antes de outras regras, isso pode ser capaz de resolver você. Como alternativa, você pode usar o endereço IP real dos laptops ou estações de trabalho como os endereços de origem (ou intervalos).

    
por 14.06.2011 / 11:35