Questão Tabela de roteamento no Linux não respeitada



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.

A instalação é da seguinte maneira:
Gateway de Internet LAN 192.168.25.1/24
LAN do gateway de VPN 10.45.99.2/24
(Túnel VPN 10.45.99.1 para a rede 87.115.17.40/29, ligação separada à Internet)

Roteador VPN Linux
   eth0 192.168.25.71/24
   eth0: 503 10.45.99.1/24
     Padrão 192.168.25.1
     rota para 87.115.17.40/29 via 10.45.99.2
     (send_redirects desativado, ip_forward ativado)
Clientes Linux (múltiplos):
   eth0 192.168.25.x / 24
   Padrão 192.168.25.1
   rota para 87.115.17.40/29 via 192.168.25.71

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.

Então a rota não é respeitada em frente!

IPTables e roteamento:


mostra da rota do ip
87.115.17.40/29 via 10.45.99.2 dev eth0
10.45.99.0/24 dev eth0 proto kernel escopo link src 10.45.99.1
192.168.25.0/24 dev eth0 proto kernel escopo link src 192.168.25.71
padrão 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 estado - estado RELACIONADO, ESTABELECIDO -j ACEITAR
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

Então nós 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).


1


origem




Respostas: