Last-Modified: Sun Nov6 14:44:56 CST 2016
东北大学浑南校区的IPv6状况很差,官方的说法是这样的:
浑南校区IPv6网络性能有限,网络设备有限保障IPv4网络运行,要有所改善要等待核心机房环境改善后增加网络设备。
但是我还是找到了解决办法:换几次IPv6地址就能不丢包了
!这个方法只适用于某些特殊的网络环境!
然而换IP不是那么容易的。特别是Windows下
所以下面总结一下各种操作系统的换IP方法
Windows:
需要以
管理员身份运行两条netsh命令(Win+X然后选命令提示符(管理员),输入命令后按Enter),利用IPv6的隐私扩展生成临时IPv6地址,Windows默认开启隐私扩展,不确定电脑有没有开的可以用
- netsh int ipv6 show privacy
查看。如果没有开启先运行(换成disabled是禁用)
- netsh int ipv6 set privacy state=enabled
下面开始换IP:
- 运行ping(在另一个窗口里运行,这个是用来了解丢包情况的,第三步完成后就可以关掉了)
- 每隔2分钟切换临时IP
- netsh int ipv6 set privacy maxpreferredlifetime=120s maxrandomtime=1s store=active
- 等延迟稳定、不丢包后
- netsh int ipv6 set privacy maxpreferredlifetime=1d maxrandomtime=10m store=active
就能锁住IPv6地址了
。这三条命令可以写到批处理(bat/cmd)里,右键->以管理员身份运行,就不用每次在命令提示符里粘贴了
ping解释:后面的2, 3ms就是延迟,出现Request timed out.(请求超时)的话就是丢包了。
PS: 在网络连接里禁用再启用网卡可以清空临时地址,开启隐私扩展的话这样也可以换IP哦(能够承受网络断开的同学可以用这个,更方便)。后两条netsh命令由于用了`store=active`重启之后改动就消失了,不用担心弄坏什么。命令参数(时间)可以自行调整,想看命令帮助可以运行
- netsh int ipv6 set privacy
macOS:
这个最简单,弄两个网络位置,切换一下就会自动更换临时地址。也要同时在终端里运行ping命令(ping6丢包时不会显示,但Ctrl+C后会出现丢包数等信息):
下面的是自定义地址所以需要知道IPv6地址格式 https://en.wikipedia.org/wiki/IPv6_address
Linux:
Linux网络管理有很多不同的方式,/etc/network/interfaces、NetworkManager、wicd和等。后两个有GUI改起来很方便所以只说第一个。
- iface eth0 inet6 static
- address 2001:db8::c0ca:1eaf
- netmask 64
- gateway 2001:db8::1ead:ed:beef
这是Debian Wiki上的设置静态IPv6的示例,先用
和
提取网卡名、地址和网关,填进去之后就能手动修改IP了。换IP的时候先修改文件,然后运行
就可以了。ping命令和macOS一样。
PS: 默认网关会带有default,网关地址有以fe80::开头的,也有和IPv6地址前缀相同的。
FreeBSD:
FreeBSD的网络配置一般放到/etc/rc.conf里。
- ifconfig_em0_ipv6="inet6 2001:db8::c0ca:1eaf prefixlen 64"
- ipv6_defaultrouter="2001:db8::1ead:ed:beef"
网卡名、IP地址用ifconfig,网关用
提取。要换IP的时候改rc.conf然后运行
- service netif restart em0
就可以了。ping命令和Linux一样。
This work by l2dy (Zero King) is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.
首发于六维空间。