방화벽 규칙으로 인해 DNS가 작동하지 않습니다.

방화벽 규칙으로 인해 DNS가 작동하지 않습니다.

내 서버에 방화벽 규칙이 설정되어 있으며 일반적으로 잘 작동합니다. 그러나 문제가 있습니다. 내 서버가 어떤 웹사이트에도 핑을 보낼 수 없다는 것입니다. 이러한 규칙이 활성화되면 DNS 문제가 발생하는 것으로 보입니다. ping을 시도할 때 다음 오류가 발생합니다.

ping: google.com: Temporary failure in name resolution

방화벽 규칙을 비활성화하면 이 문제가 사라집니다. 특정 규칙을 추가하여 Google 및 Cloudflare의 DNS 서버(내 서버가 사용하는)에 대한 나가는 연결을 허용하려고 시도했지만 문제가 지속됩니다. 내가 구성한 규칙은 다음과 같습니다.

sudo ip6tables -P INPUT DROP
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -I INPUT -m set --match-set allowed_countries_ipv4 src -j ACCEPT
sudo ip6tables -I INPUT -m set --match-set allowed_countries_ipv6 src -j ACCEPT
sudo iptables -A INPUT -p udp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo ip6tables -A INPUT -p udp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo ip6tables -A INPUT -p tcp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT

# OUTPUT chain rules for DNS
sudo iptables -A OUTPUT -d 8.8.8.8 -p udp --dport 53 -j ACCEPT
sudo iptables -A OUTPUT -d 8.8.8.8 -p tcp --dport 53 -j ACCEPT
sudo iptables -A OUTPUT -d 1.1.1.1 -p udp --dport 53 -j ACCEPT
sudo iptables -A OUTPUT -d 1.1.1.1 -p tcp --dport 53 -j ACCEPT
sudo ip6tables -A OUTPUT -d 2001:4860:4860::8888 -p udp --dport 53 -j ACCEPT
sudo ip6tables -A OUTPUT -d 2001:4860:4860::8888 -p tcp --dport 53 -j ACCEPT
sudo ip6tables -A OUTPUT -d 2606:4700:4700::1111 -p udp --dport 53 -j ACCEPT
sudo ip6tables -A OUTPUT -d 2606:4700:4700::1111 -p tcp --dport 53 -j ACCEPT

제가 놓친 부분이 있나요? 시도해 볼 다른 사항에 대한 제안은 크게 감사하겠습니다.

감사해요!

관련 정보