최근에 새 컴퓨터에 하드 드라이브를 설치했는데 약간의 조작 후에 iptables 규칙이 어떤 이유로 DNS 응답을 삭제하는 것을 발견했습니다. eth0의 항목을 허용하도록 구성되어 있는 것으로 나타났습니다. 하지만 이 컴퓨터는 eth8과 모든 것을 사용하고 있습니다. 삭제되고 있습니다(DNS 쿼리뿐만 아니라). 어쨌든 저는 Wireshark를 사용하여 DNS 서버가 쿼리에 응답했는지 확인했고 응답했다는 사실을 발견했습니다. 하지만 방금 iptables가 해당 패킷을 삭제하고 있다는 것을 알았습니다. 패킷이 삭제되면 Wireshark에서 이를 볼 수 있는 이유는 무엇입니까?
규칙 세트 생성을 위한 스크립트:
# Flush all rules
iptables -F
iptables -X
# Allow unlimited traffic on loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow incomming traffic from estabilished and related connections
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Policy: Allow outgoing, deny incoming and forwarding
iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
답변1
Wireshark 목적libpcap운영 체제에서 데이터를 처리하기 전에 NIC에서 데이터를 얻습니다. 보다libpcap 튜토리얼libpcap에 대한 소개입니다.