We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如图,启用 DNS 劫持、IPv6 透明代理的情况下,ShellCrash 会在 prerouting_dns 以及 prerouting 链中添加规则,屏蔽所有外部请求。这个设计是不合理的
它会在 prerouting 阶段就拒绝掉所有不是自己网段的请求。而 openwrt 防火墙通信规则改的是 input_wan 链。即使用户 自己在通信规则里放行 特定端口,也会被 shellcrash 在 prerouting 阶段就拦截下来
如果是处于安全考虑,防止 clash 的 dns 被投到公网上的话,那也它应该只拒绝掉 clash 监听的 dns(udp 1053 端口)。而且 openwrt 的防火墙默认就会在 input 链中拒绝掉除用户规则外的所有入站请求,这部分其实不用 ShellCrash 来做(绝大多数系统的防火墙都是这样)
可以在 ShellCrash 运行的情况下,把路由器 22 端口转发到 wan,然后公网连路由器 SSH 来直接复现
观察到以下几段相关代码(iptables 和 nftables,以及局域网黑白名单的模式都有):
ShellCrash/scripts/start.sh
Line 1315 in ed13d0d
Line 1050 in ed13d0d
Line 1241 in ed13d0d
The text was updated successfully, but these errors were encountered:
现在发现也不一定是和 DNS 劫持有关。 体现在 劫持局域网 + 本地,同时打开 ipv6 透明代理 的情况下会把入站都拦掉 而 只劫持局域网,同时打开 ipv6 透明代理没问题
感觉和这里有关
Sorry, something went wrong.
nftables的处理逻辑似乎和iptables不太一样,我先尝试把那条rejack规则改为return再观察一下
No branches or pull requests
Verify steps
Description
如图,启用 DNS 劫持、IPv6 透明代理的情况下,ShellCrash 会在 prerouting_dns 以及 prerouting 链中添加规则,屏蔽所有外部请求。这个设计是不合理的
它会在 prerouting 阶段就拒绝掉所有不是自己网段的请求。而 openwrt 防火墙通信规则改的是 input_wan 链。即使用户 自己在通信规则里放行 特定端口,也会被 shellcrash 在 prerouting 阶段就拦截下来
如果是处于安全考虑,防止 clash 的 dns 被投到公网上的话,那也它应该只拒绝掉 clash 监听的 dns(udp 1053 端口)。而且 openwrt 的防火墙默认就会在 input 链中拒绝掉除用户规则外的所有入站请求,这部分其实不用 ShellCrash 来做(绝大多数系统的防火墙都是这样)
可以在 ShellCrash 运行的情况下,把路由器 22 端口转发到 wan,然后公网连路由器 SSH 来直接复现
观察到以下几段相关代码(iptables 和 nftables,以及局域网黑白名单的模式都有):
ShellCrash/scripts/start.sh
Line 1315 in ed13d0d
ShellCrash/scripts/start.sh
Line 1050 in ed13d0d
ShellCrash/scripts/start.sh
Line 1241 in ed13d0d
The text was updated successfully, but these errors were encountered: