iptables - como manter o IP de origem após o encaminhamento?

0
1.1.1.1 - public IP of VPS
10.1.0.1 - internal IP of OpenVPN server running on VPS
192.168.1.0/24 - local subnet on the VPN client's side
192.168.1.101 - local server running on port TCP 1234

Uso principal da VPN / VPS:

  1. como um gateway para navegar em sites específicos
  2. como proxy para clientes que se conectam ao servidor 192.168.1.101

Configurações atuais do iptables:

-A PREROUTING -d 1.1.1.1 -p tcp -m tcp --dport 1234 -j DNAT --to-destination 192.168.1.101:1234
-A POSTROUTING -d 192.168.1.101 -p tcp -m tcp --dport 1234 -j SNAT --to-source 10.1.0.1
-A POSTROUTING -o eth0 -j SNAT --to-source 1.1.1.1

Duas primeiras linhas estão encaminhando a porta TCP 1234 para o destino desejado e funciona. O único problema é que no servidor de destino não consigo ver o IP real dos clientes conectados. Todos os clientes possuem o mesmo IP: 10.1.0.1. Eu tentei mudar a segunda linha para:

-A POSTROUTING -d 192.168.1.101 -p tcp -m tcp --dport 1234 -j SNAT --to-source 1.1.1.1

mas os clientes não estão se conectando. A última linha é usada para me deixar navegar pela Internet.

Pergunta: Como devo definir as regras corretamente para que eu possa ver IPs reais de clientes conectados?

    
por matiaszon 22.01.2018 / 10:39

1 resposta

1

Ok, parece que você está tentando configurar o encaminhamento de porta por meio de uma VPN, por exemplo. 1.1.1.1:1234 - > 192.168.1.101:1234. Sua configuração openvpn também parece ok.

Como afirmado nos comentários, na sua segunda regra você está modificando o IP de origem usando -j SNAT --to-source 10.1.0.1 . Para conseguir o encaminhamento de porta, por favor, substitua as regras do seu iptables com:

-A PREROUTING -t nat -i eth0 -d 1.1.1.1 -p tcp --dport 1234 -j DNAT --to-destination 192.168.1.101:1234
-A FORWARD -p tcp -d 192.168.1.101 --dport 1234 -j ACCEPT
  • A primeira regra informa ao iptable para enviar todas as conexões tcp de entrada para a porta 1234 na interface eth0 com o destino configurado para 1.1.1.1, em direção à porta 1234 da máquina interna 192.168.1.101.
  • A segunda regra permite encaminhar pacotes para a porta 1234 de 192.168.1.101

Fonte

    
por 23.01.2018 / 10:06