分类目录归档:计算机网络

本站正式对外提供 xip 服务

关于 XIP

XIP 是一个提供泛解析 IP 地址的 DNS 服务

如何使用

Hostname / URL IP Address Notes
127.0.0.1.xip.derekwei.com 127.0.0.1 dot separators
127-0-0-1.xip.derekwei.com 127.0.0.1 dashes
www.127.0.0.1.xip.derekwei.com 127.0.0.1 subdomain
www.127-0-0-1.xip.derekwei.com 127.0.0.1 subdomain + dashes
www-127-0-0-1.xip.derekwei.com 127.0.0.1 dash subdomain
--1.xip.derekwei.com ::1 ipv6, always use dashes
2001-8a03--1.xip.derekwei.com 2001:8a03::1 ipv6
www.--1.xip.derekwei.com ::1 subdomain with ipv6
www---1.xip.derekwei.com ::1 dash subdomain with ipv6

其他类似服务

为 VPS 配置 IPv6

在如今到处都在普及 IPv6 之际,某 VPS 服务商非常不友好地不支持 Native IPv6,无奈之下只能采用曲线救国方式,利用 HE.NET 提供的 IPv6 Tunnel 来实现 VPS 对 IPv6 的支持。

检查 VPS 是否支持 IPv6

输入 ip -6 address show 看是否有显示内容,如无则表示没有启用 IPv6。
编辑文件 /etc/sysctl.conf,添加或修改一下内容启用 IPv6:

net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0

键入 sysctl -p 使上述设置生效,再输入 ip -6 address show 查看是否有信息显示。

为 VPS 配置 IPv6 Tunnel

/root 目录下新建一个 he-ipv6.sh 文件,将 Tunnelbroker.net 中 Linux-route2 选项下的配置内容粘贴进去,执行 ./he-ipv6.sh

设置 IPv6 优先级

尽管目前 IPv6 在全世界范围内快速普及,但在实际使用中仍然会遇到不少问题,为保守起见,我们设置了 IPv4 的优先级高于 IPv6。
方法很简单,就是在 /etc/gai.conf 中加入 precedence ::ffff:0:0/96 100 就行了。

添加一整段 IPv6

虽然我也不知道在一个 VPS 上监听 2^n 个 IP 地址有啥用…

ip -6 route add local XXXX/64 dev lo #添加
ip -6 route list table local #查看

在 Windows 系统利用 HE Tunnelbroker 配置 IPv6

现在国家大力推进 IPv6 普及,很多网站都提供了 IPv4/v6 双栈访问,IPv6 的普及也是大势所趋。但是由于我国复杂的网络环境,很多小伙伴现在还不能使用原生的 IPv6(Native IPv6),原来在 Windows 系统下普遍采用的是 Teredo 方法来配置 IPv6,但最近几乎所有网上能查到了 Teredo 服务器都已经无法使用,所以不得不另辟蹊径。

Windows Vista/7/8/10 配置方法

原来给 VPS 配置 IPv6 环境曾经使用过 HE.NET 的 IPv6 Tunnel,那是否也能把其移植到 Windows 上?答案是肯定的。先说一下我的电脑环境:

系统: Windows 7 SP1 Ultimate 64位
网络:有线连接路由器(内网IP:192.168.1.x,公网IP:222.x.x.x)

  1. 在 Tunnelbroker.net 注册一个账号

  2. Create Regular Tunnel,填入公网IP,也就是 222.x.x.x。然后选择一个网络质量最好的 Tunnel Server

  3. 创建完成后,可以在 Main Page 最下方看见 tunnel 列表,点击打开查看详情,再进入 Example Configurations

  4. 在下拉菜单选择相应的系统,例如选择 Windows Vista/2008/7/8 则显示下列信息:

    netsh interface teredo set state disabled
    netsh interface ipv6 add v6v4tunnel interface=IP6Tunnel 192.168.1.x 216.66.88.98 #如果你是内网环境,加黑处替换为内网地址
    netsh interface ipv6 add address IP6Tunnel 2001:470:XXXX:XXXX::2 #替换为你的 IPv6 地址
    netsh interface ipv6 add route ::/0 IP6Tunnel 2001:470:XXXX:XXXX::1 #对应替换 IPv6 地址

    Windows 10 则为如下配置:

    netsh interface teredo set state disabled
    netsh interface ipv6 add v6v4tunnel interface=IP6Tunnel localaddress=192.168.1.x remoteaddress=216.66.88.98 #如果你是内网环境,加黑处替换为内网地址
    netsh interface ipv6 add address interface=IP6Tunnel address=2001:470:XXXX:XXXX::2
    netsh interface ipv6 add route prefix=::/0 interface=IP6Tunnel nexthop=2001:470:XXXX:XXXX::1
  5. 用管理员权限启动 CMD,然后依次输入上述信息,IPv6 配置就完成了

其他相关命令

下面陈列一下其他涉及 IPv6 配置的命令

netsh int ipv6 show int #查看 IPv6 interfaces
netsh int ipv6 add address IP6Tunnel 2001:470:XXXX:XXXX::3/64 #添加额外 IPv6 地址
netsh int ipv6 delete address IP6Tunnel 2001:470:XXXX:XXXX::3/64 #删除额外 IPv6 地址

netsh interface ipv6 delete interface ip6tunnel #删除 ip6tunnel
netsh interface ipv6 reset all #重置 IPv6 设置

netsh int ipv6 show prefixpolicies #查看前缀策略,第一列数值越大,优先级越高
netsh int ipv6 add prefixpolicy 2001:470::/32 5 11 store=persistent #降低 Tunnelbroker 的优先级

netsh int ipv6 delete prefixpolicy ::1/128 store=persistent #删除策略记录
netsh int ipv6 add prefixpolicy ::1/128 40 0 store=persistent #新增策略记录
*::1/128 #IPv6 loopback
*::/0 #Native IPv6
*::ffff:0:0/96 #IPv4
*2002::/16 #6to4
*2001::/32 #Teredo
*::/96 #v4compat
*fec0::/10 #IPv6 site-local
*3ffe::/16 #6bone

参考文章
Windows IP Address Prefix Policies

公共 DNS 服务器列表

DNS 全称 Domain Name System,即域名解析系统。在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP 地址”(即互联网协议地址)。由于 IP 地址(为一串数字)不方便记忆,DNS 允许用户使用一串常见的字母(即“域名”)取代。公共 DNS 一般指各大运营商或互联网公司提供的,面向公众的 DNS 服务。目前国内较为主流的公共 DNS 服务器有一下几种。

普通 DNS 服务器

  1. 114 DNS:114.114.114.114, 114.114.115.115
  2. 阿里 DNS:223.5.5.5, 223.6.6.6
  3. Public DNS+(腾讯):119.29.29.29, 119.28.28.28
  4. 百度 DNS:180.76.76.76
  5. Google DNS:8.8.8.8, 8.8.4.4
  6. OpenDNS:208.67.222.222, 208.67.220.220
  7. Quad9 (IBM):9.9.9.9
  8. Cloudflare:1.1.1.1, 1.0.0.1

DoH(DNS over Https) 和 DoT(DNS over TLS)

境内

  • DNSPod
    DoH: https://doh.pub/dns-query
    DoT: dot.pub:853

  • AliDNS:
    DoH: https://dns.alidns.com/dns-query
    DoT: dns.alidns.com:853
    DoH/DoT: 223.5.5.5, 223.6.6.6

  • 360:
    DoH: https://doh.360.cn/dns-query
    DoT: dot.360.cn:853

境外

  • Google
    DoH/DoT: 8.8.8.8, 8.8.4.4

  • Cloudflare
    DoH/DoT: 1.1.1.1, 1.0.0.1

  • quad9
    DoH/DoT: 9.9.9.9, 149.112.112.112

  • TWNIC
    DoH: https://101.101.101.101/dns-query

推荐软件
DNS Chooser: 一个支持多上游 DNS 的查询并选择最优解析 IP 的本地 DNS 工具

参考链接
Public DNS Server List

(最后编辑时间:2021-08-08 13:34:27 星期日)

Windows7 环境下配置 Teredo 接入 IPv6

按:Teredo 是一种使用公共网关的 IPv4/IPv6 转换机制,它目前只用于直接通过 IP 地址发起连接,因此你的浏览器不会通过域名连接 IPv6,也就是说该网络配置无益于访问 IPv6 网站。如果一定要通过该方案访问 IPv6 网站,请自行于 hosts 文件中添加相关 IPv6 解析记录。

配置的网络环境:中国电信 2M ADSL 路由器拨号上网,Windows 7 64位操作系统。

以下是隧道方式(Teredo)连接 IPv6 的设置方法:

1.首先,如果你以前配置过 IPv6 的话,最好能把那些配置都还原回来。我这个方案不需要安装任何第三方软件,所以如果你安装过什么隧道软件的话,现在就可以卸掉了。如果经过以下配置,还不能配置成功的话,建议重新安装操作系统,用一个干净的系统开始配置。

2.使用管理员权限运行 cmd,打开命令行窗口。

3.根据使用路由器的方式不同,选择运行不同的命令:
netsh int ter set state client (PPPoE直拨上网选用)
netsh int ter set state enterpriseclient(通过路由器上网选用)

4.设置隧道:
netsh int teredo set state client teredo-debian.remlab.net
或者:
netsh int teredo set state enterpriseclient teredo-debian.remlab.net

5.这样就开启了 IPv6 隧道了。Cmd 中运行 ipconfig 看看,有这样的一串以 2001: 开头的 IPv6 地址的话,就说明已经配置成功了。没有的话,重启一下电脑看看。

部分Public Teredo Servers:

  • teredo.remlab.net / teredo-debian.remlab.net (France)
  • teredo.autotrans.consulintel.com (Spain)
  • teredo.ipv6.microsoft.com (USA, Redmond) (default for WindowsXP/2003/Vista/2008 OS)
  • teredo.ngix.ne.kr (South Korea)
  • teredo.managemydedi.com (USA, Chicago)
  • teredo.trex.fi (Finland)

参考资料
Windows 7,中国电信ADSL的环境下配置IPv6
Teredo tunneling

修订历史
2019-01-22:修改了标题,精简了内容,补充了 Teredo 使用提示