既定では、私のコンピュータ上のすべてのDNSクエリをブロックし、特定のユーザーグループのみがそれを使用できるようにします。私は次のルールを試してみます。
sudo su
groupadd dns-allowed
iptables -A OUTPUT -p udp --dport 53 -m owner --gid-owner dns-allowed -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j REJECT
2番目のケースでは、DNSクエリは正常にブロックされましたが、dns-allowed
グループ内でpingを開始しようとしましたが、DNSクエリはまだブロックされています。
sudo sg dns-allowed "ping google.com"
ping: google.com: Name or service not known
nslookup
pingの代わりに使用してDNSサーバー8.8.8.8を指定すると、dns-allowed
グループで起動すると機能しますが、再びping
失敗することがわかりました。ほとんどのアプリはまだDNSを使用できません。:
sudo sg dns-allowed "nslookup google.com 8.8.8.8"
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: ....
構成ファイルの解析
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 127.0.0.53
私の間違いは何ですか?