我已经使用以下命令进行安装firewalld
和卸载:ufw
sudo apt install firewall-applet
sudo systemctl start firewalld
sudo systemctl enable firewalld
它可以工作但重启时无法自行启动。
$ sudo systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/lib/systemd/system/firewalld.service; enabled; vendor preset
Active: inactive (dead)
May 10 18:39:03 Yyyy systemd[1]: Stopped firewalld - dynamic firewall daemon. lines 1-5/5 (END)
我的笔记本电脑运行的是 Ubuntu 16.04 LTS。
输出sudo systemctl status iptables.service
:
● iptables.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
Iptables 已安装。输出dpkg -s iptables
Package: iptables
Status: install ok installed
Priority: important
Section: net
Installed-Size: 1624
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Version: 1.6.0-2ubuntu3
Depends: libxtables11 (= 1.6.0-2ubuntu3), libc6 (>= 2.14), libnfnetlink0
Description: administration tools for packet filtering and NAT
iptables is the userspace command line program used to configure
the Linux packet filtering ruleset. It is targeted towards system
administrators. Since Network Address Translation is also configured
from the packet filter ruleset, iptables is used for this, too. The
iptables package also includes ip6tables. ip6tables is used for
configuring the IPv6 packet filter
Homepage: http://www.netfilter.org/
Original-Maintainer: iptables devel team <[email protected]>
我试过了sudo firewalld-cmd --runtime-to-parmanent
,但它无助于firewalld
在启动时启动。
谢谢
答案1
答案2
我在新安装的 Ubuntu 16.04.4 上也遇到了与 OP 相同的问题。
我检查了服务文件 -/lib/systemd/system/firewalld.service 它说firewalld与以下冲突iptables.service ip6tables.service ebtables.service ipset.service
然后我发现 ebtables.service 已安装并启用;禁用并屏蔽它后
sudo systemctl disable ebtables
sudo systemctl mask ebtables
重启后,无需任何其他脚本/技巧即可启动firewalld,当然因为它应该被启用。
所以我的问题的根本原因是 -ebtables.service 阻止启动firewalld.service。
答案3
在防火墙文档中稍微搜索了一下,结果发现这一页。看来您可能需要设置一个“永久配置”,它将在每次服务停止/重新启动或机器启动时加载。firewall-cmd --runtime-to-permanent
将采用您现有的运行时配置(当然,一旦您正确设置并正常工作)并将其迁移到永久配置。
这是我能提供的唯一建议;希望它能有所帮助。
答案4
虽然我不相信这是原始海报的问题,但许多用户由于 ubuntu 19.04 中的一个错误遇到了这个问题。
https://bugs.launchpad.net/ubuntu/+source/firewalld/+bug/1826187
如果您需要解决此问题,只需运行以下命令。
sudo su
ln -s /sbin/iptables /usr/sbin/
ln -s /sbin/iptables-restore /usr/sbin/
ln -s /sbin/ip6tables /usr/sbin/
ln -s /sbin/ip6tables-restore /usr/sbin/
service firewalld restart
service firewalld status
exit
它应该输出类似这样的内容。
●firewalld.service -firewalld -动态防火墙守护进程 已加载:已加载(/lib/systemd/system/firewalld.service;已启用;供应商预设:已启用) 活动:活动(正在运行)自 2019-05-01 星期三 13:37:29 EDT;2 秒前 文档:man:firewalld(1) 主 PID:8568(firewalld) 任务:2(限制:19660) 内存:27.5M CGroup:/system.slice/firewalld.service └─8568 /usr/bin/python3 /usr/sbin/firewalld --nofork --nopid
5 月 01 日 13:37:28 prismatic systemd[1]: 正在启动 firewalld – 动态防火墙守护进程... 5 月 01 日 13:37:29 prismatic systemd[1]: 已启动 firewalld – 动态防火墙守护进程。