iptables를 사용하여 나가는 DNS 쿼리를 단일 그룹으로 제한하면 작동하지 않습니다.

iptables를 사용하여 나가는 DNS 쿼리를 단일 그룹으로 제한하면 작동하지 않습니다.

기본적으로 내 컴퓨터의 모든 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

nslookupping 대신 사용하고 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

내 실수는 무엇입니까?

관련 정보