始于初见,止于终老

Centos7配置IPv4+IPv6实现双栈网络访问

国内三大运营商均已经开启IPv6网络并分配了IPv6地址,你会发现国内许多政企官网、APP都显示了“已支持IPv6网络”,下面就简单记录Centos7配置IPv4+IPv6实现双栈网络访问。


/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
IPV6_AUTOCONF=no

/etc/sysconfig/network-scripts/ifcfg-eth0中添加:

IPV6INIT=yes #注意此处可能默认存在且为no值,反复添加无法覆盖

单IPv6地址:

IPV6INIT=yes
IPV6ADDR=<IPv6地址>/<子网前缀长度>
IPV6_DEFAULTGW=<IPv6网关>

多IPv6地址:

IPV6INIT=yes
IPV6ADDR=<IPv6地址>/<子网前缀长度>
IPV6ADDR_SECONDARIES="<IPv6地址1>/<子网前缀长度> <IPv6地址2>/<子网前缀长度>"
IPV6_DEFAULTGW=<IPv6网关>

执行 service network restartsystemctl restart network 重启网络服务


检查/etc/sysconfig/ip6tables防火墙(IPv6)规则:

*filter
:INPUT ACCEPT [0:0] #默认是DROP,修改为ACCEPT放行入口
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:syn-flood - [0:0]

执行 service ip6tables restart 重启防火墙(IPv6)生效规则


查看一下网卡信息 ifconfig 出现上面绑定的IPv6即可

inet6 <以fe80::开头的单播地址>
inet6 <绑定的IPv6地址>

验证IPv6配置是否正常:ping6 -c4 ipv6.google.com

PING ipv6.google.com(nrt12s29-in-x0e.1e100.net (2404:6800:4004:811::200e)) 56 data bytes
64 bytes from nrt12s29-in-x0e.1e100.net (2404:6800:4004:811::200e): icmp_seq=1 ttl=120 time=1.61 ms
64 bytes from nrt12s29-in-x0e.1e100.net (2404:6800:4004:811::200e): icmp_seq=2 ttl=120 time=1.63 ms
64 bytes from nrt12s29-in-x0e.1e100.net (2404:6800:4004:811::200e): icmp_seq=3 ttl=120 time=1.65 ms
64 bytes from nrt12s29-in-x0e.1e100.net (2404:6800:4004:811::200e): icmp_seq=4 ttl=120 time=1.67 ms

完成上面IPv6网络配置后,我们还需要配置WebServer监听IPv6,以Nginx为例:

listen 80;
listen [::]:80 ipv6only=on;

执行nginx -t检查无误,重启Nginx服务service nginx restart大功告成!修改DNS的AAAA记录完成网站接入IPv6。


检测IPv6接入是否正常,推荐一个测试网站:http://ipv6-test.com/validate.php

IPv6Test

添加新评论

可用标签:<img> <b> <u> <i>

已有 2 条评论

  1. 感谢教程俺也整上了 俺的没给V6 HE打了个隧道

    1. Syc Syc

      我也是HE的,另外几个机器倒是有,懒得迁移过去

TopTop