Online 独服的静态 IPv6 需要手动配置,官方的文档是针对 Ubuntu 16.04 的,并不适用 Ubuntu 18.04 ( Ubuntu 18.04 中 ifupdown 换成了 netplan.io,),本文基于官方文档(官方文档点此直达),给出适用于 Ubuntu 18.04 的静态 IPv6 配置方法。以下操作是在 root 账号下进行的, 非 root 账号需提升到 root 权限。

获取 IPv6 Blocks

登录 Online 控制台,依次进入 Server - Network configuration ,在这里可以免费获取 /48 IPv6 Blocks 。获取成功后可以创建一个 /56 的子网,如下图所示。记下子网的 IPv6 地址及 DUID ,下面会用到。:
IPv6 Blocks.PNG

创建 dhclient6 配置文件

使用如下命令创建 dhclient6 配置文件。注意,eth0 要修改为自己的网卡名称,可以使用 ip addr 命令查看;DUID 要修改为上一步中获取的 DUID

cat > /etc/dhcp/dhclient6.conf << EOF
interface "eth0" {
   send dhcp6.client-id DUID;
   request;
}
EOF

创建 dhclient 服务

使用如下命令创建 dhclient 服务。同样的, eth0 要修改为自己的网卡名称:

cat > /etc/systemd/system/dhclient.service << EOF
[Unit]
Description=dhclient for sending DUID IPv6
Wants=network.target
Before=network.target

[Service]
Type=forking
ExecStart=/sbin/dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v eth0

[Install]
WantedBy=multi-user.target
EOF

设置开机启动服务:

systemctl enable dhclient.service

创建 dhclient-netplan 服务

使用如下命令创建 dhclient-netplan 服务,用于 dhclient 服务状态改变后执行 netplan apply 命令:

cat > /etc/systemd/system/dhclient-netplan.service << EOF
[Unit]
Description=redo netplan apply after dhclient
Wants=dhclient.service
After=dhclient.service
Before=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/netplan apply

[Install]
WantedBy=dhclient.service
EOF

设置开机启动服务:

systemctl enable dhclient-netplan.service

分配静态 IPv6 地址

修改 /etc/netplan/01-netcfg.yaml 文件,增加 IPv6 地址,该 IPv6 地址即为第一步中获取的 IPv6 地址。注意,该配置文件为 yaml 格式,注意缩进:

vim /etc/netplan/01-netcfg.yaml

修改后的配置文件如下所示:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: yes
      dhcp6: no
      accept-ra: yes
      addresses:
      - IPv6/56

以上步骤操作完成后重启一下服务器,登录 SSH ,运行以下命令测试 IPv6 是否配置成功:

ping6 ipv6.google.com

如果能够成功 ping6 通,说明 IPv6 配置成功。如果 ping6 不通,再仔细检查一下以上步骤是否都配置正确。本文结束。

文章目录