当前位置: 首页 > 知识库问答 >
问题:

linux - 如何关闭nf_conntrack?

颜乐
2023-04-27

linux中如何关闭nf_conntrack,并且不会被iptables自动拉起。之前试过网上的帖子,关闭后启动iptables,nf_conntrack又被自动拉起

能帮忙看看以下处理步骤的命令正确吗?

关闭内核中的nf_conntrace操作

  1. 关闭所有防火墙策略

关闭SELinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

setenforce 0

停掉防火墙

systemctl stop firewalld

停掉iptables

systemctl stop iptables
systemctl stop ip6tables

检查iptables是否已经关闭

systemctl status iptables
systemctl status ip6tables

确定防火墙已经关闭

查看nf_conntrack模块使用情况

lsmod |grep nf_conntrack

  1. 处理iptables

使用防火墙要移除state模块,因为使用该模块需要加载 nf_conntrack。确保 iptables 规则中没有出现类似 state 模块的规则,如果有的话将其移除

-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
注释 /etc/sysconfig/iptables-config 中的:IPTABLES_MODULES="ip_conntrack_netbios_ns"

  1. 移除模块

    移除模块 模块

    rmmod xt_conntrack
    rmmod nf_conntrack
    rmmod iptable_nat
    rmmod ip6table_nat
    rmmod nf_defrag_ipv4
    rmmod nf_defrag_ipv6
    rmmod nf_nat
    rmmod nf_nat_ipv4
    rmmod nf_nat_ipv6
    rmmod nf_conntrack_ipv4
    rmmod nf_conntrack_ipv6

移除 nf_conntrack 模块

modprobe -r xt_NOTRACK nf_conntrack_netbios_ns nf_conntrack_ipv4 xt_state
modprobe -r nf_conntrack

在Linux系统的/etc/modprobe.d目录下,新建一个文件,比如命名为"disable-nf-conntrack.conf",并在其中输入以下内容:disable-nf-conntrack.conf

vim /etc/modprobe.d/disable-nf-conntrack.conf

由于iptables默认会依赖nf_conntrack,因此需要修改iptables规则,以便不依赖nf_conntrack。可以通过以下命令实现:

iptables -t raw -I PREROUTING -j NOTRACK

保存iptables规则

为了确保iptables规则在重启后不会丢失,需要将其保存到一个文件中。可以使用以下命令将规则保存到/etc/sysconfig/iptables文件中:
iptables-save > /etc/sysconfig/iptables

  1. 检查

    检查/proc/net/ 下面应该没有 nf_conntrack 了

共有1个答案

闻人嘉悦
2023-04-27

在Linux中关闭nf_conntrack,并且避免被iptables自动拉起,可以按照以下步骤进行操作:

关闭nf_conntrack模块
通过以下命令,可以停止nf_conntrack模块的运行:

sudo modprobe -r nf_conntrack

禁用nf_conntrack模块
在Linux系统的/etc/modprobe.d目录下,新建一个文件,比如命名为"disable-nf-conntrack.conf",并在其中输入以下内容:

install nf_conntrack /bin/true

这将告诉系统在启动时不要加载nf_conntrack模块。

修改iptables规则
由于iptables默认会依赖nf_conntrack,因此需要修改iptables规则,以便不依赖nf_conntrack。可以通过以下命令实现:

sudo iptables -t raw -I PREROUTING -j NOTRACK

这将禁止iptables使用nf_conntrack跟踪连接并记录状态,从而实现不依赖nf_conntrack的iptables规则。

保存iptables规则
为了确保iptables规则在重启后不会丢失,需要将其保存到一个文件中。可以使用以下命令将规则保存到/etc/sysconfig/iptables文件中:

sudo iptables-save > /etc/sysconfig/iptables

通过以上操作,即可关闭nf_conntrack并避免被iptables自动拉起。但需要注意的是,如果其他应用依赖nf_conntrack,可能会影响系统的正常运行。

 类似资料:
  • 问题内容: 我正在尝试在我的c程序中检测从Linux关闭或重新启动。我发现程序可以使用signal(SIGTERM,handler)(SIGKILL,handler)。但是,如果用户也使用命令杀死该进程,这两个触发器也会触发。 他们说,在某些解决方案中,可以使用运行级别,但无法运行。在系统初始化运行级别之前,不知道该进程是否被杀死。我什至尝试将脚本放在rcx.d中,但仍然无法正常工作。 有人建议吗

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 9个月前关闭。 我当前的配置是: 但是当我执行任务时,它还是被杀死了。 更新资料 我的任务习惯于科学计算,这会花费很多记忆,看来这可能是最佳选择。 更新2 实际上,我正在从事一个数据分析项目,该项目花费的内存多于,但是我被要求将其限制在左右。通过优化程序本

  • 我正在搜索一个程序,可以接收和发射caracters与rs232连接。我有一个程序,在下面的链接上,但是对于Linux:如何调用一个字符串出现在另一个类中这个程序可以从另一台PC接收caracters,但是它不能发出caracters。我试着把,在公共静态虚空主,发送caracters的功能,但它不工作。你有解决办法吗?谢谢

  • 问题内容: 我找不到有关如何关闭hbm2ddl的参考。 问题答案: 只是忽略默认设置,使Hibernate不执行任何操作。从参考文档中: 1.1.4。hibernate配置 该选项打开直接在数据库中自动生成数据库模式的功能。 也可以通过删除配置选项将其关闭 ,或在SchemaExport Ant任务的帮助下将其重定向到文件。 设置为(未记录)可能会生成警告,例如:

  • 我有这个密码... 有人知道为什么它不停吗? 我也尝试了下面的一个新的主要方法,但它一直在运行。 public static void main(string[]args){ApplicationContext context=new ClassPathXmlApplicationContext(“ApplicationContext.xml”);((ConfigurableApplication

  • 我正在使用sql server jdbc驱动程序mssql-jdbc-9.2.1.jre8-sources.jar并创建的对象。 在用host-credential-etc进行设置后,打开连接和关闭连接,如何关闭SQLServerDataSource对象本身,在api中找不到任何方法。 https://javadoc.io/doc/com.microsoft.sqlserver/mssql-jdb