zw963 / asuswrt-merlin-transparent-proxy

transparent proxy base on ss, v2ray, xray, ipset, iptables, chinadns on asuswrt merlin or side router.
MIT License
380 stars 80 forks source link

[Bug] iptable restore 导致用户添加规则被覆盖 #72

Closed zeroohub closed 5 years ago

zeroohub commented 5 years ago

关于iptables有一个改进和一个bug: 改进: iptable 被系统刷新是发生在dhcp重新分配新外网地址的时候, 这个可以把原来使用cron的, 改为监听dhcpc-event. bug: 与config_iptables脚本相关, 假设场景:

  1. 跑config_iptables备份数据, 并配置规则
  2. 用户在webui上添加了类似port forwarding这样的规则
  3. ip whiltelist更新, iptable从备份还原, 再添加ss规则
  4. webui配置丢失.

解决: 还原iptable不通过备份还原的方式, 而是使用类似 iptables -t nat -D OUTPUT -p tcp -j SHADOWSOCKS_TCP 匹配删除规则的方式来还原.

zw963 commented 5 years ago

谢谢你的建议,第二个 bug 我已经在 https://github.com/zw963/asuswrt-merlin-transparent-proxy/pull/73 中做了尝试性的修改,可能还有 BUG, 如果有空, 请帮忙测试一下。

zw963 commented 5 years ago

至于第一个改进, 请提供一个 监听dhcpc-event 的示例, 我并没有明白这个应该如何做。

zeroohub commented 5 years ago

至于第一个改进, 请提供一个 监听dhcpc-event 的示例, 我并没有明白这个应该如何做。

/jffs/scripts/dhcpc-event 脚本里加对应代码就好了, 跟你现有的wan-start一样.

zw963 commented 5 years ago

以上问题已经修改.