【硬件相关】网络配置说明(IPv4 vs IPv6)
文章目录
- 一、前言
- 二、IPv4 vs IPv6
- 1、IPv4介绍
- 1.1、IPv4格式
- 2、IPv6介绍
- 2.1、IPv6格式
- 3、总结说明
- 三、部署实践
- 1、启用IPv6
- 2、网络配置
- 2.1、CentOS系统
- 3、常用命令
一、前言
IP,即Internet Protocol(互联网协议)的缩写,它是TCP/IP的核心协议之一,每个连接到互联网的设备都需要一个唯一的识别号码进行通信,这个号码我们通常称之为"IP地址"
IANA(Internet Assigned Numbers Authority),是负责协调全球DNS的根域名、IP地址分配和其他互联网协议资源的组织,其现有公布IP协议版本(version-numbers)有以下几个,当前互联网使用以IPv4和IPv6两个协议版本为主
Decimal | Keyword | Version | Reference |
---|---|---|---|
0-1 | Reserved | [Jon_Postel][RFC4928] | |
2-3 | Unassigned | [Jon_Postel] | |
4 | IP | Internet Protocol | [RFC791][Jon_Postel] |
5 | Reserved (Historic) | [RFC1819][SC589H] | |
6 | IPv6 | Internet Protocol version 6 | [RFC8200] |
7 | Reserved (Historic) | [RFC1475][RFC6814] | |
8 | Reserved (Historic) | [RFC1621][SC589H] | |
9 | Reserved (Historic) | [RFC1347][SC589H] | |
10-14 | Unassigned | [Jon_Postel] | |
15 | Reserved | [Jon_Postel] |
二、IPv4 vs IPv6
1、IPv4介绍
1.1、IPv4格式
IPv4(Internet Protocol version 4)是最早广泛使用的IP协议版本,其格式为x.x.x.x
,示例IPv4地址为172.16.21.10
- IPv4使用32位地址表示IP地址,由4个十进制数(0~255)组成,每个数字由
.
分隔 - IPv4理论最大可提供大概2^32(即4,294,967,296)个IP地址,随着互联网的发展,IPv4地址将近枯竭
- IPv4引入了网络地址转换(NAT)技术,允许多个设备共享同一个公共的IPv4地址,可一定程度缓解IPv4地址短缺问题
2、IPv6介绍
2.1、IPv6格式
IPv6(Internet Protocol version 6)是近年来开始推行的IP协议版本,旨在解决IPv4地址短缺问题,其格式为x:x:x:x:x:x:x:x
,示例IPv6地址为fc00::2:10
- IPv6使用128为地址表示IP地址,由8组四位十六进制数(0-9、a-f)组成,每组由
:
分隔 - IPv6可使用
::
双冒号表示法用于替代IPv6地址中多组连续的零,以此简化IPv6的描述,fc00::2:10
等同于fc00:0000:0000:0000:0000:0000:0002:0010
- IPv6理论最大可提供大概2^128(即340,282,366,920,938,463,463,374,607,431,768,211,456)个IP地址,这个数量几乎可以被认为是无限的,可以容纳全球范围内的所有可能的设备
3、总结说明
- 相比IPv4,IPv6可以提供更多的IP地址,解决IPv4地址枯竭问题
- 相比IPv4,IPv6支持自动分配和动态主机配置协议,简化地址分配的管理工作,提供内置的加密和身份验证机制,提高了网络安全性
三、部署实践
1、启用IPv6
- 检查当前系统是否支持IPv6:查看
/proc/net/if_inet6
,如存在对应网卡配置内容,则表明支持IPv6
[root@node189 ~]# cat /proc/net/if_inet6
00000000000000000000000000000001 01 80 10 80 lo
fe80000000000000025056fffe99100e 03 40 20 80 ens192
fe80000000000000020c29fffed9ed2c 04 40 20 80 ens224
fe80000000000000020c29fffed9ed36 05 40 20 80 ens256
fd75dee3166b0000025056fffe99100e 03 40 00 00 ens192
fe80000000000000025056fffe994990 02 40 20 80 ens160
- CentOS系统默认已开启IPv6服务,如发现未开启,可通过执行以下命令启用
echo "net.ipv6.conf.all.disable_ipv6 = 0" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 0" >> /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 0" >> /etc/sysctl.conf
sysctl -p
2、网络配置
2.1、CentOS系统
参考配置修改如下,主要修改点有3个
a、修改IPV6_AUTOCONF
为no
,关闭IPv6自动配置,使用IPv6静态地址
b、添加IPV6ADDR=
配置,指定IPv6地址和前缀长度
c、添加IPV6_DEFAULTGW=
,指定IPv6网关
注:默认情况下,会生成以fe80::
开头的IPv6地址,通常不使用这个地址
# 修改网络配置
[root@node189 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens224
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
IPV6ADDR=fd00:0:5340:d106:0500::0017/120
IPV6_DEFAULTGW=fd00:0:5340:d106:0500::1
NAME=ens224
UUID=e1877021-7b06-4692-b887-38377143d87e
DEVICE=ens224
ONBOOT=yes
# 重启网络服务
[root@node189 ~]# systemctl restart network
IPv6配置说明:
- IPV6INIT:用于启用IPv6初始化,默认参数为
yes
- IPV6_AUTOCONF:用于启用IPv6自动配置(类似dhcp动态分配地址),默认参数为
yes
,如要指定IPv6静态地址,则需修改参数为no
- IPV6_DEFROUTE:用于启用IPv6默认路由,默认参数为
yes
,系统有多个网络接口且都配置了IPv6时,操作系统需要知道哪个接口应该用于非本地目标(即不在同一子网内的目标)的IPv6通信。当设置为yes
时,如果这个接口是活动的并且配置了有效的IPv6地址,那么它将被考虑用于默认路由,这对于确保流量能够正确路由到IPv6网络至关重要 - IPV6_FAILURE_FATAL:用于控制IPv6配置失败时系统的行为,默认参数为
no
,当设置为no
时,如果IPv6配置(如地址分配、路由等)失败,它不会阻止网络接口启动或系统继续运行。这允许系统即使IPv6配置不完整或失败也能继续使用IPv4(如果配置了的话),这对于需要保证系统稳定性和可用性的环境尤为重要 - IPV6_ADDR_GEN_MODE:用于控制IPv6地址的生成模式,特别是在没有静态配置地址时(例如,使用无状态地址自动配置SLAAC时)。默认参数为
stable-privacy
,stable-privacy
模式是一种隐私扩展,它会为每个网络接口生成一个基于接口的MAC地址和随机值的唯一本地地址(ULA)。这种地址在每次重新启动或网络接口重新激活时会发生变化,但以一种可预测的方式变化,这有助于保持地址的稳定性(相对于每次重启都完全随机变化的模式),这有助于保护用户的隐私,因为外部观察者难以跟踪用户的活动,因为他们的地址在不断变化 - IPV6ADDR:指定IPv6地址和前缀长度,默认前缀长度为
64
- IPV6_DEFAULTGW:指定IPv6网关地址
3、常用命令
- 查看IPv4地址配置:
ip -4 addr
- 查看IPv6地址配置:
ip -6 addr
- 查看IPv6路由表:
ip -6 route
- 测试IPv6网络连接:
ping6 <IPv6_address>