南大校园网Linux开机没有ipv6地址

电脑系统为Ubuntu,用有线接入南大的校园网,发现每次开机之后都只有ipv4地址而没有ipv6地址。

  • 同设备Windows无此问题,排除硬件和学校网络的问题。
  • 换了另外一个电脑(也是Ubuntu),问题一样,排除配置错误和偶然问题。

不过,只需要每次开机后关-开一下网络,就会获取到ipv6地址,因此用了一年的笨办法,在crontab中配置开机60秒后自动service network-manager restart

最近发现这个问题原来是因为学校网络的DHCP地址分配速度太慢,导致系统开机向DHCP申请分配地址时,等了很久才只获得了ipv4地址,于是Ubuntu决定不再等了,反正没有ipv6有不是不能用(放屁,众所周知校园网ipv6不需要登陆账号就能直接用)。

新的解决方法说来也简单,只需要告诉Ubuntu别只等到ipv4就认为大功告成,没ipv6就继续等待和重试。

具体步骤如下:

  1. 获取当前连接的UUID

    nmcli connection show

    输出如下

    NAME        UUID                                  TYPE      DEVICE 
    有线连接 1  df43dd98-4443-3f03-9893-f1cd2b39d2a6  ethernet  enp3s0

    可能不止一个,根据名字记住所需要配置的连接的UUID。

  2. 禁止在未获取ipv6地址之前就结束网络连接尝试

    sudo nmcli connection modify <连接的UUID> ipv6.may-fail no
    sudo nmcli connection modify <连接的UUID> ipv4.may-fail no

    原理上,只需要配置ipv6.may-fail就足够,不管我不想试了,反正这样能用。

此后,每次开机系统会等待稍长一些时间才会进入网络已连接的状态,不过就已经直接具有ipv6地址了。