Skip to content

似乎会和mwan3冲突 #97

Description

@sadan9

先说环境:
immortalWrt 21.xx + passwall +mwan3 + fakehttp

一共3条线路,电信A,电信B,联通C。
现象是启动fakehttp -i A -i B之后电信B上监听的端口无法从外网访问。A和C正常。

让GPT协助分析iptables的各种规则以后,得到的结论是:
1)防火墙优先级是fakehttp-->psw--->mwan3
2)C正常是因为根本没有吃fakehttp的规则。
3)B不正常的原因是吃到fakehttp的规则导致没有被mwan3打上标记,导致回程路由不正常。
4)A正常的原因是虽然fakehttp拦截了没吃到mwan3,但因为默认是走A,所以正常。

有问题情况下的防火墙如下:
root@ImmortalWrt:~# iptables -t mangle -L PREROUTING -v -n --line-numbers
Chain PREROUTING (policy ACCEPT 38481 packets, 4544K bytes)
num pkts bytes target prot opt in out source destination
1 59076 6674K FAKEHTTP_S all -- * * 0.0.0.0/0 0.0.0.0/0
2 60437 6812K PSW_DIVERT tcp -- * * 0.0.0.0/0 0.0.0.0/0 socket
3 76499 9269K PSW all -- * * 0.0.0.0/0 0.0.0.0/0
4 79127 9587K mwan3_hook all -- * * 0.0.0.0/0 0.0.0.0/0

根据GPT的建议,增加了一条iptables -t mangle -I PREROUTING 1 -j mwan3_hook外部访问正常了
root@ImmortalWrt:~# iptables -t mangle -L PREROUTING -v -n --line-numbers
Chain PREROUTING (policy ACCEPT 85 packets, 8575 bytes)
num pkts bytes target prot opt in out source destination
1 159 15987 mwan3_hook all -- * * 0.0.0.0/0 0.0.0.0/0
2 67297 7645K FAKEHTTP_S all -- * * 0.0.0.0/0 0.0.0.0/0
3 63233 7137K PSW_DIVERT tcp -- * * 0.0.0.0/0 0.0.0.0/0 socket
4 81665 9900K PSW all -- * * 0.0.0.0/0 0.0.0.0/0
5 84293 10M mwan3_hook all -- * * 0.0.0.0/0 0.0.0.0/0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions