Recentemente, adicionei algumas regras ao GUFW para garantir que apenas minha conexão VPN (pessoal) possa sair, sendo xxxx meu ip, yyyy sendo o IP da VPN ao qual me conecto.
Para - Ação - De
aaaa PERMITIR xxxx
Em qualquer lugar NEGAR xxxx
Até agora, tudo funcionou bem: nada poderia passar, exceto minha conexão VPN, que faria com que tudo passasse por ela. Internet, tudo funciona.
Quero verificar um host (tttt) na minha rede doméstica para identificá-lo. Então tento fazer uma varredura Syn usando nmap:
sudo nmap tttt -sS -v
No entanto, parece que o firewall está bloqueando as sondas enquanto recebo isto:
sendto em send_ip_packet_sd: sendto(5, packet, 44, 0, tttt, 16) => Operação não permitida
Então adicionei esta regra:
xx0.0/16 PERMITIR xxxx
Estranhamente, ainda recebo o mesmo erro, mesmo se usar uma máscara de rede/24. Desativar o firewall resolve, mas estou procurando uma solução real.
Alguma pista sobre qual pode ser o problema? Obrigado.
RESOLVIDO: A ordem das regras do iptables é muito importante. Como o gufw é uma simplificação dele, tive que mudar a ordem das regras. PRIMEIRO, você PERMITE que a interface se comunique com a sub-rede, ENTÃO você NEGA à interface a comunicação com o resto do mundo. Posso fazer ping, escanear, etc., a sub-rede agora, e o resto da Internet será bloqueado se eu não estiver usando a VPN: pings, escanear... não posso sair.
Responder1
Como eu disse na minha edição, a ordem das regras é muito importante.
Mesmo para o gufw, você precisa levar isso em consideração. Então, para fazer o que eu pretendia fazer:
Você primeiro PERMITE que a interface se comunique com a sub-rede (xx0.0/16) e depois NEGUE a comunicação com o resto do mundo.
Eu havia invertido a ordem, sem saber qual regra seria levada em consideração primeiro.