Fowarding tráfego IP sem NAT (Ubuntu 14.04)

1

Estou configurando o OpenVPN e todos os guias padrão que estou seguindo sugerem a configuração de iptables para que o servidor VPN realize NAT nos clientes VPN:

iptables -t nat -A POSTROUTING -s *vpn-ip-range* -o eth0 -j MASQUERADE

Isso funciona muito bem. No entanto, devido ao NAT, todos os registros em nossas outras máquinas internas reportam o tráfego proveniente do IP do servidor VPN e não do IP do cliente.

Eu gostaria de remover o NAT e ter o IP do cliente usado em toda a rede (para fins de auditoria). Eu já fiz o seguinte:

  • Atualize a configuração do OpenVPN para fornecer endereços IP internos a todos os clientes (sub-rede de 10.0.0.0/8 )
  • Adicione uma rota estática ao nosso gateway principal para rotear essa sub-rede para o endereço IP do servidor VPN

A etapa final está atualizando iptables . É onde eu não consigo fazer funcionar.

A placa de rede é eth0 e todo o tráfego do OpenVPN está em tun0 . Tudo o que quero fazer é que o servidor VPN encaminhe o tráfego entre essas interfaces quando relacionado ao tráfego 10.0.0.0/8 .

Alguém pode sugerir como eu faria isso?

    
por jas_raj 29.06.2016 / 11:51

2 respostas

0

Eu consegui resolver isso. Embora eu já tenha adicionado net.ipv4.ip_forward=1 a /etc/sysctl.conf (que a maioria das guias aponta), também preciso adicionar net.ipv4.conf.all.proxy_arp=1 .

A configuração iptables precisa apenas permitir todo o tráfego nas duas interfaces e funciona!

    
por 30.06.2016 / 12:13
0

Uma maneira rápida de fazer isso pode estar modificando como o log está funcionando para fazer com que ele registre $ http_x_forwarded_for values que, então, registrarão o IP do cliente.

O tempo não tem certeza de que você poderá modificar a forma como seu log está acontecendo, mas espero que isso ajude.

    
por 29.06.2016 / 12:57