微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 在CentOS 6.2上重启后Iptables不会持续存在

我已经尝试在我的iptables中添加一些规则,但它们似乎没有保存.为了保存它们,我尝试运行iptables-save和service iptables save.每次我运行其中任何一个命令时,它都表示已成功保存.以下是我要插入的规则:
iptables -A INPUT -j REJECT -p tcp --destination-port 3306
iptables -A INPUT -j REJECT -p tcp --destination-port 25

这些规则工作并在我输入后保持原位,但是当我重新启动系统时,他们在运行iptables -L时从列表中消失并且端口再次打开(使用nmap检查).

查看我的/ etc / sysconfig / iptables文件时,规则就在那里(在底部),所有“已完成”的时间戳都来自我保存似乎正确的规则.此外,在我的/ etc / sysconfig / iptables-config文件中,所有设置都是认设置,并且从其他位置或其他位置加载iptable规则似乎没有任何改变.

解决方法

如果在重启后使用iptables -L看不到更改,则表明:

>规则没有得到保存

>你建议他们是,但同时说’完成时间戳’ – 复数.这可能意味着您在同一文件中有多个规则副本,并且只应用第一个规则.

>将输出从iptables-save重定向到上面的文件(不要追加):

iptables-save > /etc/sysconfig/iptables

>或者,只需将现有文件移动到其他位置,然后保存.

>规则被保存到错误文件

>您的配置可能被设置为加载与您保存的文件不同的文件 – 确保加载的文件与您保存的文件相匹配.

>该文件通常是/ etc / sysconfig / iptables
>如果查看/etc/init.d/iptables,您应该找到以下行来确定要加载哪个文件

IPTABLES=iptables
IPTABLES_DATA=/etc/sysconfig/$IPTABLES

>规则有误

>这通常不是问题 – iptables通常只是忽略了错误的规则;并且你不是手工编写它们(你正在保存一个可能的工作规则集).

>启动时未启动iptables

>跑

chkconfig --list iptables

检查加载了哪些运行级别iptables.如果未在右运行级别中启用,请将其添加

chkconfig --level 2345 iptables on

您应该能够通过重新启动iptables来测试您的设置(而不是重新启动计算机):

service iptables restart

标准iptables免责声明:万一出现问题……

>备份现有规则集:

cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak

>设置一个cron作业,几分钟后将刷新你的iptables(当然,一旦一切正常,就删除它).

原文地址:https://www.jb51.cc/linux/401023.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐