Chain tetherctrl_FORWARD (1 references)
pkts bytes target prot opt in out source destination
94805 59M bw_global_alert all -- * * 0.0.0.0/0 0.0.0.0/0
- 匹配条件:
in=* out=*,所有协议,无源/目标限制 - 作用:所有进入此链的包无条件命中,跳转到
bw_global_alert链统计带宽,然后 RETURN 回来继续匹配下一条 - tcpdump 示例:任何转发包都会命中,比如:
全部命中,94805 包就是总转发量。
30509 29M tetherctrl_counters all -- eth2.16 wlan2 0.0.0.0/0 0.0.0.0/0 [goto] state RELATED,ESTABLISHED
匹配条件:in=eth2.16 out=wlan2,且连接状态为 ESTABLISHED 或 RELATED
• 作用:互联网的回包(属于已建立连接的响应包)从 eth2.16 转发给热点客户端 wlan2。[goto] 意味着进入 tetherctrl_counters 计数后 RETURN 直接回到主 FORWARD 链,不再走 tetherctrl_FORWARD 后续规则
热点客户端之前发了 HTTP 请求,服务器响应回来:
110.242.68.66.80 > 192.168.43.100.52341: TCP ACK, length 1460 ← HTTP 响应数据
DNS 查询的响应:
223.5.5.5.53 > 192.168.43.100.41234: UDP, length 128 ← DNS 应答
FTP 数据连接(RELATED):
203.0.113.5.20 > 192.168.43.100.49876: TCP SYN ← FTP RELATED 连接
30509 包、29MB ------ 这是下载方向的流量。
250 10944 DROP all -- wlan2 eth2.16 0.0.0.0/0 0.0.0.0/0 state INVALID
匹配条件:in=wlan2 out=eth2.16,连接跟踪状态为 INVALID
• 作用:热点客户端发出的但 conntrack 无法识别的异常包,直接丢弃
TCP 的 RST 包(没有对应的已知连接):
192.168.43.100.52341 > 110.242.68.66.80: Flags [R], seq 0
分片重组失败的碎片:
192.168.43.100 > 8.8.8.8: frag (0|1480) ← 乱序/重复分片
伪造的 ACK(没有对应的 SYN):
192.168.43.100.12345 > 1.2.3.4.443: Flags [.], ack 1
250 包、10KB ------ 正常范围,通常是连接断开期间的残余包。
38833 15M tetherctrl_counters all -- wlan2 eth2.16 0.0.0.0/0 0.0.0.0/0 [goto]
匹配条件:in=wlan2 out=eth2.16,无状态限制(NEW + ESTABLISHED + RELATED 都匹配)
• 作用:热点客户端发往互联网的所有合法包(新建连接 + 已有连接的后续包)放行并计数。经过规则 3 过滤掉 INVALID 后,剩下的都在这里放行
• tcpdump 示例:
新建 TCP 连接的 SYN(NEW):
192.168.43.100.52341 > 110.242.68.66.80: Flags [S], seq 1234
DNS 查询(NEW):
192.168.43.100.41234 > 223.5.5.5.53: UDP, length 64
已建立连接上的数据包(ESTABLISHED):
192.168.43.100.52341 > 110.242.68.66.80: Flags [P.], length 512 ← POST 请求
HTTPS 握手(NEW → ESTABLISHED):
192.168.43.100.43210 > 14.215.177.39.443: Flags [S], seq 5678
38833 包、15MB ------ 这是上传方向的流量。
25213 14M DROP all -- * * 0.0.0.0/0 0.0.0.0/0
匹配条件:in=* out=*,前面所有规则都没匹配到的包
• 作用:不属于 eth2.16 ↔ wlan2 接口对的转发流量,全部丢弃
• tcpdump 示例:
25213 包、14MB ------ 这就是导致热点不可用的元凶。这些包本应正常转发,但被 DROP 拦截了。改成 RETURN 后,它们会回到主 FORWARD 链走 policy ACCEPT 放行。
