Eu tenho um Ubuntu Server 12.04, com duas placas de rede:
- eth0 está conectado à internet
- eth1 está conectado a uma rede privada (192.168.10.1)
O servidor está configurado como gateway e hospeda DNS e DHCP da rede privada. Os computadores na rede privada (digamos, com o endereço IP 192.168.10.50) podem se conectar à Internet com êxito.
As regras do UFW são as seguintes:
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
67/udp on eth1 ALLOW 68/udp
53 ALLOW Anywhere
22 ALLOW Anywhere (v6)
80 ALLOW Anywhere (v6)
443 ALLOW Anywhere (v6)
67/udp on eth1 ALLOW 68/udp
53 ALLOW Anywhere (v6)
Qualquer usuário da Internet pode consultar meu servidor DNS. Gostaria de bloquear essas solicitações, pois isso representa um risco de segurança. Eu reconfigurei o firewall, permiti acesso às portas 80, 443, 22 e digitei o seguinte para permitir somente dispositivos na rede privada para fazer solicitações DNS.
sudo ufw allow in on eth1 to 192.168.10.1 port 53
Quando digitar o seguinte em um computador Windows (com endereço IP 192.168.10.50) na rede privada:
nslookup google.com. 192.168.10.1
Recebo uma resposta que se parece com a seguinte:
DNS request timed out.
timeout was 2 seconds.
Server: Unknown
Address: 192.168.10.1
Quando eu reinicio o firewall e permito acesso à porta 53 de qualquer lugar, tudo funciona novamente.
sudo ufw allow 53
Como se configura o UFW em 192.168.10.1 para
- bloqueia consultas DNS recebidas da Internet (também conhecido como eth0)
- permite que computadores na rede privada façam consultas de DNS
- permite que o servidor dns em 192.168.10.1 encaminhe solicitações DNS internas para a internet
- funciona para IPv4 e IPv6