在 Centos 6 上加载 iptables 模块的正确方法是什么

Arl*_*kin 11 iptables centos modprobe centos6

我应该在哪里加载 iptables 模块,例如 ip_conntrack 和 ip_conntrack_ftp。

我发现的地方可能是候选对象,但它们是吗?

  • /etc/init.d/iptables 中的 IPTABLES_MODULES 变量
  • 在 /etc/modprobe.conf
  • 在 /etc/modprobe.d/xxxx.conf

use*_*517 17

对于 CentOS 上的 iptables,还有一个额外的位置,我将那些特定的模块配置为加载,这就是/etc/sysconfig/iptables-config文件。文件的开头看起来像这样

# Load additional iptables modules (nat helpers)
#   Default: -none-
# Space separated list of nat helpers (e.g. 'ip_nat_ftp ip_nat_irc'), which
# are loaded after the firewall rules are applied. Options for the helpers are
# stored in /etc/modprobe.conf.
IPTABLES_MODULES="nf_conntrack_ftp nf_conntrack"
Run Code Online (Sandbox Code Playgroud)

当我跑步时,service iptables restart我得到了这条线

Loading additional iptables modules: nf_conntrack_ftp nf_co[  OK  ]
Run Code Online (Sandbox Code Playgroud)

如果我玩的内容

IPTABLES_MODULES="nf_conntrack_ftp nf_conntrack"
Run Code Online (Sandbox Code Playgroud)

Loading additional modules当我重新启动服务时,它上面会更改该行的输出。


qua*_*nta 6

他们都没有。

/etc/rc.d/rc.sysinit 寻找两个位置来加载模块:

# Load other user-defined modules
for file in /etc/sysconfig/modules/*.modules ; do
  [ -x $file ] && $file
done

# Load modules (for backward compatibility with VARs)
if [ -f /etc/rc.modules ]; then
        /etc/rc.modules
fi
Run Code Online (Sandbox Code Playgroud)

因此,您应该将加载命令放入/etc/sysconfig/modules/*.modulesor 中/etc/rc.modules

# echo "modprobe ip_conntrack" >> /etc/sysconfig/modules/iptables.modules
# chmod +x /etc/sysconfig/modules/iptables.modules
Run Code Online (Sandbox Code Playgroud)