- 所有文章/
甲骨文服务器分配并启用 IPv6 地址
本文目录
重装系统 #
创建实例的时候选择 Ubuntu 22.04(不要 Minmal),使用脚本 bohanyang/debi,联网一键重装最好的 Debian 11。下面这段命令是 ARM 服务器,不可直接复制使用,后面有我的 SSH 公钥
curl -fLO https://raw.githubusercontent.com/bohanyang/debi/master/debi.sh
chmod a+rx debi.sh
sudo ./debi.sh --cdn --version 11 --network-console --architecture arm64 --ethx --bbr --https --user dejavu --password 7824782348 --authorized-keys-url https://pgp.dejavu.moe/ssh.keys
sudo shutdown -r now
40 秒后使用用户名 installer
进行 SSH 登录,组合键 Ctrl + A,再按 4 就可以查看重装日志了,很快就装好了。
分配 IPv6 #
登录 Oracle 控制台,进入「虚拟云网络」管理
选择需要附加 IPv6 的云网络
点击添加 CIDR 块/IPv6 前缀菜单
直接让 Oracle 自动分配即可
现在我们就获得一个 /56
的 IPv6 段了
回到云虚拟网络管理,进入子网编辑
附加 IPv6 前缀
还是让 Oracle 分配
回到云虚拟网络管理,编辑安全列表
按照自己的需求,放行入站/出站规则
回到云虚拟网络,进入路由表编辑
添加 IPv6 路由规则
按照下面编辑路由规则
进入需要附加 IPv6 的计算实例(VPS)控制台,选择资源下面的 VNIC 菜单
点击分配 IPv6 地址
选择自动从 IPv6 前缀中分配(当然您也可以手动分配 🙄)
当然也可以多分配几个,单个实例似乎最多能分配 3 个(个人感觉意义不大)
接下来我们需要去服务器上配置一下,Oracle 控制台先别关掉,等下还要用……
启用 IPv6 #
SSH 登录服务器,Debian 还没有自动获取 IPv6
ip add
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq state UP group default qlen 1000
link/ether 98:76:54:32:10:ab brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname ens3
inet 10.0.0.212/24 brd 10.0.0.255 scope global dynamic eth0
valid_lft 85570sec preferred_lft 85570sec
inet6 fe80::6543:5678:aabb/64 scope link
valid_lft forever preferred_lft forever
有些步骤似乎没啥用,管它呢,要怪就怪 ChatGPT
更改配置
sudo vim /etc/sysctl.conf
添加两行
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
更新配置
sudo sysctl -p
//输出
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
添加 IPv6 前缀(Oracle 服务器这步可跳过)
$ sudo ip -6 addr add <IPv6_address>/<prefix_length> dev <interface_name>
使用 DHCP 获取 IPv6 地址
sudo dhclient -6 eth0
这时候服务器上 IPv6 已经可以使用了
PING dejavu.moe(2606:4700:3031::6815:1f31 (2606:4700:3031::6815:1f31)) 56 data bytes
64 bytes from 2606:4700:3031::6815:1f31 (2606:4700:3031::6815:1f31): icmp_seq=1 ttl=59 time=4.56 ms
64 bytes from 2606:4700:3031::6815:1f31 (2606:4700:3031::6815:1f31): icmp_seq=2 ttl=59 time=1.27 ms
64 bytes from 2606:4700:3031::6815:1f31 (2606:4700:3031::6815:1f31): icmp_seq=3 ttl=59 time=1.31 ms
64 bytes from 2606:4700:3031::6815:1f31 (2606:4700:3031::6815:1f31): icmp_seq=4 ttl=59 time=1.30 ms
64 bytes from 2606:4700:3031::6815:1f31 (2606:4700:3031::6815:1f31): icmp_seq=5 ttl=59 time=1.25 ms
64 bytes from 2606:4700:3031::6815:1f31 (2606:4700:3031::6815:1f31): icmp_seq=6 ttl=59 time=1.26 ms
64 bytes from 2606:4700:3031::6815:1f31 (2606:4700:3031::6815:1f31): icmp_seq=7 ttl=59 time=2.73 ms
服务器每次重启后都需要手动执行一次 DHCP IPv6,可以设置自动获取
sudo vim /etc/default/grub
包含下面字段的,添加一个 ipv6.disable=0
,和其他参数使用空格隔开
GRUB_CMDLINE_LINUX_DEFAULT="quiet ipv6.disable=0"
更新 GRUB
sudo update-grub
编辑网络服务配置文件
sudo vim /etc/network/interfaces
原来的配置文件
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp
在下面添加一行
iface eth0 inet6 dhcp
然后重启网络服务
sudo systemctl restart networking
当前会话自动断开,您似乎再也连不上 SSH 了。不要担心,VPS 并没有失联
ssh xvo@128.23.45.6
ex_exchange_identification: Connection closed by remote host
Connection closed by 140.238.15.230 port 41965
回到 Oracle 控制台,强制关机,然后重新启动就 OK 了
使用 SSH 重新登录服务器后,可以查看
ip add
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq state UP group default qlen 1000
link/ether 98:76:54:32:10:ab brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname ens3
inet 10.0.0.212/24 brd 10.0.0.255 scope global dynamic eth0
valid_lft 85226sec preferred_lft 85226sec
inet6 2600:ccdd:7788:90ab:cdef:ffee:1314:1314/128 scope global # 完成
valid_lft forever preferred_lft forever
inet6 fe80::6543:5678:aabb/64 scope link
valid_lft forever preferred_lft forever
文中信息已脱敏
参考信息