禁用 nf_conntrack

禁用 nf_conntrack

我该如何禁用 Ubuntu 12.04 中的 nf_conntrack 模块?我正尝试在 Ubuntu 服务器上运行 HAProxy,但 nf_conntrack 在运行时出现问题。我找不到任何有关禁用它的文档。

谢谢

答案1

1) 删除 iptables 中对状态模块的任何引用。因此,没有类似

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

the state module requires the nf_conntrack (ip_conntrack) module

2)删除 /etc/sysconfig/iptables-config 中的以下行(如果存在)

IPTABLES_MODULES="ip_conntrack_netbios_ns"

That module requires ip_conntrack which we are trying to ditch.

3)重新加载不带状态规则的 iptables。

sudo iptables -F

# add your real rules

4) 删除模块。我不得不使用:

sudo modprobe -r xt_NOTRACK nf_conntrack_netbios_ns nf_conntrack_ipv4 xt_state

sudo modprobe -r nf_conntrack

confirm you don't have a reference to /proc/net/nf_conntrack

答案2

nf_conntrack内置于内核...您无法禁用它:

# lsmod | grep con

nf_conntrack_ipv4      14487  2 
nf_defrag_ipv4         12729  1 nf_conntrack_ipv4
nf_conntrack           83275  6 ipt_MASQUERADE,nf_nat,xt_state,nf_nat_ipv4,iptable_nat,nf_conntrack_ipv4

nf_conntrack是内核用于处理的模块网络通信

# rmmod nf_conntrack

Error: Module nf_conntrack is in use by: ipt_MASQUERADE nf_nat xt_state nf_nat_ipv4 iptable_nat nf_conntrack_ipv4

如果您需要禁用它,您可以尝试禁用所有依赖它的模块;但您可能会发现这是不可能的。我喜欢联网系统,所以我甚至不会去尝试它;)

答案3

到目前为止列出的答案都是错误的。

首先,如果它被列为模块,那它肯定不是“内置于内核”

创建如下文件将导致其被强制禁用。

# cat /etc/modprobe.d/conntrack.conf
install nf_conntrack /bin/false

答案4

如果不使用带过滤器的 stat 模块并且不使用 nat 表,您可以执行此操作来删除 nf_conntrack。

这是在 Linux 4.14 上的测试

modprobe -r iptable_nat nf_conntrack_ipv4

相关内容