기본적으로 내 컴퓨터의 모든 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
두 번째 경우에는 DNS 쿼리가 성공적으로 차단되었지만 dns-allowed
그룹 내에서 핑을 시작하려고 시도했지만 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
내 실수는 무엇입니까?