14.04 缺少“/etc/init.d/ufw”?我的防火墙从不自动启动

14.04 缺少“/etc/init.d/ufw”?我的防火墙从不自动启动

我需要知道如何修复丢失的“/etc/init.d/ufw”文件,是某些包还是某些命令?

我使用它gufw来启用它,但重新启动时我的防火墙仍然关闭......

我创建了一个符号链接/etc/init.d/ufw -> /lib/init/upstart-job,但无法使其工作start ufw(重启后也无法工作)。

我找到了这个文件/lib/ufw/ufw-init,它看起来像一个 init.d 文件!我可以将它复制或符号链接到那里吗?

其他(可选)问题:
如何找到哪个包中有该文件?apt-cache search没用。
我们可以安全地创建这样的脚本吗?
知道为什么它不见了吗?

注意:
我的/etc/ufw/ufw.confENABLED=yes(但似乎没用)。
iptables -L在我之后变得不同ufw enable,所以 ufw 规则不会在启动时通过任何其他方式应用。

附言:这个脚本也不起作用

sudo ln -s /lib/ufw/ufw-init /usr/sbin/ufw-init
sudo ln -s /lib/init/upstart-job /etc/init.d/ufw-init
#sudo update-rc.d -f ufw-init remove
sudo update-rc.d ufw-init defaults 99
sudo -k

答案1

我也没有 /etc/init.d/ufw,ufw 不会在重启时自动启动。但我这样做了

sudo apt-get install iptables-persistent

重新启动时我检查了

sudo ufw status

它显示为活动状态,在之前的重启中它总是显示为非活动状态,我以前不得不这样做

sudo ufw enable

我没有安装 gufw,我是初级桌面用户,所以我不知道它为什么起作用以及它是否对你有用,但它看起来更简单,也许它会对某些人有所帮助。

答案2

[查看首先(我有时间会验证它),正确配置 ufw 可能是最好的选择,这里的答案只是一个后备。]

基于此回答并从中记录提示回答,我添加了这个:

exec 2> /tmp/rc.local.log      # send stderr from rc.local to a log file                                                                
exec 1>&2                      # send stdout to the same log file                                                                       
#set -x                         # tell sh to display commands before execution                                                          

# this wont exit until successful!
while ! ufw enable;do 
  if ufw status |grep "Status: active";then
    break
  fi
  echo "Failed to apply ufw rules at `date`" >>/dev/stderr;
  sleep 10;
done

/etc/rc.local之前为止exit 0,现在它可以在启动时正确加载 ufw 规则!

但这只是用户的解决方法,而不是系统修复……

我还选择“更改”规则,而不是将其应用为默认规则,正如建议的那样回答,因为我不完全确定我的自定义规则是否没有问题。

重要提示:“if”代码一次都没有起作用,因此我创建了“while”代码,到目前为止,该代码没有造成麻烦。

答案3

对于为找到解决方案所付出的努力来说,答案出奇的简单。

在 /etc/init/ufw.conf 中:

1) 注释掉第 9 - 11 行
2) 在第 11 行后插入: start on startup

修复整个问题,包括记录到 /var/log/ufw.log。

笔记
如果已iptables-persistent安装,则必须禁用它。移出iptables-persistent/etc/init.d 并重命名所有符号链接rc0.d-rcS.d将第一个字母(S 或 K)改为小写。(或将其移出。)

答案4

UFW 只是 iptables 的包装器,它只处理过滤表。因此,您可以同时使用 UFW 和 iptables-persistant,但从 /etc/iptables/rules.v4 中删除过滤规则,并保留其他规则(如果有的话)(nat 表、raw 等)

相关内容