Tabela de roteamento no Linux não respeitada

1


Eu tenho um problema muito específico, construindo um ponto de extremidade VPN Linux (com gateway VPN externo), que deve encaminhar certas redes através do túnel, outras através do gateway padrão.
O Linux VPN deve fazer um NAT nas conexões de saída para os pares de VPN.

Setup is as following:
Internet gateway LAN  192.168.25.1/24
VPN Gateway LAN 10.45.99.2/24 
(VPN tunnel 10.45.99.1 to net 87.115.17.40/29, separate connection to Internet)

Linux VPN Router
   eth0   192.168.25.71/24
   eth0:503 10.45.99.1/24
     Default 192.168.25.1
     route to 87.115.17.40/29 via 10.45.99.2
     (send_redirects disabled, ip_forward enabled)
Linux clients (multiple):
   eth0   192.168.25.x/24
   Default 192.168.25.1
   route to 87.115.17.40/29 via 192.168.25.71

O ping para as máquinas via túnel do roteador VPN está funcionando.

Agora eu quero estabelecer um roteamento de meus clientes através do gateway de VPN e o pacote do cliente é roteado para 192.168.25.1! saída traceroute mostra que os pacotes são roteados para 192.168.25.71, mas depois para 192.168.25.1.

Portanto, a rota não é respeitada no encaminhamento!

IPTables e roteamento:


ip route show
87.115.17.40/29 via 10.45.99.2 dev eth0 
10.45.99.0/24 dev eth0  proto kernel  scope link  src 10.45.99.1 
192.168.25.0/24 dev eth0  proto kernel  scope link  src 192.168.25.71 
default via 192.168.25.1 dev eth0 

iptables -A INPUT -i eth0:503 -j REJECT
iptables -t nat -A POSTROUTING -o eth0:503 -j MASQUERADE
iptables -A FORWARD -i eth0:503 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.25.0/24 -o eth0:503 -j ACCEPT


Então, o que há de errado com a minha configuração? A rota é escolhida corretamente no host local, mas todos os clientes são encaminhados para a Internet GW.

obrigado por ajudar, Marcus

20121025: Encontrou um problema pelo menos: MASQUERADE sempre irá mascarar como o IP principal da interface. Ao usar o SNAT, posso atribuir o endereço para o NAT (que pode ser o endereço do alias). O problema com os pacotes não são encaminhados persiste. Eu estou trabalhando com o Debian 6.

Tentei a mesma configuração com o SNAT em um Ubuntu 12.04 virtual e consegui chegar ao roteamento finalmente. Então, parece haver um problema com o Debian, ou alguma configuração que eu perdi!

A configuração de trabalho é (no servidor Ubuntu 12.04):

iptables -t nat -A POSTROUTING -d 87.115.17.40/29 -j SNAT --to-source=10.45.99.1

Portanto, temos que reinstalar nossos servidores, não esperava que isso pudesse ser um problema do Debian!
Talvez em algum lugar entre o kernel (2.6.32 - > 3.2.0) e o iptables (1.4.8 - > 1.4.12).

    
por MRHaarmann 23.10.2012 / 12:01

0 respostas