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(当然,一旦一切正常,就删除它).

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...