IPv6(测试/testing)
IPv6 基础
- IPv6优点
- 128 bit address space, with a design goal of supporting 240 subnets organizing 250 hosts.
- Each computer can have its own globally routable address.
- Smaller routing tables.
1️⃣ IPv6的历史、设计理念2️⃣ IPv6的地址格式、分类、前缀计算,以及与IPv4的对比3️⃣ IP地址、网关路由的配置与查看4️⃣ 服务端实践,尝试给自己的网站增加IPv65️⃣ 客户端实践,让自己的PC访问IPv6互联网6️⃣ 应用层实践,自己写一对C/S程序,能同时支持IPv4与IPv67️⃣ IPv6通讯原理,抓包分析每个包,熟悉ND、DHCPv6等8️⃣ IPv4与IPv6的互访、过渡9️⃣ IPv6安全🔟 具体领域的IPv6,例如移动IPv6
IPv6地址书写规则
- The full form is represented as 8 hexquad parcels of 16 bits each written in lower case hexadecimal, separated by colons (:). For example 2001:0db8:382b:23c1:aa49:4592:4efe:9982.
- the longest and first run of all zero hexquads is abbreviated as a double colon (“::”).Since :: is variable length, it can only be used once per address.
- 例如,
fe80::1
等于fe80:0000:0000:0000:0000:0000:0000:0001
- 例如,
- Leading “0”s are also omitted, up to three per hexquad.
- 例如,
2001:db8:b:23c1:49:4592:efe:9982
等于2001:0db8:000b:23c1:0049:4592:0efe:9982
- 例如,
- 第三种写法,是最后32位写IPv4的格式
- 例如,
2002::10.0.0.1
=2002::a00:1
=2002:0000:0000:0000:0000:0000:0a00:0001
- 例如,
- in IPv6 we always use CIDR notation to specify the number of bits at the start of the mask that are 1
- For example, the address range
fe80::/10
includes all addresses that are the same as the address fe80:: in the first 10 bits, i.e. all beginning with the bit pattern1111 1110 10
.
- For example, the address range
- a network prefix of length 128 specifies an individual address.
IPv6 通道
miredo
- 参考
- 总结
miredo总是优先使用IPv4,很难强制使用IPv6,特别是域名解析的时候,修改 /etc/gai.conf
也没用,只能找到域名的IP,自己添加到 /etc/hosts
中。
使用 local proxy Squid ,或,aiccu 据说可以解决问题,尚未试验过。
ubuntu 上安装
sudo apt install miredo
- 安装完成,
ip addr
就可以看到名称为teredo
的虚拟网卡,IPv6地址以2001:0:
开头。 - 查看服务是否正常:
systemctl status miredo.service
- 浏览器访问网站 https://test-ipv6.com/,查看IPv6的支持情况。
关闭 miredo 服务
1 | systemctl disable miredo.service |
无法使用时,可能的解决方法:
- 防火墙问题
- 以root权限打开ufw的配置文件: “/etc/default/ufw”,找到”IPV6=no”这一行,将其改为”IPV6=yes”。
miredo 服务器配置
miredo 配置文件 /etc/miredo.conf
可以设置 miredo 服务器。
备选的Server:
1 2 3 4 5 6 7 | teredo.ipv6.microsoft.com teredo.trex.fi teredo.remlab.net teredo2.remlab.net debian-miredo.progsoc.org teredo.ginzado.ne.jp teredo.iks-jena.de |
IPv6域名解析
默认还是使用IPv4的域名解析,可以通过改 /etc/hosts
的本地dns来直接解析成IPv6地址。
以 http://icanhazip.com/
为例:
- 查找指定域名的IPv6地址
1 2 3 4 5 6 7 8 9 10 11 12 13
$ nslookup icanhazip.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: icanhazip.com Address: 104.20.17.242 Name: icanhazip.com Address: 104.20.16.242 Name: icanhazip.com Address: 2606:4700:10::6814:11f2 Name: icanhazip.com Address: 2606:4700:10::6814:10f2
- 编辑
/etc/hosts
添加:1
2606:4700:10::6814:10f2 icanhazip.com
- 检查是否成功
1 2
$ curl icanhazip.com 2001:0:53aa:64c:817:259a:25a1:93c1
测试
nslookup 查看 IPv6 地址
1 2 3 | $ nslookup > set querytype=aaaa > ipv6.google.com |
1 2 | # 指定dns服务器查询name nslookup somewhere.com some.dns.server |
是否可以访问ipv6网站
- 命令行中检查
1 2 3 4 5 6 7 8 9
curl icanhazip.com # 或 curl ipv6.icanhazip.com # 查看v4地址,如果是双栈 curl ipv4.icanhazip.com # 制定网络适配器查看 curl ipv4.icanhazip.com --interface wlp39s0f3
- 浏览器访问
浏览器中如何使用ipv6网址(而不是域名)
1 2 3 | http://[1080:0:0:0:8:800:200C:417A]/index.html http://[1080:0:0:0:8:800:200C:417A]:8888/index.html |
手机设置从ipv6访问网站
支持ipv6的手机,打开数据网络并修改APN协议为IPv6
- 打开设置》移动网络》接入点(APN)》点击打开设置》移动网络》接入点(APN)》点击”中国电信互联网CTNET”进入修改接入点页面
- 将IP Version选择IPV6,然后保存
小米MIUI 9的设置路径:
- 双卡和移动网络 》中国电信 》接入点名称(APN)》中国电信(China Telecomm)GPRS
- APN协议 和 APN 漫游协议,从
IPv4/IPv6
改为IPv6
手机作为IPv6热点,供电脑使用
- 将手机设为热点,电脑连接手机热点,这样,电脑也可以直接将接入IPv6网络。
- firefox 优先选择了IPv4的以太网卡
- curl, chromium 优先选择了 IPv6 的无线网卡
IPv6 DNS 服务器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # Google Public IPv6 DNS 2001:4860:4860::8888 2001:4860:4860::8844 # Cloudflare IPv6 DNS 2606:4700:4700::1111 2606:4700:4700::1001 # OpenDNS 2620:0:ccc::2 2620:0:ccd::2 # Quad9 IPv6 DNS # IBM 发起的 Quad9 提供的公共免费 IPv6 DNS. 2620:fe::fe 2620:fe::9 # Neustar UltraDNS IPv6 # Neustar UltraDNS 是美国信息服务公司 Neustar 提供的公共免费 DNS 服务. # 第 1 组 2610:a1:1018::1 2610:a1:1019::1 # 第 2 组 2610:a1:1018::5 2610:a1:1019::1 |
- 国内
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # 百度 IPv6 DNS 2400:da00::6666 # 中国电信 IPv6 DNS # 如果用中国电信的宽带应该会自动分配这两个IP 240e:4c:4008::1 240e:4c:4808::1 # 下一代互联网北京研究中心 # Yeti DNS Project 注册的 IPv6 DNS 服务器 240C::6666 240C::6644 # CNNIC IPv6 DNS 服务器ns 2001:dc7:1000::1 |