DNS는 루트 사용자가 IPTABLES 목록에 있는 경우에만 허용됩니다.

DNS는 루트 사용자가 IPTABLES 목록에 있는 경우에만 허용됩니다.

말도 안되는 질문이 있습니다.

1명의 사용자에게만 인터넷 접속을 허용하고 싶습니다. IPTABLES를 설정하면 허용된 사용자에게 ping을 보낼 수 있지만 모든 DNS 트래픽이 차단됩니다.

그러나 루트 사용자를 추가하면 이 문제를 "해결"할 수 있습니다. 어떻게 되어가나요? !

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    LOG        all  --  anywhere             anywhere             LOG level debug prefix "iptables denied output: "
2    ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
3    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
4    ACCEPT     all  --  anywhere             anywhere             owner UID match test
5    DROP       all  --  anywhere             anywhere            
test@test-VirtualBox:~$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=58 time=5.05 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=58 time=5.25 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 5.059/5.158/5.258/0.122 ms
test@test-VirtualBox:~$ ping stackexchange.com
ping: unknown host stackexchange.com
test@test-VirtualBox:~$ 

통나무

Feb  7 14:38:14 test-VirtualBox kernel: [14848.267387] iptables denied output: IN= OUT=lo SRC=127.0.0.1 DST=127.0.1.1 LEN=50 TOS=0x00 PREC=0x00 TTL=64 ID=2588 DF PROTO=UDP SPT=33317 DPT=53 LEN=30 
Feb  7 14:38:14 test-VirtualBox kernel: [14848.267535] iptables denied output: IN= OUT=enp0s3 SRC=10.0.0.119 DST=8.8.8.8 LEN=50 TOS=0x00 PREC=0x00 TTL=64 ID=39417 DF PROTO=UDP SPT=36975 DPT=53 LEN=30 
Feb  7 14:38:14 test-VirtualBox kernel: [14848.314265] iptables denied output: IN= OUT=lo SRC=127.0.1.1 DST=127.0.0.1 LEN=120 TOS=0x00 PREC=0x00 TTL=64 ID=56633 DF PROTO=UDP SPT=53 DPT=33317 LEN=100 
Feb  7 14:38:19 test-VirtualBox kernel: [14853.273968] iptables denied output: IN= OUT=lo SRC=127.0.0.1 DST=127.0.1.1 LEN=50 TOS=0x00 PREC=0x00 TTL=64 ID=3453 DF PROTO=UDP SPT=33317 DPT=53 LEN=30 
Feb  7 14:38:19 test-VirtualBox kernel: [14853.274099] iptables denied output: IN= OUT=enp0s3 SRC=10.0.0.119 DST=8.8.8.8 LEN=50 TOS=0x00 PREC=0x00 TTL=64 ID=40515 DF PROTO=UDP SPT=36975 DPT=53 LEN=30 
Feb  7 14:38:19 test-VirtualBox kernel: [14853.280184] iptables denied output: IN= OUT=lo SRC=127.0.1.1 DST=127.0.0.1 LEN=120 TOS=0x00 PREC=0x00 TTL=64 ID=57565 DF PROTO=UDP SPT=53 DPT=33317 LEN=100 

답변1

어쩌면 이미 파서가 설치되어 있을 수도 있습니다. 이 유형의 확인자는 모든 사용자에 대한 DNS 쿼리를 캐시하는 데 도움이 되며 루트(또는 "아무도 없음")에 의해 실행됩니다.

어떤 파서를 사용하고 있는지 확인하세요(예: 최신 배포판에서는 파서가 systemd에 포함되어 있으며 이전에는 공통 파서가 lwresd(바인드에서)였습니다.

관련 정보