A comunidade aqui é incrível!
Eu tenho um roteador sem fio ASUS 3100 e cerca de 4 câmeras IP. No meu roteador antigo, era fácil bloquear o tráfego de saída para que eu pudesse ter certeza de que as câmeras não estavam "ligando para casa". Eu quero fazer a mesma coisa com este roteador, então eu decidi primeiro usar a ferramenta de encaminhamento de porta e então comecei a procurar IPTABLES. Eu não sei se isso é um problema para asuswrt-merlin usar o encaminhamento de porta na ferramenta de administração de roteadores & o iptables. Eu suspeito que não ... certo?
Meu objetivo:
Não quero bloquear INPUTS / OUTPUTS, pois tenho algumas coisas da IoT que se comunicam em outro lugar, portanto, não quero alterar a política padrão para bloquear isso. A menos que eu esteja entendendo mal como isso funciona.
Liguei o roteador com o Asuswrt-Merlin mais recente e ativei os scripts personalizados do JFFS. Eu criei um arquivo em /jffs/scripts/
chamado firewall-start
. Eu editei o arquivo começando com shebang e adicionei algumas regras (vou voltar a isso mais tarde). Eu usei service restart_firewall
. O problema que estou me metendo é que eu não estou obtendo os resultados apropriados e é muito possível que eu esteja escrevendo as regras erradas e / ou talvez a ordem.
Eu tentei o iptables, tentei o iptables INPUT & OUTPUT, e eu tentei uma combinação de "INSERT" / "APPEND" e por alguma razão estranha, ele irá bloquear ou deixar tudo ABERTO. Nunca segue meu objetivo final. Tenho certeza que tem a ver com alguma ordem ou regras padrão para FORWARD ou INPUT ou OUTPUT, mas eu simplesmente não consigo descobrir isso.
Inseri as regras uma de cada vez também. Algo simples para começar.
iptables -I FORWARD -d 192.168.1.0/29 -p tcp --dport 17111 -j DROP
Isso cai. Às vezes é meticuloso, porque se eu tentar canyouseeme.org e ele diz bem sucedido colocar no código ainda diz bem sucedido. Às vezes, diz que falhou (o que significa que caiu), então às vezes é isso que eu encontro, mas parece que talvez seja um problema não relacionado. Então eu digo para mim mesmo ok que funciona. agora vamos adicionar uma regra INSERT APÓS porque obviamente INSERT vai para o topo então eu adicionei após o código acima com isto:
iptables -I FORWARD -s myworkip -d 192.168.1.0/29 -p tcp --dport 121 -j ACCEPT
Então, com esses dois no arquivo. Eu libero o iptables e reinicio o serviço de início de firewall para que ele adquira as novas regras. Eu uso iptables -L
, vejo que está na ordem correta. Teste-o recarregando a página ddns.dns.com:121 e nada. Não vai carregar. É algum cache? Precisa de tempo? Às vezes eu espero por 5 minutos e ainda nada. Eu uso o canyouseeme.org novamente e ele ainda diz que falhou no último código DROP.
Eu preciso de alguns especialistas para me ajudar. Aqui está o meu iptable existente a partir de agora:
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP icmp -- anywhere anywhere icmp echo-request
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP all -- anywhere anywhere state INVALID
PTCSRVWAN all -- anywhere anywhere
PTCSRVLAN all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state NEW
ACCEPT all -- anywhere anywhere state NEW
OVPN all -- anywhere anywhere state NEW
ACCEPT udp -- anywhere anywhere udp spt:bootps dpt:bootpc
INPUT_ICMP icmp -- anywhere anywhere
DROP all -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
other2wan all -- anywhere anywhere
DROP all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere
NSFW all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate DNAT
OVPN all -- anywhere anywhere state NEW
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain ACCESS_RESTRICTION (0 references)
target prot opt source destination
Chain FUPNP (0 references)
target prot opt source destination
Chain INPUT_ICMP (1 references)
target prot opt source destination
RETURN icmp -- anywhere anywhere icmp echo-request
RETURN icmp -- anywhere anywhere icmp timestamp-request
ACCEPT icmp -- anywhere anywhere
Chain NSFW (1 references)
target prot opt source destination
Chain OVPN (2 references)
target prot opt source destination
Chain PControls (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Chain PTCSRVLAN (1 references)
target prot opt source destination
Chain PTCSRVWAN (1 references)
target prot opt source destination
Chain SECURITY (0 references)
target prot opt source destination
RETURN tcp -- anywhere anywhere tcpflags: FIN,SYN,RST,ACK/SYN limit: avg 1/sec burst 5
DROP tcp -- anywhere anywhere tcpflags: FIN,SYN,RST,ACK/SYN
RETURN tcp -- anywhere anywhere tcpflags: FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
DROP tcp -- anywhere anywhere tcpflags: FIN,SYN,RST,ACK/RST
RETURN icmp -- anywhere anywhere icmp echo-request limit: avg 1/sec burst 5
DROP icmp -- anywhere anywhere icmp echo-request
RETURN all -- anywhere anywhere
Chain default_block (0 references)
target prot opt source destination
Chain logaccept (0 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix "ACCEPT "
ACCEPT all -- anywhere anywhere
Chain logdrop (0 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix "DROP "
DROP all -- anywhere anywhere
Chain other2wan (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
DROP all -- anywhere anywhere
Obrigado antecipadamente!