Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

fix: call shutdown() before restart #709

Merged
merged 1 commit into from
Aug 30, 2023
Merged

Conversation

AlphaGHX
Copy link

当我使用 Api 来重启或更新 Meta 内核时,会出现 iptables 规则重复的情况。查看代码后发现是调用 runRestart 的时候没有清除 iptables。

我直接用 executor.Shutdown() 替换掉原来的 listener.Cleanup(false),问题得到解决。

以下内容是因为在重启时没有清除规则导致的规则重复,这导致彻底退出 Meta 后也会残留部分规则,最终影响路由。

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:clash_dns_output - [0:0]
-A PREROUTING ! -s 172.17.0.0/16 ! -d 127.0.0.0/8 -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
-A PREROUTING ! -s 172.17.0.0/16 ! -d 127.0.0.0/8 -p tcp -m tcp --dport 53 -j REDIRECT --to-ports 53
-A PREROUTING ! -s 172.17.0.0/16 ! -d 127.0.0.0/8 -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
-A PREROUTING ! -s 172.17.0.0/16 ! -d 127.0.0.0/8 -p tcp -m tcp --dport 53 -j REDIRECT --to-ports 53
-A PREROUTING ! -s 172.17.0.0/16 ! -d 127.0.0.0/8 -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
-A PREROUTING ! -s 172.17.0.0/16 ! -d 127.0.0.0/8 -p tcp -m tcp --dport 53 -j REDIRECT --to-ports 53
-A OUTPUT -p udp -m udp --dport 53 -j clash_dns_output
-A OUTPUT -p tcp -m tcp --dport 53 -j clash_dns_output
-A OUTPUT -p udp -m udp --dport 53 -j clash_dns_output
-A OUTPUT -p tcp -m tcp --dport 53 -j clash_dns_output
-A OUTPUT -p udp -m udp --dport 53 -j clash_dns_output
-A OUTPUT -p tcp -m tcp --dport 53 -j clash_dns_output
-A POSTROUTING -o eth0 -m addrtype ! --src-type LOCAL -j MASQUERADE
-A POSTROUTING -o eth0 -m addrtype ! --src-type LOCAL -j MASQUERADE
-A POSTROUTING -o eth0 -m addrtype ! --src-type LOCAL -j MASQUERADE
-A clash_dns_output -m mark --mark 0x86e -j RETURN
-A clash_dns_output -s 172.17.0.0/16 -j RETURN
-A clash_dns_output -p udp -j REDIRECT --to-ports 53
-A clash_dns_output -p tcp -j REDIRECT --to-ports 53

@Larvan2 Larvan2 merged commit 9536372 into MetaCubeX:Alpha Aug 30, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants