为什么 IPv6 不像 IPv4 那样大量使用环回?
我的操作系统:Linux Mint 20,内核版本 5.4.0-42。
为了生成下面的输出,我定义了一个别名:
alias iptables-watch="sudo watch -n30 'iptables --list INPUT --verbose --line-numbers && echo && ip6tables --list INPUT --verbose --line-numbers'"
Every 30.0s: iptables --list INPUT --verbose --line-numbers && echo && ip6tables --list INPUT --verbose --line-numbers
Chain INPUT (policy DROP 1656 packets, 116K bytes)
num pkts bytes target prot opt in out source destination
1 0 0 DROP all -- any any anywhere anywhere ctstate INVALID /* protection */
2 29177 3028K ACCEPT all -- lo any anywhere anywhere /* loopback */
3 0 0 ACCEPT icmp -- any any anywhere anywhere limit: avg 5/sec burst 15 /* icmp4 */
4 29053 93M ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED /* traffic4 */
5 0 0 ACCEPT tcp -- any any 192.168.0.0/24 anywhere ctstate NEW,ESTABLISHED tcp dpt:ssh /* ssh_local */
Chain INPUT (policy DROP 21 packets, 3321 bytes)
num pkts bytes target prot opt in out source destination
1 1 60 ACCEPT all any any anywhere anywhere ctstate INVALID /* protection */
2 4 292 ACCEPT all lo any anywhere anywhere /* loopback */
3 678 50048 ACCEPT ipv6-icmp any any anywhere anywhere limit: avg 20/sec burst 50 /* icmp6 */
4 279K 421M ACCEPT all any any anywhere anywhere ctstate RELATED,ESTABLISHED /* traffic6 */
5 18 3172 ACCEPT udp any any anywhere fe80::/64 ctstate NEW udp dpt:dhcpv6-client /* dhcp6 */
我很好奇为什么在我的计算机正常运行的这 2 个小时内,只有 IPv6 环回上有 4 个数据包?谢谢你。
编辑1:
根据当前答案完成我的问题:
$ tail -3 /etc/resolv.conf
nameserver 127.0.0.53
options edns0
search lan
因为程序没有要求它。
IP 不会无缘无故地生成环回数据包。您看到的所有流量都是使用 TCP over 127.0.0.1 进行内部通信的实际程序,或者可能是您的本地 DNS 解析器在 127.0.0.53 处回答查询,诸如此类。
因此,如果您在 resolv.conf 中有一个 IPv4 地址,例如“nameserver 127.0.0.53”,您自然会看到很多 IPv4 DNS 查询。
(您可以使用
tcpdump -ni lo
...查看数据包)