Linux怎么配置系统的IPv4/IPv6双栈网络

梦晨小哥_2239

梦晨小哥_2239

2026-06-14

517人浏览

原创

linux默认已启用ipv4/ipv6双栈,但需确保内核未禁用ipv6(/proc/sys/net/ipv6/conf/all/disable_ipv6=0)、接口配置两类地址、路由与dns协同正常;关键在避免误关或配错,而非主动“开启”。

linux怎么配置系统的ipv4/ipv6双栈网络

Linux系统默认已启用IPv4和IPv6双栈,只要内核未禁用IPv6、网络接口配置了两类地址、路由和DNS协同正常,双栈就自然生效。关键不是“开启双栈”,而是避免误操作把它关掉或配歪。

确认IPv6是否真的启用(别信默认)

很多系统看似支持IPv6,但实际被禁用。光看lsmod | grep ipv6有模块不等于可用——得查运行时状态:

  • cat /proc/sys/net/ipv6/conf/all/disable_ipv6 返回 0 才算启用;返回 1 就是被关了
  • ip -6 addr show 必须输出至少一个 inet6 地址(哪怕只是 ::1 或链路本地 fe80::/64)
  • 如果返回空或报错 Command "addr" is unknown,说明 iproute2 未编译IPv6支持(极少见,多见于定制嵌入式系统)

临时启用: sysctl -w net.ipv6.conf.all.disable_ipv6=0;永久生效需写入 /etc/sysctl.conf 并执行 sysctl -p。

nmcli 配置双栈连接(openEuler/CentOS/RHEL 推荐)

直接改 /etc/sysconfig/network-scripts/ifcfg-* 容易因格式错误或服务重启失败导致断网。用 nmcli 更安全:

  • 先查当前连接名:nmcli connection show
  • 为已有连接添加IPv6地址:nmcli connection modify "System eth0" ipv6.addresses "2001:db8::100/64" ipv6.gateway "2001:db8::1" ipv6.method manual
  • 同时确保IPv4没被覆盖:nmcli connection modify "System eth0" ipv4.method auto(或 manual 配静态)
  • 启用IPv6 DNS:nmcli connection modify "System eth0" ipv6.dns "2001:4860:4860::8888"
  • 最后激活:nmcli connection down "System eth0" && nmcli connection up "System eth0"

注意:ipv6.method 设为 manual 时必须显式配 addresses 和 gateway;设为 auto 则依赖路由器通告(RA)或DHCPv6,但部分企业网络不发RA,会导致IPv6“看似启用实则无路由”。

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载

让应用优先走IPv4(绕过RFC 6724默认策略)

即使双栈通了,curl、wget 等工具仍可能优先连IPv6,而你的IPv6路径质量差或中间设备不兼容,结果超时回退,拖慢访问。改 /etc/gai.conf 是最轻量的解法:

  • 若文件不存在,先复制模板:cp -p /usr/share/doc/glibc-common*/gai.conf /etc/
  • 编辑 /etc/gai.conf,取消注释这行:precedence ::ffff:0:0/96 100
  • 该行把 IPv4-mapped IPv6 地址(即 ::ffff:a.b.c.d 形式)的优先级提到最高,使 getaddrinfo() 在解析出A+AAAA记录时倾向选IPv4
  • 无需重启服务,改完立即生效;验证用 getent ahosts www.baidu.com,看第一行是否是IPv4地址

别碰 net.ipv6.conf.*.accept_ra 或全局禁用IPv6——那不是调优,是自废武功。

验证双栈是否真通(别只 ping)

ping -4 和 ping -6 只能测ICMP层连通性,掩盖真实问题:

  • 测应用层:用 curl -4 https://httpbin.org/ip 和 curl -6 https://httpbin.org/ip,看返回的源IP是否匹配你配的IPv4/IPv6地址
  • 查DNS解析行为:dig www.google.com A +short 和 dig www.google.com AAAA +short,确认DNS服务器确实返回两类记录
  • 检查路由表分离:ip route show table main(IPv4)和 ip -6 route show(IPv6),确保各自有有效网关,且无冲突的 blackhole 或 unreachable 条目

最容易被忽略的是防火墙:iptables 和 ip6tables 规则完全独立,开了IPv6却忘了加 ip6tables 允许规则,服务监听了也收不到包。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux ipv6

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

5347

5

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.10

2348

6

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3930

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3373

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2533

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6110

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5742

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3373

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2865

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习