配置pppoe连接
pppoe的设置可以使用命令行的方式,也可以用图形界面,简便为主,我在图形界面下直接设置好。
首先,增加一个新的连接方式,选择DSL。
然后,设置一个名称,在DSL选项卡内填上用户名和密码,而服务商就可以不用填。
设置好连接后,连上网就可以了,可以获得ipv4地址和ipv6地址。用ifconfig
命令查看,则有以下信息:
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.170.*.* P-t-P:10.170.72.254 Mask:255.255.255.255
inet6 addr: 2001:250:1006:dff0:182e:*:*:47b9/64 Scope:Global
inet6 addr: 2001:250:1006:dff0:a41d:*:*:3115/64 Scope:Global
inet6 addr: fe80::a41d:5055:2cbb:3115/10 Scope:Link
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:10222 errors:0 dropped:0 overruns:0 frame:0
TX packets:11816 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:5622240 (5.6 MB) TX bytes:1327825 (1.3 MB)
但奇怪的是,这样还是无法成功上ipv6的网站。例如六维空间。
修改ipv6设置
经过搜索,主要原因分析,可以看我附录里的博客分析。1
解决办法:需要解决上面有两个global的ipv6地址的问题,则需要改变/etc/sysctl.d/10-ipv6-privacy.conf文件,将net.ipv6.conf.default.use_tempaddr改为0。
~$ sudo gedit /etc/sysctl.d/10-ipv6-privacy.conf
将net.ipv6.conf.default.use_tempaddr = 2改为net.ipv6.conf.default.use_tempaddr = 0
~$ sudo sysctl --system
重新加载所有的配置文件,像/etc/sysctl.d/*等。重新拨号连接,查看网络信息:
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.170.*.* P-t-P:10.170.72.254 Mask:255.255.255.255
inet6 addr: 2001:250:1006:dff0:*:*:9c4a:11ae/64 Scope:Global
inet6 addr: fe80::d404:f9ca:9c4a:11ae/10 Scope:Link
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:186 (186.0 B) TX bytes:130 (130.0 B)
则只有一个global的ipv6地址.
作为测试,再去打开六维,便可以成功打开了。
正确输入域名
此时,我们使用命令ping6 ipv6.google.com
也可以ping通,但在浏览器中输入这个地址,却无法正常打开网页。这令我很费解。
在询问大佬们之后,分析原因可能为:
- 某些东西可能会过滤http的请求,需要使用https的协议访问。
在请求过程中,google的country reditect先跳到http才能跳https,可以在域名后面加上/ncr (no country reditect)试一下。
最后便成功了。