每次我的服务器重启时,我似乎都必须将 iptables 重置为默认值,我以前使用 firestarter,但不久前删除了它。是否有任何设置会导致 iptables 在服务器重启时发生变化?
答案1
在 Ubuntu 16.04 上:
sudo apt-get install iptables-persistent
此后,每次想要永久保存 iptables 更改时,运行以下命令:
sudo netfilter-persistent save
sudo netfilter-persistent reload
答案2
这是默认行为。
您可能需要查看一下iptables-persistent
从配置文件在启动时自动设置 iptables 规则的软件包。
答案3
iptables-persistent 默认情况下不会在重启时自动保存系统的 iptables。
不过,我修改了 Ubuntu 14.04 中软件包的源代码,使其在重启、关机(暂停)或运行级别 1 时自动保存规则。当系统启动到运行级别 2-5 时,规则将恢复。这样,规则的保存和加载将自动进行,无需用户干预。
要使用此版本,请使用以下命令:
sudo apt-get remove iptables-persistent
sudo dpkg -r iptables-persistent
wget http://dinofly.com/files/linux/iptables-persistent_0.5.8_all.deb
sudo dpkg --install iptables-persistent_0.5.8_all.deb
请在此处查看我的完整博客文章:
使用风险自负。所有修改都是初始化脚本停止函数调用保存规则函数,这样当系统关闭、重启或处于 level1 时,规则会自动保存。
我已经在 Ubuntu 12.04、Ubuntu 14.04 和 Ubuntu 15.04 上测试了这个更新的 deb 包。它应该也可以在任何版本的 debian 上运行。
答案4
sudo apt install iptables-persistent
然后将坏 IP 添加到你的 iptables。
对规则满意后,保存它们:
sudo sh -c 'iptables-save > /etc/iptables/rules.v4'
(或 IPv6:sudo sh -c 'iptables-save > /etc/iptables/rules.v6'
)
完成。重启/测试。重启前保存的内容应该会再次加载。
写这个是因为互联网上(以及这里)的所有答案都是错误的(除非你是 root - 如果你是 root 为什么要使用 sudo?)
您无法在没有(“bash -c”或“sh -c”)的情况下将 SUDO 重定向(或管道)到根区域。