是这样的,iptables 规则是 ssh 上去写的, 为了让它每次启动都生效,把它都写在 /etc/rc.local 里, 可是每次启动后都不生效,启动时被某项服务重写过规则,因为里面都是在 web 配置界面配置的地址转换,qos 之类的规则。 真是没办法了,求助大家
1
JJaicmkmy 2017-05-19 07:51:43 +08:00
把规则放在 shell 脚本里,扔到 /config/scripts/post-config.d
|
2
ProjectAmber 2017-05-19 07:57:42 +08:00 via iPhone
安装 iptables-persistent。
|
3
leavic 2017-05-19 09:04:30 +08:00
我的方法是在某个服务的 init.d 脚本里写,例如 shadowsocks 的 init 脚本。
|
4
xuan880 2017-05-19 09:22:19 +08:00
Ubuntu?你是不是启用了 ufw 防火墙?规则写入到 ufw 的配置文件中.
|
5
helixzz 2017-05-19 14:23:08 +08:00
|
6
helixzz 2017-05-19 14:23:59 +08:00
@ProjectAmber 也是个思路,不过没在 EdgeOS 上试过会不会有负面作用。
|
7
whoops OP @JJaicmkmy 晚上回家我试下去
@ProjectAmber 。。。我添加的源里没有这个包 @leavic 谢谢,图省事我都些在 rc.local 里了。 @helixzz 你说的对 web 界面里的好多都不支持,我的规则匹配 ipset 最后 -j REDIRECT --to-ports,实现不了才直接 ssh 上去配置规则了,回去我看看加个 sleep 几秒后执行是否能成功。 |
9
whoops OP @helixzz 最后把脚本扔到 /config/scripts/post-config.d 中,脚本里多加了好多 sleep 用以延迟命令执行,经过一个多星期的实践,很稳定
|