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 pattern 1111 1110 10.
  • 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 上安装

  1. sudo apt install miredo
  2. 安装完成, ip addr 就可以看到名称为 teredo 的虚拟网卡,IPv6地址以2001:0:开头。
  3. 查看服务是否正常: systemctl status miredo.service
  4. 浏览器访问网站 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/ 为例:

  1. 查找指定域名的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
    
  2. 编辑 /etc/hosts 添加:
    1
     2606:4700:10::6814:10f2 icanhazip.com
    
  3. 检查是否成功
    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网站

浏览器中如何使用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

  1. 打开设置》移动网络》接入点(APN)》点击打开设置》移动网络》接入点(APN)》点击”中国电信互联网CTNET”进入修改接入点页面
  2. 将IP Version选择IPV6,然后保存

小米MIUI 9的设置路径:

  1. 双卡和移动网络 》中国电信 》接入点名称(APN)》中国电信(China Telecomm)GPRS
  2. APN协议 和 APN 漫游协议,从 IPv4/IPv6 改为 IPv6

手机作为IPv6热点,供电脑使用

  1. 将手机设为热点,电脑连接手机热点,这样,电脑也可以直接将接入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