我以前在 Ubuntu 18.04 上使用 iptables 时遇到问题,之前我曾经与 Centos 7 和 Red Hat 一起使用,我可以简单地重新启动
systemctl restart iptables
Run Code Online (Sandbox Code Playgroud)
但在 Ubuntu 上它不起作用。我在init.d两者下都找不到iptable 。
任何人都可以帮助我如何在 Ubuntu 18.04 上重新启动或重新加载它?
Tha*_*Yee 38
如果您希望您的 Ubuntu 防火墙以类似于 RedHat/Fedora 的方式运行,在 Ubuntu 18.04 中,您可能需要这些:
sudo apt install iptables-persistent netfilter-persistent
Run Code Online (Sandbox Code Playgroud)
然后编辑规则 /etc/iptables/rules.v[46]
其他可能有用的命令:
netfilter-persistent save
netfilter-persistent start
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
systemctl stop netfilter-persistent
systemctl start netfilter-persistent
systemctl restart netfilter-persistent
Run Code Online (Sandbox Code Playgroud)
如果你发现你的规则在启动时没有正确应用,你可以运行这些命令来测试你的配置文件中没有错误:
iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6
Run Code Online (Sandbox Code Playgroud)
这两个包相似,但提供的功能略有不同。如果您只安装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.
Run Code Online (Sandbox Code Playgroud)
在较新的发行版中,您通常有一个前端来配置和管理防火墙。如今最流行的是ufwandfirewalld和 Maybe shorewall。这些前端还会注意添加规则,iptables并且iptables可以跳过脚本,或者更好地说应该跳过脚本,因为前端不会iptables直接获取您使用命令所做的更改。
对于 Ubuntu 18.04,它似乎已成为默认安装但不活动的firewalld位置。ufw
root@localhost:~# firewall-cmd --state
running
root@localhost:~# ufw status
Status: inactive
Run Code Online (Sandbox Code Playgroud)
因此,iptables您应该使用这些前端来创建防火墙配置,而不是创建自己的一致规则。
我不熟悉,ufw但肯定您会在 askubuntu 或互联网上的其他地方找到信息。
firewalld附带一个 GUI( firewall-config) 和一个命令行工具firewall-cmd。
您可以firewalld选择添加规则而不立即应用它(永久),并仅在防火墙重新加载后应用它。或者,您可以将它们添加到运行时配置中,对其进行测试,然后将其添加到永久配置中。
要重新加载例如新添加的永久配置到您的运行规则,您必须输入以下命令或在 GUI 中进行相应的单击。
firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)
乍一看,它可能看起来有点复杂,因为它firewalld是跟随区域和链的概念。但它与NetworkManager很好地集成,提供了 GUI...这是熟悉
它的一个很好的起点。
| 归档时间: |
|
| 查看次数: |
114713 次 |
| 最近记录: |