遇到一个神奇的 iptables 问题,求解!

2021-11-15 18:35:13 +08:00
 hyuhui

背景

1 、服务器为亚马逊的 aws lightsail ,今天新建的 2 、系统是 CentOS Linux release 7.9.2009 (Core) 3 、内核是 5.12.19-1.el7 4 、已安装 iptables-services ,iptables 的状态为运行中

问题

添加规则,service iptables save 保存,iptables -L 能看到规则,测试规则生效。

但是,只要断开 ssh ,或者 reboot 服务器,重新 ssh 进去,iptables -L 看到规则清零了,测试规则失效了。vi /etc/sysconfig/iptables 看到规则是在里面的,service iptables restart 后规则重新生效,iptables -L 也能重新看到规则了。

新建了几个实例也还是这样!我之前建的实例却不会出现这个情况。

哪位大神知道这是为什么?

3474 次点击
所在节点    Linux
27 条回复
julyclyde
2021-11-16 11:00:09 +08:00
@Buges redhat 系用 service 没啥毛病。systemd 时代的 service 和 sysvinit 时代的 service 并不是同样内容的脚本;再说 iptables 也不是个正经 systemd service
yanqiyu
2021-11-16 11:37:18 +08:00
@hyuhui 那就说明登陆过程有啥东西 flush 了 iptables
要不试一试 https://unix.stackexchange.com/questions/206891/audit-on-changes-to-the-running-iptables-configuration 里面的方法设置 audit 规则追踪一下
snuglove
2021-11-16 11:41:58 +08:00
我都是使用 iptables-save >/etc/sysconfig/iptables 来保存,保存完了在重启 🤣🤣
hyuhui
2021-11-16 13:03:15 +08:00
报告各位

今天尝试了一下,昨天建的实例,问题依旧,但是今天新建的实例已经没有问题了,估计是 AWS 自己的问题😓
Buges
2021-11-16 14:01:38 +08:00
@julyclyde systemd 虽然有 sysvcompat 兼容以前的脚本,但没理由去用它啊,没有 /etc/init.d ,service 的啥行为都不知道。在我这里 iptables.service 是个正经的 oneshot systemd service ,rh 系统上还有啥区别吗?
julyclyde
2021-11-17 12:48:35 +08:00
@Buges centos8 里是 oneshot 吧。centos7 我记得应该是 sysv service
SkyHive
2021-11-17 17:00:35 +08:00
看看 bashrc 或者 /etc/profile 里有没有奇怪的东西 flush 你得 iptables

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

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

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

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

© 2021 V2EX