IPv6 — 实践
2020-04-19 14:51 云物互联 阅读(1190) 评论(0) 编辑 收藏 举报目录
前文列表
《IPv6 — 网际协议第 6 版》
《IPv6 — 地址格式与寻址模式》
《IPv6 — 协议头》
《IPv6 — 基于邻居发现协议的通信方式》
《IPv6 — 子网划分》
《IPv6 — 路由方式》
《IPv6 — 移动性》
常用命令
# 查看 IPv6 地址
ip -6 addr
# 查看 IPv6 路由
ip -6 route
# 查看 IPv6 多播地址
ip -6 maddr
netstat -gn
# 查 DNS AAAA 记录(走 IPv4线路)
dig -t AAAA ipv6.baidu.com
nslookup -query=AAAA ipv6.baidu.com
# 查 DNS AAAA 记录(走 IPv6 线路)
dig @2620:0:ccc::2 -6 -t AAAA ipv6.baidu.com
nslookup -query=AAAA ipv6.baidu.com 2620:0:ccc::2
# 查 DNS AAAA记录(走 IPv6 线路的最纯粹、最完整、最靠谱方法)
dig @2620:0:ccc::2 -t AAAA -6 ipv6.baidu.com +trace
# curl IPv6
curl -6 ipv6.baidu.com
curl http://[2400:da00:2::29]/
# ping IPv6
ping -6 2400:da00:2::29
ping6 2400:da00:2::29
# wget
curl http://[2400:da00:2::29]/
# ssh
ssh root@2400:da00:2::29
# ftp
ftp 2400:da00:2::29
# telnet
telnet 2400:da00:2::29 80
# traceroute
traceroute -6 ipv6.baidu.com
traceroute6 ipv6.baidu.com
# mtr
mtr -6 ipv6.baidu.com
# 邻居地址解析
ndisc6 -n 2002::102 eth0
# iptables 查看
ip6tables-save
# tcpdump
tcpdump -nnn -i eth0 ip6
# 查询自己是否拥有公网 IPv6 地址
http://www.test-ipv6.com
http://ip6tools.com/#WhatisMyIPv6Address
开启/关闭 IPv6 支持
# 检查 IPv6 是否开启
sysctl -a | grep ipv6 | grep disable
ip -6 addr | grep inet6
# 临时禁用 IPv6
sysctl -w net.ipv6.conf.all.disable_ipv6=1
# 临时开启 IPv6
sysctl -w net.ipv6.conf.all.disable_ipv6=0
# 彻底禁用 IPv6,在 grub 里添加 ipv6.disable=1,然后重启操作系统。
在 CentOS7 上配置 IPv6 地址
自动获取链路本地地址
- /etc/sysconfig/network
NETWORKING_IPV6=yes
- /etc/sysconfig/network-script/ifcfg-ethX
IPV6INIT=yes
- 重启网络
service network restart
- 验证:ifconfig -a 查看 IPv6 地址信息,系统会自动分配一个 fe80: 开头的链路本地地址。
配置静态全球唯一地址
- 内核参数
# /etc/sysctl.conf里增加
net.ipv6.conf.all.disable_ipv6=0
net.ipv6.conf.default.disable_ipv6=0
net.ipv6.conf.lo.disable_ipv6=0
# 立即生效
sysctl -p
- /etc/sysconfig/network 里增加一行
NETWORKING_IPV6=yes
- /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR=2002::102/64
IPV6_DEFAULTGW=2002::1
- 重启网络
systemctl restart network
- 验证:用命令 ifconfig -a 查看 IPv6 地址信息,系统不仅会自动分配一个 fe80: 开头的链路本地地址,还有一个手动配置的全球唯一 IPv6 地址。
配置临时 IPv6 地址
- 查看系统是否加载了 IPv6 模块
$ lsmod |grep ipv6
- 如果没有则执行该命令加载
modprobe ipv6
- 加载成功后配置临时 IPv6 地址
$ ifconfig eth1 inet6 add 2409:801e:5008:5110::179/124
$ ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fe80::f816:3eff:fe1b:ec2e/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fe80::f816:3eff:fedf:73a2/64 scope link
valid_lft forever preferred_lft forever
$ route -A inet6 add default gw 2409:801e:5008:5110::177 dev eth1
$ ip -6 r
2409:801e:5008:5110::170/124 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
default via 2409:801e:5008:5110::177 dev eth1 metric 1 pref medium
$ ping6 2409:801e:5008:5110::177
添加 IPv6 默认路由网关
- 查看 IPv6 路由表
route -A inet6
- 添加默认网关
route -A inet6 add ::/0 gw 2001:da8:203:ec7::1
转载请注明作者:JmilkFan 范桂飓