我应该在哪里加载 iptables 模块,例如 ip_conntrack 和 ip_conntrack_ftp。
我发现了一些可能适合的地方,但是它们是吗?
- /etc/init.d/iptables 中的 IPTABLES_MODULES 变量
- 在 /etc/modprobe.conf 中
- 在 /etc/modprobe.d/xxxx.conf 中
答案1
没有一个。
/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
答案2
对于 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"
当我跑步时service iptables restart
我得到了这条线
Loading additional iptables modules: nf_conntrack_ftp nf_co[ OK ]
如果我玩
IPTABLES_MODULES="nf_conntrack_ftp nf_conntrack"
Loading additional modules
当我重新启动服务时,它会改变该行的输出。