作者归档:Derek

为 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
Done


设置 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 服务器都已经无法使用,所以不得不另辟蹊径。

原来给 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 地址

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

免费时间戳服务器

有的时候需要使用时间戳服务,但一时找不到免费的时间戳服务器,所以在这里总结一下。

  • http://sha256timestamp.ws.symantec.com/sha256/
  • http://timestamp.comodoca.com/rfc3161
  • http://tsa.wosign.com/timestamp
  • http://tsa.starfieldtech.com
  • http://timestamp.globalsign.com/scripts/timstamp.dll
  • http://rfc3161timestamp.globalsign.com/advanced
  • http://timestamp.digicert.com
  • http://time.certum.pl
  • http://timestamp.verisign.com/scripts/timestamp.dll
  • http://timestamp.entrust.net/TSS/AuthenticodeTS

关于可信时间戳,可以参考维基百科

公共 DNS 服务器列表

DNS 全称 Domain Name System,即域名解析系统。在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP 地址”(即互联网协议地址)。由于 IP 地址(为一串数字)不方便记忆,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

推荐软件

  • DNS Chooser:一个支持多上游 DNS 的查询并选择最优解析 IP 的本地 DNS 工具
  • 参考链接

  • Public DNS Server List
  • 在复杂网络环境下设置 ipv6

    自从升级了电信宽带,就在家里折腾光猫、路由器、网线……一度搞的网络状况非常复杂,乃至之前运行正常的 ipv6 访问都失效了。

    测试环境:Windows 7 64x
    网络环境:电信光猫接入,LAN1 直连电脑通过 PPPoE 拨宽带上网;LAN2 接另外一台路由器,同样拨宽带连接,电脑同时连接上该局域网
    错误表现:ping ipv4 地址正常,ping ipv6 地址提示 general failure

    解决方案:在内网环境下只能采用 teredo 方式才能适配 ipv6 地址访问,所以要剔出多余的 isatap 和 6to4 适配器。

    # 禁用 6to4
    netsh interface 6to4 set state disabled
    在操作中可能还需要进入 gpedit.msc 手动禁用 6to4

    # 禁用 isatap
    netsh interface isatap set state disabled

    # 最后检查一下网络设置
    netsh int teredo show state
    ipconfig

    参考文章:

    Windows7 环境下配置 Teredo 接入 IPv6

    关闭Windows7中的6to4/isatap/teredo隧道