Ubuntu下更改网卡名字以及pppoe配置IPv6

今天晚上莫名其妙解决了两个问题。

第一个是更改Ubuntu升级到15.04之后网卡名字改变的问题,从15.04开始到16.04,网卡一直都是奇奇怪怪的名字,比如原来的eth0变成了enp1s0,wlan0变成了wpxxx(我真记不清了~)

以前的时候找了一些方法也没有搞定,今天莫名其妙的找了一个方法,搞定了。

配置文件事这个:/etc/udev/rules.d/10-network.rules(如果没有的话就创建一个),在里面添加如下代码:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="20:1a:xx:xx:xx:xx", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="70:18:xx:xx:xx:xx", NAME="wlan0"

那些xxxxxx是你网卡的MAC地址。然后重启就OK了。

第二个是pppoe拨号的IPv6问题,以前的时候一直没搞定,今天突然发现一个文件:/etc/sysctl.d/10-ipv6-privacy.conf,是配置IPv6选择临时地址还是广播地址的,然后把里面的东西都注释掉,完美解决。

里面的内容是这样子的:

# IPv6 Privacy Extensions (RFC 4941)
# ---
# IPv6 typically uses a device's MAC address when choosing an IPv6 address
# to use in autoconfiguration. Privacy extensions allow using a randomly
# generated IPv6 address, which increases privacy.
#
# Acceptable values:
#    0 - don’t use privacy extensions.
#    1 - generate privacy addresses
#    2 - prefer privacy addresses and use them over the normal addresses.
# net.ipv6.conf.all.use_tempaddr = 2
# net.ipv6.conf.default.use_tempaddr = 2

解决这个问题貌似很简单,发现它可不容易。我想起了那个拔牙的故事,富豪牙疼,去找医生拔牙,然后医生三下五除二就搞定了,收他100美元。富豪说,你这钱赚的太容易了,这么一会儿就赚了这么多。医生说,那你来。(hhhh我忘记原版是什么了,反正大体意思差不多,解决问题可能很简单,但是发现问题在哪儿并不容易。)

一开始的时候pppoe拨号获取了两个IP,都是IPv6的,ip -6 addr(或者ip -6 a)查看的时候,会显示有一个是临时地址,临时地址产生的原因就是上面那个配置文件的锅。

期间尝试了各种方法,一开始怀疑是路由表的问题,因为两个地址,其中一个外网可以ping通,也就是说外面能够连接到我主机,但是我的主机往外面ping的时候,源地址却是那个临时地址,这样做虽然保护了隐私,但是系统还没有处理好路由关系,可能自己添加一个路由表也会解决问题,不过我没有找到解决的办法,改天看一下IPv6的路由相关,跟IPv4还是很不一样的。最简单的办法就是取消注释,然后问题解决。

注释掉的内容是说,IPv6原本的地址是根据网卡的MAC地址生成的,用一个临时地址会增加隐私性,不过我注释掉之后对与pppoe来说并没有什么影响,IPv6的地址并不是根据我网卡的MAC地址更换的,而是随机的一个地址。这里只讨论pppoe的情况,不保证所有情况都可行,比如DHCP。

期间还学习了ip,route的一些命令用法,很开心。只是IPv6还不是很懂,以后要好好学。

comments powered by Disqus