我正在将 Gentoo Hardened 作为 Dom0 运行。它还充当路由器/NAT。有一个名为 br0 的桥接接口,其中包含 pci-e wlan 卡、以太网 nic 和 domU。
bridge name bridge id STP enabled interfaces
br0 8000.002590d4dffe no enp5s0
vif1.0
wlp1s0
互联网连接通过 enp6s0 并伪装成 br0。Dnsmasq 正在为 br0 提供地址。我遇到了大量丢弃的 RX 数据包:
br0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255
ether 00:25:90:d4:df:fe txqueuelen 0 (Ethernet)
RX packets 61866962 bytes 67532965037 (62.8 GiB)
RX errors 0 dropped 26876 overruns 0 frame 0
TX packets 51716758 bytes 65149682646 (60.6 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
它们也出现在 domU 上:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255
ether 00:16:3e:73:d7:5f txqueuelen 1000 (Ethernet)
RX packets 4529002 bytes 4459840926 (4.1 GiB)
RX errors 0 dropped 35247 overruns 0 frame 0
TX packets 4487535 bytes 795673002 (758.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我不知道从哪里开始调试。我试过 tcpdump 和 dropwatch。以下是 dropwatch 运行约 10 秒后的输出:http://pastebin.com/d0yUn9HD
答案1
丢弃数据包是超出范围的标志。
查看ethtool -g eth0
是否可以提高接收缓冲区。
这样做会很快(1-2 秒)重置链接。