IP 10.0.0.1/24의 서버가 있고 IP 10.0.0.2/24의 기본 게이트웨이인 방화벽이 있습니다. 서버가 DNS 서비스에만 액세스할 수 있도록 방화벽에 대한 권한을 설정해야 합니다. iptables를 사용해야 합니다.
답변1
방화벽 FORWARD 체인이 기본적으로 DROP을 수행하는 경우 이것으로 충분합니다.
iptables -A FORWARD -s 10.0.0.1 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s 10.0.0.1 -p udp --dport 53 -j ACCEPT
(DNS는 포트 53 UDP와 TCP를 모두 사용합니다)
예를 들어 DNS 서버 10.1.1.1도 지정하려는 경우:
iptables -A FORWARD -s 10.0.0.1 -d 10.1.1.1 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s 10.0.0.1 -d 10.1.1.1 -p udp --dport 53 -j ACCEPT
구성 파일에 응답이 필요한 IP 주소/네트워크의 요청만 수락하도록 DNS 서버를 구성할 수도 있습니다.
답변2
(바인드 DNS가 사용된다고 가정) - DNS 서비스/데몬이 127.0.0.1에서만 수신 대기하도록 하면 어떨까요? 바인딩 데몬의 옵션에 다음을 추가하면 됩니다.
listen-on { 127.0.0.1; };
그런 다음 서버에 127.0.0.1의 DNS 서버를 사용하도록 지시합니다. 방화벽 규칙이 필요하지 않습니다! :)