1.CentOS(Redhat同)
1.1开启/关闭ipv6
在CentOS 6/7/8 系统上默认启用IPv6。因此,如果故意在系统上禁用IPv6,则可以通过以下任一方法重新启用它。
- 在内核模块中启用IPv6(需要重启)
- 使用sysctl设置启用IPv6(无需重启)
确认系统是否支持IPv6,显示0表示应支持:
[root@localhost ~]# sysctl -a | grep ipv6.*disable
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.eth0.disable_ipv6 = 0
#在内核模块中启用IPv6(需要重启):
- 编辑/ etc / default / grub并在GRUB_CMDLINE_LINUX行中将内核参数ipv6.disable的值从1更改为0,例如:
cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="ipv6.disable=0 crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
注意:ipv6.disable = 0是默认值,因此您可以根据需要从GRUB_CMDLINE_LINUX参数列表中删除此参数ipv6.disable。
2) 使用下面显示的命令重新生成GRUB配置文件并覆盖现有配置文件
#grub2-mkconfig -o /boot/grub2/grub.cfg
- 重新启动系统以使更改生效。
shutdown -r now
使用sysctl设置启用IPv6(无需重新启动):
1.为了让ipv6在线运行,请确保/etc/sysctl.conf中的以下行被注释掉或删除。
cat /etc/sysctl.conf | grep ipv6
net.ipv6.conf.all.disable_ipv6 = 1 ###注释/删除此行或将其值从1更改为0
net.ipv6.conf.default.disable_ipv6 = 1 ###注释/删除此行或将其值从1更改为0
2.使用命令’sysctl -p’重新读取配置文件/etc/sysctl.conf。
sysctl -p
关闭ipv6
- 编辑/etc/sysctl.conf配置,增加net.ipv6.conf.all.disable_ipv6=1
2、编辑/etc/sysconfig/network配置,增加 NETWORKING_IPV6=no,保存并退出
3、编辑/etc/sysconfig/network-scripts/ifcfg-ethX(ethx替换成实际网卡名如ens224),确保IPV6INIT=no
4、关闭ipv6防火墙及开机自启动
systemctl stop ip6tables.service
systemctl disable ip6tables.service
5、执行sysctl -p或者reboot重启命令
6、再次使用ifconfig进行验证,只剩下ipv4,ipv6消失了,关闭成功
1.2.zipv6地址配置
自动获取IPV6地址
修改/etc/sysconfig/network-script/ifcfg-ens224文件(ens224为网卡名),添加内容:
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_PRIVACY=no
IPV6_ADDR_GEN_MODE=eui64
然后,运行命令systemctl restart network (CentOS7)或者service network restart(CentOS6)
用命令ifconfig -a 查看IPV6地址信息:
ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.12.122 netmask 255.255.255.0 broadcast 192.168.12.255
inet6 fe80::250:56ff:feb7:417a prefixlen 64 scopeid 0x20<link>
ether 00:50:56:b7:41:7a txqueuelen 1000 (Ethernet)
RX packets 45193 bytes 2856547 (2.7 MiB)
RX errors 0 dropped 3 overruns 0 frame 0
TX packets 301 bytes 43220 (42.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
注:fe80开头的是本地链路地址,只能指定本网卡出去,不能连路由和连接其它网卡ipv6地址
本地静态IPV6地址
修改/etc/sysconfig/network-script/ifcfg-ens224文件(ens224为网卡名),添加
IPV6INIT=yes (是否开机启用IPV6地址)
IPV6_AUTOCONF=no (是否使用IPV6地址的自动配置)
IPV6ADDR=fd9c::250:56ff:feb7:417a /64 ( IPV6地址)
#IPV6_DEFAULTGW=fd9c::1 //配置IPv6网关
因为我们内网交换机是两层的,没有出口,所以不用设置IPv6网关地址
然后运行systemctl restart network (CentOS7)或者service network restart(CentOS6)
用命令ifconfig -a 查看IPV6地址信息
ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.12.122 netmask 255.255.255.0 broadcast 192.168.12.255
inet6 fd9c::250:56ff:feb7:417a prefixlen 64 scopeid 0x0<global>
inet6 fe80::250:56ff:feb7:417a prefixlen 64 scopeid 0x20<link>
ether 00:50:56:b7:41:7a txqueuelen 1000 (Ethernet)
RX packets 45193 bytes 2856547 (2.7 MiB)
RX errors 0 dropped 3 overruns 0 frame 0
TX packets 301 bytes 43220 (42.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
验证:
ping6 fd9c::250:56ff:feb7:417a
PING fd9c::250:56ff:feb7:417a(fd9c::250:56ff:feb7:417a) 56 data bytes
64 bytes from fd9c::250:56ff:feb7:417a: icmp_seq=1 ttl=64 time=0.310 ms
64 bytes from fd9c::250:56ff:feb7:417a: icmp_seq=2 ttl=64 time=0.286 ms
64 bytes from fd9c::250:56ff:feb7:417a: icmp_seq=3 ttl=64 time=0.313 ms
1.3.ipv4/ipv6双栈/单栈配置
ipv4和ipv6协议栈在操作系统中是独立的内核模块,可以在同一网卡中分别设置,所以ipv4/ipv6单栈或双栈只需要分别打开或关闭ipv6设置即可(见1.1.1节开启/关闭ipv6支持,1.1.2节ipv6地址配置),ipv4是无法关闭的,可以只分配ipv6地址。以ens224网卡为例,编辑/etc/sysconfig/network-script/ifcfg-ens224文件。
双栈配置:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_PRIVACY=no
IPV6_ADDR_GEN_MODE=eui64
IPV6ADDR=fd9c::250:56ff:feb7:417a/64
NAME=ens224
UUID=58fa57aa-1c91-4d4b-a7f1-e45516e78df6
DEVICE=ens224
ONBOOT=yes
IPADDR=192.168.12.122
PREFIX=24
单栈配置:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no"
NAME="ens224"
DEVICE="ens224"
ONBOOT="yes"
IPADDR="192.168.12.122"
PREFIX="24"
ZONE=public
OpenSSL
重新编译,加支持ipv6的参数,如下:
./config --prefix=部署目录 enable-shared -DOPENSSL_USE_IPV6=1