ubnt EdgeOS 下如何固化 iptables 规则,每次开机都生效。

2017-05-19 07:23:21 +08:00
 whoops

是这样的,iptables 规则是 ssh 上去写的, 为了让它每次启动都生效,把它都写在 /etc/rc.local 里, 可是每次启动后都不生效,启动时被某项服务重写过规则,因为里面都是在 web 配置界面配置的地址转换,qos 之类的规则。 真是没办法了,求助大家

7360 次点击
所在节点    UBNT
10 条回复
JJaicmkmy
2017-05-19 07:51:43 +08:00
把规则放在 shell 脚本里,扔到 /config/scripts/post-config.d
ProjectAmber
2017-05-19 07:57:42 +08:00
安装 iptables-persistent。
leavic
2017-05-19 09:04:30 +08:00
我的方法是在某个服务的 init.d 脚本里写,例如 shadowsocks 的 init 脚本。
xuan880
2017-05-19 09:22:19 +08:00
Ubuntu?你是不是启用了 ufw 防火墙?规则写入到 ufw 的配置文件中.
helixzz
2017-05-19 14:23:08 +08:00
@xuan880 EdgeOS 底层是 Debian 上安装的 Vyatta。
@whoops 我这边做法是用 cron 写,都是 iptables -w -t nat -A 类似语法来插入条目,目前还是比较稳的… 最好的做法当然还是直接写到 UBNT 自己的 config 里,但无奈它不支持 -j REDIRECT --to-ports 和 -j RETURN。
helixzz
2017-05-19 14:23:59 +08:00
@ProjectAmber 也是个思路,不过没在 EdgeOS 上试过会不会有负面作用。
whoops
2017-05-19 15:52:14 +08:00
@JJaicmkmy 晚上回家我试下去
@ProjectAmber 。。。我添加的源里没有这个包
@leavic 谢谢,图省事我都些在 rc.local 里了。
@helixzz 你说的对 web 界面里的好多都不支持,我的规则匹配 ipset 最后 -j REDIRECT --to-ports,实现不了才直接 ssh 上去配置规则了,回去我看看加个 sleep 几秒后执行是否能成功。
helixzz
2017-05-24 16:39:23 +08:00
@whoops 嗯嗯,等你好消息
whoops
2017-05-27 17:26:03 +08:00
@helixzz 最后把脚本扔到 /config/scripts/post-config.d 中,脚本里多加了好多 sleep 用以延迟命令执行,经过一个多星期的实践,很稳定
helixzz
2017-06-22 18:51:44 +08:00
@whoops 差不多是这么干的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/362354

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX