wifi热点的防火墙

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 放行。

相关推荐
传奇开心果3 小时前
【探秘 Jetpack Compose 框架深水区】 第8课:rememberSaveable 的边界在哪里?——Bundle、Saver 与什么值得跨进程存活
android·kotlin
Frankie_stand4 小时前
测试自动化实战指南:从脚本化、自动判据到 CI 集成的完整落地路径
android·ci/cd·自动化
恋猫de小郭5 小时前
Flutter 大小核优化又被回滚,然后又开新提案?
android·前端·flutter
Kapaseker5 小时前
领导问我 Kotlin 的 Nothing 是什么?
android·kotlin
韩曙亮6 小时前
【错误记录】安卓 adb 调试 5037 端口占用排查 ( adb 的三层结构 | 找出本机占用 5037 的进程 )
android·数据库·adb·安卓·错误记录
三少爷的鞋7 小时前
不改变异步本质,只改变代码组织:Telegram 项目的 Kotlin 协程实践
android
好的佩奇16 小时前
蓝牙之广播与扫描
android·flutter·蓝牙
传奇开心果编程17 小时前
【Jetpack Compose娓娓道来】第36课:焦点管理与键盘输入——让遥控器、键盘和输入法都“找得到北”
android·kotlin·移动开发·交互·android jetpack·ui框架·声明式ui
hai_android18 小时前
AudioTrack 深度解析:从原理到实战
android·java·kotlin
红尘伴蝶舞18 小时前
从秒开优化到连环崩溃:深入剖析 ViewPager2 在常驻 DialogFragment 中的复用陷阱与自愈方案
android·kotlin