DD-WRT, o encaminhamento da porta TCP 80 para http não funciona na WAN? [fechadas]

1

Estou executando o firmware DD-WRT no roteador, versão DD-WRT v24-sp2 (12/12/11) std .

Estou tentando encaminhar http de tráfego na porta 80 para o IP local do meu PC, 192.168.2.97 e, embora eu possa procurar meu site hospedado em minha LAN, quando eu tentar um local externo de IP remoto recebo " A conexão expirou ".

Alguém poderia dar uma olhada no dump do iptables linkado aqui e me ajudar a encontrar a sintaxe adequada do iptables usar para habilitar o encaminhamento de porta para funcionar corretamente? Eu sou muito novo no iptables e estou perdido em como criar a sintaxe necessária.

EDIT saída de netstat -ano | find "80" do servidor Web (Windows 7 executando o IIS):

  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4
  TCP    192.168.2.97:1869      207.46.124.39:80       ESTABLISHED     3860
  TCP    192.168.2.97:43794     74.125.229.36:80       TIME_WAIT       0
  TCP    [::]:80                [::]:0                 LISTENING       4
  UDP    127.0.0.1:48000        *:*                                    3132
  UDP    127.0.0.1:48001        *:*                                    2420

EDIT saída de iptables -t nat -L do prompt de comando do DD-WRT:

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       icmp --  anywhere             my.wan.ip to:192.168.2.1 
DNAT       tcp  --  anywhere             my.wan.ip tcp dpt:www to:192.168.2.97:80 
DNAT       tcp  --  anywhere             my.wan.ip tcp dpt:www to:192.168.2.97 
TRIGGER    0    --  anywhere             my.wan.ip TRIGGER type:dnat match:0 relate:0 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       0    --  192.168.2.0/24       anywhere            to:my.wan.ip 
RETURN     0    --  anywhere             anywhere            PKTTYPE = broadcast 

EDIT saída de iptables -t nat -vnL da interface DD-WRT:

Chain PREROUTING (policy ACCEPT 165K packets, 18M bytes)
 pkts bytes target     prot opt in     out     source               destination         
   38 47952 DNAT       icmp --  *      *       0.0.0.0/0            my.wan.ip       to:192.168.2.1 
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            my.wan.ip       tcp dpt:80 to:192.168.2.97:80 
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            my.wan.ip       tcp dpt:80 to:192.168.2.97 
47056 6024K TRIGGER    0    --  *      *       0.0.0.0/0            my.wan.ip       TRIGGER type:dnat match:0 relate:0 
Chain OUTPUT (policy ACCEPT 4753 packets, 418K bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain POSTROUTING (policy ACCEPT 4753 packets, 418K bytes)
 pkts bytes target     prot opt in     out     source               destination         
87913   10M SNAT       0    --  *      vlan2   192.168.2.0/24       0.0.0.0/0           to:my.wan.ip 
    0     0 RETURN     0    --  *      br0     0.0.0.0/0            0.0.0.0/0           PKTTYPE = broadcast 

EDIT saída de route do prompt de comando do DD-WRT:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
74.178.55.1     *               255.255.255.255 UH    0      0        0 vlan2
192.168.2.0     *               255.255.255.0   U     0      0        0 br0
74.178.55.0     *               255.255.255.0   U     0      0        0 vlan2
169.254.0.0     *               255.255.0.0     U     0      0        0 br0
239.0.0.0       *               255.0.0.0       U     0      0        0 br0
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
default         adsl-74-178-55- 0.0.0.0         UG    0      0        0 vlan2


CONCLUSÃO: Já tive isso com o DD-WRT.

Eu tenho bricked e descompactado meu Buffalo WZR-HP-G300NH2 dezenas de vezes agora. Tentei várias sugestões abaixo. Postado no fórum DD-WRT e me encontrei com ar quase morto. Olhei para outros firmwares alternativos como OpenWRT, Gargoyle, HyperWRT, Tomato. Destes, o OpenWRT with Gargoyle parecia promissor, mas o Gargoyle especificamente não suporta meu roteador (o WZR-HP-G300NH é suportado, mas não o WZR-HP-G300NH 2 ).

O mais avançado que cheguei até agora foi ter o OpenWRT e o Luci (um complemento de gerenciamento da Web) instalados, depois de percorrer centenas de postagens no fórum tentando encontrar soluções ou soluções alternativas para vários erros de configuração e outros erros. ser confrontado com posts curtos e inúteis em resposta a questões semelhantes às minhas ao longo do caminho como "apenas recompile com {alguma biblioteca ou opção ou configuração que parece perfeitamente convencional para o desenvolvedor mas não um novato}" ou "apenas tente {fazer o óbvio o que você provavelmente já tentou, o que eu posso fazer enquanto durmo, mas não me importo particularmente em explicar} ".

Aparentemente, fiz algo errado, porque seguindo isso e tentando aplicar algumas alterações na configuração por meio do Luci, o roteador voltou a funcionar após uma reinicialização. Se eu tiver vontade, tentarei novamente reflash e ver o que preciso fazer para evitar a situação novamente, e esperançosamente acabarei com um roteador funcional ou pelo menos um switch que eu possa usar.

Nesse meio tempo, fui em frente e comprei outro roteador, e espero que o firmware de fábrica faça a tarefa aparentemente simples de encaminhamento de porta. Graças a kce e todos aqueles que tomaram uma facada nisso.

    
por Darth Continent 10.01.2012 / 04:13

7 respostas

2

... versão DD-WRT v24-sp2 (12/12/11) std.

Você não forneceu o número de revisão, que é uma informação importante. As únicas revisões recomendadas atuais são 13064 ou 14869. A maioria das revisões do firmware dd-wrt é considerada instável e interrompida.

Estas são as informações relevantes do tópico do fórum .

Upgrade (or downgrade)to one of the forum recommended builds listed in this section, especially if you are running SP1 or v24 final (05/21/08 )13064 or 14896. Stick with what is recommended in the this thread or redhawk0's announcement if you want stability. At the time of writing, the latest official build is v.24 SP1. SP1 has a LOT of issues. It will spontaneously brick the Asus WL500W router.

All of these forum recommended builds are BETA and not "finished" yet. Although you use them at your own risk the forum recommended builds have been pretty thoroughly tested and work well, certainly better than SP1. Browse the forums and see what others are saying.

The newest builds, such as the 16xxx or 17xxx builds, that are newer than the recommended builds have been released for TESTING only. They are not new and "improved" and have not been released because they are obviously better. OFTEN they have massive problems. If they did not, they would be recommended in the forum. So realize that if you are installing a different build that the ones that are recommended here, you are testing a build and you might find that it DOES NOT WORK. Each build has a "build thread" in the forum that is created when the build is released. Report problems in that thread, but do not ask for help with your router in the build thread. IF YOU WANT A GENERALLY STABLE BUILD, USE ONE OF THE BUILDS RECOMMENDED IN THIS NOTE OR REDHAWK0'S RECOMMENDED BUILD THREAD! The only exception to this rule is if you are using a VERY new router and that router requires initial flashing of a build that is newer than 15962, and in that case most should use 17990 or 18000 (which are basically the same).

TL; DR: The newest builds, such as the 16xxx or 17xxx builds, that are newer than the recommended builds have been released for TESTING only... OFTEN they have massive problems.

Editar: Você disse que testou o encaminhamento conectando-se a partir de um endereço IP remoto. Só para ter certeza, você não está tentando se conectar ao endereço IP da sua interface WAN da sua LAN, correto? NAT Loopback está quebrado para essa revisão e para qualquer coisa além de 15760.

É altamente recomendável que você faça downgrade do seu firmware para uma das revisões recomendadas para o thread que eu vinculei, a menos que você tenha uma razão convincente muito para não fazê-lo.

Editar 2: Hmm. Eu vejo o seu downgrade não funcionou. Desculpe por ouvir isso. Infelizmente, este é provavelmente um problema com o firmware do DD-WRT, sobre o qual questões sobre o assunto são consideradas fora do assunto. Meu raciocínio para essa conclusão é que o seu iptables está ótimo e o encaminhamento de porta funciona corretamente com o seu roteador Linksys).

Meu conselho neste momento é 1) postar no fórum do DD-WRT (leia todas as perguntas frequentes primeiro), 2) enviar um relatório de erro ou 3) comprar um roteador real. Eu não tive nada além de problemas com o DD-WRT e nunca recomendaria a ninguém. Além disso, descobri que os "roteadores" COTS também não são confiáveis.

    
por 15.01.2012 / 22:53
3

Adicione os quatro comandos abaixo (2 insmod e 2 iptables) à janela de comando de inicialização do roteador (caminho do menu do roteador: Administração - > Diagnóstico). Cole-os na janela de comando do shell e clique no botão SAVE STARTUP para transferi-los para a janela de comando de inicialização do seu roteador:

insmod ipt_mark

insmod xt_mark

iptables -t mangle -A PREROUTING -i! 'get_wanface' -d 'nvram obter wan_ipaddr' -j MARK --set-mark 0xd001

iptables -t nat -A POSTRODUÇÃO -m marca - marca 0xd001 -j MASQUERADE

A melhor maneira é copiar & cole estes quatro comandos acima EXATAMENTE como estão, diretamente no seu roteador, ONE COMMAND PER LINE. Fazer isso garante que você não cometa erros, pois eu aposto que você já está cansado de lidar com isso!

Depois de salvá-los na lista de comandos de inicialização do roteador, reinicialize o roteador e teste os encaminhamentos de porta do lado da WAN.

Isso deve funcionar.

Por favor, responda aqui se isso funcionou para você do jeito que funcionou para mim!

Atenciosamente, Lino

    
por 20.01.2012 / 05:32
2

Suas regras como estão parecem bem; então a outra possibilidade é o seu ISP ou alguém no meio está bloqueando o dport 80 ... maneira simples de testar isso:

Adicione uma regra DNAT que encaminha a solicitação de alguma outra porta para o servidor interno, por exemplo:

iptables -t nat -I PREROUTING -p tcp --dport 32100 -d < wanIP > -j DNAT - para 192.168.2.97: 80

em seguida, abra um navegador e visite o link

Se ainda falhar, é mais do que provável que algo esteja relacionado a problemas de pMTUd.

    
por 15.01.2012 / 00:03
1

Você precisa permitir a conexão em dois locais, NAT e Firewall.

    
por 10.01.2012 / 05:08
1

Sua listagem de iptables é apenas para a tabela filter padrão (igual a iptables -t filter -L ), que é para roteamento simples tradicional e não é suficiente no seu caso - você usa NAT (conversão de endereços de rede).

Nesse caso, a configuração relevante está na tabela nat (conecte-se ao seu roteador por meio do ssh e edite iptables -t nat -L ); deve conter algo assim:

Chain PREROUTING (policy ...)
target     prot opt source               destination
DNAT       tcp  --  anywhere             your_internet_ip_address       tcp dpt:80 to:192.168.2.97:80

Claro, de fora você precisa se conectar ao link , não ao link

Não há ideia de como implementá-lo através da GUI do DD-WRT v24. Na v23 eu fiz isso via Applications&Gaming -> Port Forwarding e o DNAT funcionou muito bem.

UPDATE 1 : Então, você tem uma regra DNAT apropriada.

Mais uma coisa que eu notei. Você tem uma regra TRIGGER para a porta 80. Manual diz

By setting Port Triggering rules, you can allow inbound traffic to arrive at a specific LAN host [...] If a PC sends outbound traffic from those ports, incoming traffic on the Forwarded Range will be forwarded to that PC.

Isso é algo bem diferente do DNAT (Port Forwarding) normal e pode muito provavelmente entrar em conflito com ele. Triggering é normalmente usado para aplicações que se conectam de volta (geralmente jogos multiplayer), não vejo por que alguém iria querer isso para a porta 80.

    
por 14.01.2012 / 23:33
1

Suas regras estão bem. Você tem a porta 80 configurada como padrão para acesso remoto. Mude isso e você deve ficar bem.

    
por 29.05.2012 / 10:57
-1

A porta 80 vai para a sua página de configuração dd-wrt. Tudo o que você precisa fazer é mudar a página de configuração dd-wrt para outra porta. Em seguida, encaminhar a porta 80 para o IP desejado.

    
por 22.05.2013 / 06:35