Como corretamente encaminhamento de porta entre máquinas diferentes usando UFW / iptables e DD-Wrt?

2

Esta é minha rede

Euqueroverminhaip_camera(192.168.3.4:80)deforadaminhacasa.Estánoroteadordd-wrt(192.168.3.1)seminternet.Oroteador192.168.1.1teminternet.Noentanto,eutenhoumservidordeframboesacomduasinterfacesconectadasaambososroteadores:eth0192.168.1.0/24eeth1192.168.3.0/24.

Então,issoéoqueeufiz:

Noroteadordd-wrt192.168.1.1,front-enddaweb,seçãoPortForwarding,encaminhadadequalquertcp/ip(dowan)em10080paralan192.168.1.2:10080

Emseguida,noRaspberry(comosdoisifaceseth0192.168.1.2eeth1192.168.3.2),configureioUFWassim:

DEFAULT_FORWARD_POLICY="ACCEPT" (/etc/default/ufw)

e

net.ipv4.ip_forward=1 (/etc/ufw/sysctl.conf)

e em before.rules (no início do arquivo), adicionamos as seguintes linhas:

*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp -d 192.168.1.2 --sport 10080 -j DNAT --to-destination 192.168.3.4:80
COMMIT

Então, se eu estiver em um PC cliente aleatório (192.168.1.15, por exemplo), posso alcançar perfeitamente minha câmera no navegador no endereço:

http://192.168.1.2:10080

, o que significa que funciona bem. Mas não consigo ver minha câmera de fora da internet.

Eu tentei adicionar ao UFW:

ufw allow proto tcp from any to 192.168.3.4 port 80

e reiniciou o UFW, mas não teve sorte.

Alguém pode me dar uma mão, por favor?

Eu notei essa saída tcpdumping meu servidor de framboesa, quando eu chego da internet (179.39.4.14):

03:19:11.324244 IP 179.39.4.14.41346 > 192.168.1.2.10080: Flags [S], seq 2032441512, win 14600, options [mss 1452,sackOK,TS val 16154060 ecr 0,nop,wscale 8], length 0
03:19:27.131917 IP 179.39.4.14.41345 > 192.168.1.2.10080: Flags [S], seq 389083091, win 14600, options [mss 1452,sackOK,TS val 16155640 ecr 0,nop,wscale 8], length 0
03:19:27.359709 IP 179.39.4.14.41346 > 192.168.1.2.10080: Flags [S], seq 2032441512, win 14600, options [mss 1452,sackOK,TS val 16155664 ecr 0,nop,wscale 8], length 0

Quando eu chego a partir de 192.168.1.15 (minha rede doméstica)

03:21:54.799050 IP 192.168.1.15.13094 > 192.168.1.2.10080: Flags [S], seq 2661860721, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
03:21:54.802330 IP 192.168.1.2.10080 > 192.168.1.15.13094: Flags [S.], seq 3834946478, ack 2661860722, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 1], length 0
03:21:54.803718 IP 192.168.1.15.13094 > 192.168.1.2.10080: Flags [.], ack 1, win 68, length 0

Eu observo efeitos diferentes. Na Lan (que está funcionando corretamente), há uma comunicação bidirecional no caminho. No entanto, meu servidor Raspberry só pode ver a solicitação recebida da Internet, mas não registra nenhum retorno a ela. Eu acho que a chave do meu problema está lá, mas eu não sei se eu tenho que editar algo no UFW (ou em outro lugar) para permitir essa troca bidirecional.

Pode estar relacionado ao conceito "RELACIONADO, ESTABELECIDO"? eu não sei ...

muito obrigado. gtz Sergio.

    
por sergius 09.12.2015 / 01:18

1 resposta

0

Conceitualmente, você deseja:

  • NAT de 192.168.1.2: (IP do servidor r-Pi?) para 192.168.3.4:80 (câmera) [FEITO]
    • Verifique se este encaminhamento de porta funciona acessando a câmera via 192.168.1.2: [CHECK]
  • NAT de 192.168.1.1: para 192.168.1.2: [Não terminou?]
    • Verifique se este encaminhamento de porta funciona observando o tráfego no 192.168.1.2.
  • Abrir porta no roteador de saída 192.168.1.1 [desconhecido];

Você fez corretamente o primeiro passo. Agora tudo que você precisa é de outro mapeamento entre a Internet e sua rede 192.168.1.0/24. É o mesmo processo, por isso deve ser fácil de implementar. Eu não uso ufw ou dd-wrt, então você precisará pesquisar como isso é feito.

Suas regras RELACIONADAS, ESTABELECIDAS não devem estar interferindo. Eles são normalmente usados na cadeia INPUT para rastrear conexões de entrada conhecidas e pular o restante do conjunto de regras.

    
por 28.02.2018 / 13:03