ccomely 2023-05-26 11:34 采纳率: 0%
浏览 66
已结题

almalinux虚机如何转换iptables-nft

最新版的almalinux系统使用了iptables-nft,WSL2系统却不支持会导致问题的,所以,请教一下如何才能把WSL虚机almalinux上的iptables-nft转换成iptables-legacy,以使本人安装的docker可以启动?

img

使用update-alternatives --config iptables返回如下图

img

  • 写回答

3条回答 默认 最新

  • 鱼弦 全栈领域优质创作者 2023-05-26 13:56
    关注

    如果你的WSL2虚拟机上的AlmaLinux系统不支持iptables-nft,而你需要使用iptables-legacy,可以按照以下步骤进行转换:

    首先,你需要安装iptables-legacy。在AlmaLinux系统上,可以使用以下命令安装:

    Copy
    sudo dnf install iptables-services

    
    安装完成后,你需要停止iptables-nft服务,并启动iptables-legacy服务:
    
    Copy
    sudo systemctl stop iptables-nft.service
    sudo systemctl enable iptables.service
    sudo systemctl start iptables.service
    

    现在,你可以使用iptables-legacy来配置防火墙规则了。例如,要允许HTTP流量,可以使用以下命令:

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

    ```

    然后,你需要保存配置:

    sudo service iptables save

    这将保存你的iptables-legacy配置,以便在系统重新启动后自动加载。
    需要注意的是,iptables-legacy和iptables-nft是不同的工具,使用语法和配置方式也有所不同。因此,在使用iptables-legacy时,你需要熟悉其使用方法和语法,以便正确地配置防火墙规则。此外,如果你需要使用一些高级的防火墙功能,例如网络地址转换(NAT)、连接跟踪等,你可能需要使用其他工具,例如nftables。因此,你可以根据自己的需求和实际情况选择适合的工具。

    评论
  • Minuw 2023-05-26 13:58
    关注
    
    要在WSL虚机almalinux上将iptables-nft转换为iptables-legacy,可以按照以下步骤进行操作:
    
    首先,需要安装iptables-legacy。在almalinux系统中,可以通过以下命令进行安装:
    
    sudo dnf install iptables-services
    安装完成后,需要停止并禁用iptables-nft服务,然后启用iptables-legacy服务。可以使用以下命令进行操作:
    
    sudo systemctl stop iptables-nft.service
    sudo systemctl disable iptables-nft.service
    sudo systemctl enable iptables.service
    sudo systemctl start iptables.service
    然后,需要将iptables-nft的规则转换为iptables-legacy的规则。可以使用以下命令进行转换:
    
    sudo iptables-restore-translate -f /etc/sysconfig/iptables > /etc/sysconfig/iptables.legacy
    sudo iptables-restore /etc/sysconfig/iptables.legacy
    最后,需要重启docker服务,以使其使用新的iptables-legacy规则。可以使用以下命令进行操作:
    
    sudo systemctl restart docker.service
    完成以上步骤后,WSL虚机almalinux上的iptables-nft就会被转换为iptables-legacy,docker也就可以正常启动了。需要注意的是,转换规则可能会有所不同,具体操作需要根据实际情况进行调整。
    
    评论
  • 瞬间动力 2023-05-27 23:05
    关注

    您可以按照以下步骤来将 iptables-nft 转换为 iptables-legacy:

    1. 检查当前 iptables 版本,确认 iptables-nft 是否已安装:

      sudo iptables --version
      
    2. 安装 iptables-legacy:

      sudo apt-get update
      sudo apt-get install iptables-legacy
      
    3. 配置 iptables:

      sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
      sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
      
    4. 测试 iptables 是否已切换到 iptables-legacy:

      sudo iptables --version
      

    注意:在此切换iptable设置时,请确保您已熟悉 iptables 的用法,并且已经备份好原始的 iptables 配置。如果您需要再次切换回 iptables-nft,请使用以下命令:

    sudo update-alternatives --set iptables /usr/sbin/iptables-nft
    sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-nft
    

    希望以上说明对您有所帮助。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月29日
  • 修改了问题 5月26日
  • 修改了问题 5月26日
  • 修改了问题 5月26日
  • 展开全部

悬赏问题

  • ¥15 询问MYSQL查询SQLSERVER数据表并比较差异后,更新MYSQL的数据表
  • ¥15 关于#前端#的问题,请各位专家解答!
  • ¥15 最小生成树问题 Prim算法和Kruskal算法
  • ¥25 医院住院病人呼叫器设计
  • ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据
  • ¥15 关于Linux的终端里,模拟实现一个带口令保护的屏保程序遇到的输入输出的问题!(语言-c语言)
  • ¥30 请问,这个嵌入式Linux系统谁能帮我分析一下,crc检验区域在哪,不是内核的校验,内核校验我已经找到了
  • ¥15 二分类改为多分类问题