dd-wrt - limita o acesso à máquina do mundo exterior

1

No dd-wrt, posso limitar o acesso do "mundo exterior" a uma única máquina com uma lista de permissões de IP? Por isso, quero permitir o acesso de um único IP de "mundo externo" a uma única máquina na minha rede, e todas as outras máquinas devem aceitar chamadas de qualquer chamador externo.

    
por SFun28 27.06.2011 / 23:34

2 respostas

2

dd-wrt permite o uso de iptables. Você pode inserir comandos de firewall na GUI dd-wrt em: Administração- > Comandos- > [insira comandos na caixa de texto- > Salve o Firewall.

Eu roubei, desculpe-me, cite, o seguinte no wiki do dd-wrt :

Suppose I might want to add a rule so that I can ssh into my router from a specific host/address outside. Then I might type the following:

iptables -A INPUT -p tcp -s 150.100.whatever.something --dport 22 -j logaccept

So I am saying: Append to the INPUT chain a rule allowing protocol tcp, with a source address of traffic destined for port 22 on my router, jump to logaccept. I could have used -j ACCEPT which simply jumps to ACCEPT, but in this case I want to log it just to keep track so I use logaccept, which is a chain we have set up for this purpose.

Note: Simply adding a rule to the INPUT chain may be enough to allow remote SSH access from the WAN. However, if your router is still in NAT/Gateway mode and you wish to remap the SSH port to something less traditional on the WAN side (say port 2222), you may Insert a PREROUTING rule instead. This is actually how the GUI does it when you enable remote WAN SSH management.

iptables -A INPUT -p tcp -m tcp -d 'nvram get lan_ipaddr' --dport 22 -j logaccept  
iptables -t nat -A PREROUTING -p tcp -m tcp -d 'nvram get wan_ipaddr' --dport 2222 -j DNAT --to-destination 'nvram get lan_ipaddr':22
    
por 28.06.2011 / 00:22
1

As regras do iptables são lidas em uma cadeia, portanto, qualquer regra que seja cumprida primeiro é o que é usado. No meu exemplo, as regras são anexadas à parte inferior da cadeia (por meio da opção -A). Onde você diz que já redireciona a porta 22, estou assumindo que você fez isso através da GUI, o que é bom, e o que a GUI faz é simplesmente traduzi-la em uma regra do iptables, que você pode ver com o comando

iptables -vnL

, que mostra a lista completa de regras de tabelas ip em vigor.

Em relação ao seu segundo comentário: iptables só se aplica quando o seu tráfego está cruzando entre as partes WAN e LAN do seu roteador, ou seja, se o seu endereço está na faixa privada (192.168.xx) e recebendo isso para o host apropriado no A LAN é feita usando apenas as interfaces LAN, enquanto os endereços públicos nos pacotes originados na LAN são automaticamente enviados para a WAN para entrega.

Um experimento interessante que você pode executar para testar esse comportamento é tentar conectar-se ao host interno usando um endereço interno, como 192.168.xx: 22, com o encaminhamento de porta desativado para essa porta na GUI dd-wrt , tente conectar-se ao seu endereço IP externo (encontre-o procurando na GUI dd-wrt) na mesma porta, como 76.54.999.257:22 (exceto usar um endereço real, é claro). Com o redirecionamento de porta desabilitado, você realmente verá que a conexão interna funciona onde o externo não funciona.

Você pode ajustar o comportamento do que o dd-wrt considera uma porta do lado da WAN e o que é uma porta do lado da LAN usando VLANs e de agrupar logicamente portas físicas de maneiras estranhas, mas isso está além do escopo da questão .

    
por 29.06.2011 / 02:15

Tags