如何通过编辑文件而不是通过命令行交互来修改iptables规则?


27

在历史记录中,我只需要编辑一个文件,然后
重新启动整个服务器即可。

我将克隆端口22打开的行,
将其更改为80,然后保存文件..并重新启动
整个系统,以便iptables从端口80打开开始。

但是在最近的时候..那个文件不再存在
于我的centos 6.5 OS中

Google上的大多数答案都建议我必须与iptables
进行交互才能启用和禁用端口。

是否可以不与iptables进行交互,而
只是将您面前的所有内容视为一个可编辑文件?

Answers:


47

在CentOS中,如果没有该文件,/etc/sysconfig/iptables则拥有该文件,您可以简单地通过iptables-save将当前规则集转储到文件中来创建该文件。

iptables-save > /etc/sysconfig/iptables

要加载不需要重启机器的文件,可以使用 iptables-restore

iptables-restore < /etc/sysconfig/iptables

这就像创建和恢复文件一样,但是在重新启动后,一切都会恢复到初始状态!我正在尝试添加一个在启动时可运行的脚本来应用此脚本,但是没有希望!
Yazid Erman

1
iptables-restore适用于OS启动脚本。如果您要进行一些更改并希望它们从控制台手动应用,则有一个更安全的命令iptables-apply-超时后,如果您不小心将自己从服务器中删除,它将还原所有更改。
Messa

iptables-apply显然不是RedHat Enterprise 7.4的一部分:-/
Levon

1

我认为应该是“ service iptables save”将其保存在/ etc / sysconfig / iptables中,然后“ service iptables restart”以确保所创建的规则保持不变

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.