Cadeia de encaminhamento de porta Iptables na rede VPN no Debian

0

Eu tenho problema com a configuração da minha rede. Quase funciona ... mas não totalmente:)

Eu quero ter acesso à câmera no prédio do interior. Eu tenho acesso à Internet sem IP público, então decidi criar VPN. Na casa do campo eu tenho um RaspberryPI (cliente VPN) e roteador LTE (Huawei B315) conectado junto com a câmera IP. Na minha casa, onde tenho modem com IP publico tenho outro RPI (servidor VPN). VPN está no modo de roteamento (os RPIs criam uma rede separada).

Então, para resumir:

  1. Gateway - modem na minha casa
  2. RPI1 - Servidor VPN conectado ao modem em minha casa (IP: eth0-192.168.0.6 (rede local), tun0-10.8.0.1 (rede VPN))
  3. PRI2 - Cliente VPN conectado ao modem na outra casa (IP: eth0-192.168.0.100, tun0-10.8.0.2)
  4. Câmera - Planeta ICA-4150 (com interface web ativa-x) - conectada ao modem na outra casa (IP: 192.168.0.10)

VPN funciona - eu posso fazer o ping de ambos os RPIs uns dos outros e posso fazer o ssh da minha casa para o RPI1 e depois para o RPI2.

Eu quero poder abrir a interface da web da câmera assim: example.ddns.net:9000. DDNS está configurado e funciona.

No modem da minha casa, eu encaminhei a porta 9000 de fora para o IP local 192.168.0.6:9000 (RPI1).

Minhas configurações do iptables: RPI1:

iptables -A PREROUTING -t nat -p tcp --dport 9000 -j DNAT --to-destination 10.8.0.2:9000
iptables -A PREROUTING -t nat -p udp --dport 9000 -j DNAT --to-destination 10.8.0.2:9000
iptables -A FORWARD -p tcp -d 10.8.0.2 --dport 9000 -j ACCEPT
iptables -A FORWARD -p udp -d 10.8.0.2 --dport 9000 -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

RPI2:

iptables -A PREROUTING -t nat -p tcp --dport 9000 -j DNAT --to-destination 192.168.0.10:80
iptables -A PREROUTING -t nat -p udp --dport 9000 -j DNAT --to-destination 192.168.0.10:80
iptables -A FORWARD -p tcp -d 192.168.0.10 --dport 80 -j ACCEPT
iptables -A FORWARD -p udp -d 192.168.0.10 --dport 80 -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

Quando digito o endereço correto no navegador, posso ver a interface da Web, mas não consigo efetuar login. É claro que posso fazer login quando meu laptop está conectado localmente à câmera. E também experimentei que conectei a câmera à rede local em minha casa e exportei uma porta do modem da minha casa diretamente para a câmera, e isso também funciona, mas apenas se eu redirecionar as portas TCP e UDP. Eu também não consigo logar, quando eu digito 192.168.0.6:9000 no navegador da minha rede local.

Eu também tentei mudar a porta 9000 para 24000, sem sorte.

Alguém tem alguma ideia do que estou fazendo errado? Talvez eu tenha perdido algo no iptables?

    
por Staszek 13.01.2017 / 16:20

1 resposta

0

Isso eu acho que é porque você GET a página da web em 9000 porta no seu navegador, mas a câmera que hospeda o servidor vê req na porta 80. Assim, a ação post se coloca uma URL absoluta será enviada para a porta 80. Você pode verifique isso na guia de redes do seu navegador. Se for esse o caso, adicione um formulário iptable para o IP de destino e o dport 80

    
por 14.01.2017 / 07:30