linux下ipv6怎么配置命令

Linux下配置IPv6,可使用`ip -6 addr add

Linux下IPv6配置命令详解

IPv6基础

IPv6地址结构

IPv6采用128位地址长度,通常表示为8组4个十六进制数,每组之间用冒号分隔(如2001:0db8:85a3:0000:0000:8a2e:0370:7334),支持简化表示:

  • 连续零段可省略(2001:db8::8a2e:370:7334
  • 前导零可省略(2001:db8:0:1

IPv6地址类型

地址类型 用途说明 前缀格式
全局单播地址 互联网标准通信 2000::/3
链路本地地址 同一链路设备通信 fe80::/10
唯一本地地址 本地网络非路由通信 fc00::/7
多播地址 组播通信 ff00::/8

系统级IPv6配置

检测网络接口IPv6支持

# 查看所有网络接口状态
ip -6 link show
# 检查内核模块加载情况
lsmod | grep ipv6

启用/禁用IPv6模块

# 临时启用IPv6支持
modprobe ipv6
# 永久启用(不同发行版配置路径不同)
echo "ipv6_modload=yes" >> /etc/sysctl.conf
sysctl -p

网络接口IPv6配置

使用nmcli工具配置

# 显示当前连接状态
nmcli connection show
# 添加IPv6地址(示例:ens33接口)
nmcli connection modify <connection-name> ipv6.addresses 2001:db8::1/64
# 设置IPv6自动获取方式
nmcli connection modify <connection-name> ipv6.method auto

手动配置/修改IPv6地址

# 查看当前IPv6配置
ip -6 addr show eth0
# 添加IPv6地址(含EUI-64自动生成)
ip -6 addr add 2001:db8:1234::/64 dev eth0
# 删除现有IPv6地址
ip -6 addr del 2001:db8:1234::1/64 dev eth0
# 设置默认路由
ip -6 route add default via 2001:db8::fffe

通过netplan配置(Ubuntu/Debian)

# /etc/netplan/01-netcfg.yaml 示例
network:
  version: 2
  ethernets:
    eth0:
      dhcp6: yes
      addresses:
        2001:db8::1/64
      gateway6: 2001:db8::fffe

动态IPv6配置(DHCPv6/SLAAC)

启用DHCPv6客户端

# 使用dhclient配置
echo "interface eth0 { send host-name = get; request subnet-mask, broadcast-address, time-offset, router, domain-name, domain-name-servers; }" > /etc/dhcp/dhclient.conf
dhclient -6 eth0

SLAAC无状态地址自动配置

# 确保RADVD服务安装
apt install radvd
# 配置示例(/etc/radvd.conf)
interface eth0 {
    AdvSendAdvert on;
    MinRtrAdvInterval 3;
    MaxRtrAdvInterval 10;
    prefix 2001:db8::/64 {
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr off;
    };
};

防火墙与IPv6

firewalld配置

# 添加IPv6规则
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv6" source address="2001:db8::/64" accept'
# 查看IPv6规则
firewall-cmd --zone=public --list-all --family=ipv6

iptables配置

# 允许特定IPv6端口
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
# 保存规则
service ip6tables save

高级配置技巧

IPv6到IPv4转换(6to4隧道)

# 配置6to4隧道
ip -6 tunnel add 6to4tun mode sit remote any local 2002:<unique-id>::1 ttl 255
ip link set dev 6to4tun up
ip -6 addr add 2002:<unique-id>::1/48 dev 6to4tun

DNS64合成地址配置

# 修改resolv.conf(需配合dnsmasq)
echo "use-dns64" >> /etc/resolv.conf

常见问题排查

诊断工具使用

# 测试连通性
ping6 -c 5 www.google.com
# 追踪路由
traceroute6 www.baidu.com
# 查看邻居表
ip -6 neigh show

日志分析要点

# 查看网络相关日志
tail -f /var/log/syslog | grep IPv6
journalctl -u NetworkManager | grep IPv6

相关问题与解答

Q1:如何验证Linux系统是否成功获取到IPv6地址?
A1:可以使用以下命令组合验证:

ip -6 addr show dev <interface> | grep inet6

若显示类似inet6 2001:db8::1/64 scope global的条目,则表示已成功获取,同时建议使用ping6 -c 3 www.ipv6-test.com测试外部连通性。

Q2:配置IPv6后无法访问IPv4网络怎么办?
A2:可能存在以下问题及解决方案:

  1. 防火墙规则冲突:检查firewalld/iptables的IPv6规则是否阻断了IPv4流量
  2. 路由表异常:使用ip -6 route show查看默认路由是否正确,必要时重置路由表:ip -6 route flush cache
  3. 双栈配置错误:确保网络接口同时启用IPv4和IPv6协议栈,

到此,以上就是小编对于linux下ipv6怎么配置命令的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/11824.html

(0)
酷番叔酷番叔
上一篇 2小时前
下一篇 2小时前

相关推荐

  • plsql怎么提示命令行

    PL/SQL中,使用DBMS_OUTPUT.PUT_LINE函数可以在命令行提示信息,执行前需确保启用服务器输出,`SET SERVEROUTPUT ON;

    2小时前
    200
  • Windows命令行登录账号实战指南

    登录FTP服务器FTP是DOS环境下最常用的账号登录场景(需确保目标服务器开启FTP服务):ftp [服务器IP或域名] → 连接服务器输入用户名 → 按回车输入密码 → 密码不显示,输入后回车示例:C:\> ftp 192.168.1.100Connected to 192.168.1.100.User……

    2025年7月2日
    2700
  • 命令怎么格式化u盘启动

    可通过将U盘插入电脑,用分区工具如Rufus等将系统镜像写入U盘

    2天前
    500
  • CAD三大命令突然失灵?

    检查快捷键冲突与文件损坏,重置CAD设置或修复安装,确认命令别名未修改,清理注册表错误项,必要时重装软件修复核心文件。

    2025年6月27日
    2300
  • 如何启动数据库命令行工具?

    SQL命令行工具的作用直接与数据库交互,执行SQL语句(查询、插入、更新等)管理数据库用户、权限及备份恢复适合自动化脚本和高效管理不同数据库的启动方法MySQL / MariaDB工具名称:mysql命令行客户端启动步骤:打开系统终端(Windows:CMD/PowerShell;Mac/Linux:Termi……

    2025年7月5日
    2300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信