在以前与Centos 7和Red Hat一起使用之前,我在Ubuntu 18.04上存在iptables的问题,我可以简单地使用
systemctl restart iptables
但是在Ubuntu上它不起作用。我都找不到iptable init.d
。
有人可以帮助我如何在Ubuntu 18.04上重新启动或重新加载它吗?
在以前与Centos 7和Red Hat一起使用之前,我在Ubuntu 18.04上存在iptables的问题,我可以简单地使用
systemctl restart iptables
但是在Ubuntu上它不起作用。我都找不到iptable init.d
。
有人可以帮助我如何在Ubuntu 18.04上重新启动或重新加载它吗?
Answers:
如果您希望Ubuntu防火墙以与RedHat / Fedora类似的方式运行,请在Ubuntu 18.04中使用:
sudo apt install iptables-persistent netfilter-persistent
然后在中编辑规则 /etc/iptables/rules.v[46]
其他可能有用的命令:
netfilter-persistent save
netfilter-persistent start
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6
systemctl stop netfilter-persistent
systemctl start netfilter-persistent
systemctl restart netfilter-persistent
这两个软件包相似,但提供的功能略有不同。如果仅安装iptables-persistent
,则不会获得在systemd中正确处理的服务定义文件,例如/lib/systemd/system/netfilter-persistent.service
如果仅安装netfilter-persistent
,则会发现根据自述文件,规则在启动时未正确应用
netfilter-persistent and its plugins
------------------------------------
netfilter-persistent does no work on its own. You need the accompanying
plugins (for example, iptables-persistent) to load and save filter rules.
However, commands are run from netfilter-persistent. For example, to save
all filter rules:
netfilter-persistent save
or to load them:
netfilter-persistent start
For more details, see `man netfilter-persistent`.
The system service will try to load rules at startup if enabled, but by
default it will not flush rules at shutdown. This behaviour can be changed
by editing /etc/default/netfilter-persistent.
netfilter-persistent save
也会更新/etc/iptables/rules.v4/6
,如果正确的话,我认为iptables-save > /etc/iptables/rules.v4/6
也没有必要。
netfilter-persistent save
命令,因为它包含注释并且不会将计数器归零。
在较新的发行版中,您通常具有配置和管理防火墙的前端。最受追捧的ufw
和firewalld
,也许shorewall
。这些前端也要小心地添加规则,iptables
并且iptables
可以跳过脚本,或者最好说应该跳过脚本,因为前端不会iptables
直接提取您对命令所做的更改。
对于Ubuntu 18.04,它似乎firewalld
已成为默认ufw
安装位置,但处于非活动状态。
root@localhost:~# firewall-cmd --state
running
root@localhost:~# ufw status
Status: inactive
因此,与其创建自己的iptables
遵循规则,不如使用这些前端来创建防火墙配置。
我不熟悉,ufw
但可以肯定您会在这里找到Askubuntu或互联网上其他地方的信息。
firewalld
带有GUI(firewall-config
)和命令行工具firewall-cmd
。
随着firewalld
你必须添加规则,而不应用它现在(该选项永久),只有经过防火墙的重载应用它。或者,您可以将它们添加到运行时配置中,对其进行测试,然后将其添加到永久配置中。
要将新添加的永久配置重新加载到您的运行规则中,您必须按如下所示输入命令或在GUI中进行相应的单击。
firewall-cmd --reload
乍一看可能看起来有些复杂,因为firewalld
它遵循区域和链条概念。但是它很好地与NetworkManager集成在一起,附带了一个GUI ...
熟悉它的一个很好的起点在这里。
在Ubuntu 1804中,要实现持久性,请使用以下命令:iptables-save> /etc/iptables/rules.v4
或仅将iptables行手动添加到文件中:/etc/iptables/rules.v4
Debian / Ubuntu没有iptables的初始化脚本(与其他fedora / RHEL / Centos不同)
您可能需要e编写脚本或在服务器重启时看到iptables重置
交替使用UFW https://help.ubuntu.com/community/UFW
或防火墙