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

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

我发现的地方可能是候选人,但是他们呢?

  • /etc/init.d/iptables中的IPTABLES_MODULESvariables
  • 在/etc/modprobe.conf中
  • 在/etc/modprobe.d/xxxx.conf中

他们都没有。

/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 

所以,你应该把加载命令放到/etc/sysconfig/modules/*.modules/etc/rc.modules

 # echo "modprobe ip_conntrack" >> /etc/sysconfig/modules/iptables.modules # chmod +x /etc/sysconfig/modules/iptables.modules 

对于CentOS上的iptables,还有一个额外的位置,在那里我configuration了加载这些特定模块的地方,这就是/etc/sysconfig/iptables-config文件。 该文件的开始看起来像这样

 # Load additional iptables modules (nat helpers) # Default: -none- # Space separated list of nat helpers (eg '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" 

当我运行service iptables restart我得到这一行

 Loading additional iptables modules: nf_conntrack_ftp nf_co[ OK ] 

如果我玩的内容

 IPTABLES_MODULES="nf_conntrack_ftp nf_conntrack" 

在重新启动服务时,它将更改Loading additional modules行的输出。