1: 1 NAT através da VM VPN

1

Tenho alguns servidores clientes aos quais me conecto com clientes VPN diferentes (por exemplo, Cisco, OpenVPN, etc). Eu estou tentando configurar um Ubuntu 14 VM (com o cliente VPN permanentemente conectado) para cada servidor para rotear todo o tráfego de e para o servidor, então eu não preciso continuar alternando entre vários clientes VPN.

A VM tem eth0 com dois IPs estáticos (ligados a LAN) e gostaria de rotear todo o tráfego direcionado para o ip estático 10.1.1.200 a tun0 para o servidor remoto 10.50.1.1 .

Eu configurei as seguintes regras iptables :

iptables -t nat -A POSTROUTING -s 10.1.1.200 -j SNAT --to-source 10.50.1.1
iptables -t nat -A PREROUTING -d 10.50.1.1 -j DNAT --to-destination 10.1.1.200
iptables -A FORWARD -s 10.50.1.1 -j ACCEPT
iptables -A FORWARD -d 10.1.1.200 -j ACCEPT

Meu entendimento disso é que ele cria um NAT 1: 1 entre o IP da LAN ( 10.1.1.200 ) e o IP do servidor remoto (via conexão OpenVPN) ( 10.50.1.1 ). Eu habilitei net.ipv4.ip_forward = 1 e posso me conectar ao servidor host da VM bem.

Eu tentei ping, telnet e sshing da máquina host para 10.1.1.200 , mas a conexão foi recusada.

Eu tentei algumas permutações diferentes de IPs de origem / destino (e definindo explicitamente interfaces com -i e -o ), mas nada funciona. : (

Alguma idéia?

    
por Alex L 06.01.2016 / 05:23

1 resposta

0

Corrigido! Terminou usando o seguinte, mapeando todo o intervalo de IP da LAN para o intervalo de IP do servidor de destino, para clientes com vários servidores na mesma sub-rede. Usando o masquerade para que o pacote retorne ao IP da LAN correto.

iptables -v -t nat -A PREROUTING -i eth0 -d 192.168.2.0/24 -j NETMAP --to 10.50.1.0/24
iptables -v -t nat -A POSTROUTING -o tun0 -j MASQUERADE
    
por 07.01.2016 / 08:33