VPS 网络重装 Debian 11 脚本
暂不支持 Oracle Linux 作为原系统。创建新机器时请选择 Ubuntu 20.04 或 18.04 系统模板。
下载脚本:
curl -fLO https://raw.githubusercontent.com/bohanyang/debi/master/debi.sh && chmod a+rx debi.sh
运行脚本:
sudo ./debi.sh --cdn --network-console --ethx --bbr --user root --password <新系统用户密码>
参数说明:
--bbr
开启 BBR
--ethx
网卡名称使用传统形式,如 eth0
而不是 ens3
--cloud-kernel
安装占用空间较小的 cloud
内核,但可能会导致 UEFI
启动的机器(如 Oracle
、Azure
及 Hyper-V
、Google Cloud
等)VNC
黑屏。BIOS
启动的普通 VPS
则没有此问题。
默认时区为 UTC
,添加 --timezone Asia/Shanghai
可使用中国时区。
默认使用 Debian
官方 CDN
镜像源(deb.debian.org),添加 --china
可使用阿里云镜像源。
如果没有报错可以重启:
sudo shutdown -r now
约 30
秒后可以尝试 SSH
登录 installer
用户,密码与之前设置的相同。如果成功连接,可以按 Ctrl-A
然后再按 4
监控安装日志。安装完成后会自动重启进入新系统。
Oracle 自动获取 IPv6
Debian
默认由 ifupdown
负责网络配置,主要配置文件是 /etc/network/interfaces
。
我试过添加 iface eth0 inet6 auto
和 iface eth0 inet6 dhcp
,但都没能实现自动配置 IPv6
。
除了默认的 ifupdown
之外,系统自带的 systemd-networkd
也可以配置网络。经过我的测试,可以在甲骨文云服务器上直接自动配置 IPv6
。
先用 ip link
命令看一下网卡名称,通常是 eth0
或者 ens3
之类。也可以看前面说到的 interfaces
配置文件。
然后新建文件 /etc/systemd/network/10-eth0.network
,添加配置如下:
[Match]
Name = eth0
[Network]
DHCP = ipv4
LinkLocalAddressing = ipv6
NTP = 169.254.169.254
注意要把 eth0
改成实际的网卡名称。
接下来禁用默认的 ifupdown
并启用 systemd-networkd
。注意下面的命令需要一次过执行,不然网络停掉之后 SSH
也会断线。eth0
要改成实际的网卡名称。
systemctl stop networking && systemctl stop ifup@eth0 && systemctl start systemd-networkd
如果命令执行完后 SSH
正常连线,说明新的网络配置成功了。卸载 ifupdown
并设置 systemd-networkd
开机启动就好了。
systemctl enable systemd-networkd
apt purge -y --auto-remove ifupdown isc-dhcp-client
其实 Ubuntu 18.04/20.04
默认使用的网络配置系统 netplan
的后端就是 systemd-networkd
,所以我其实参考了 Ubuntu
系统模板的配置。
Oracle 纯 IPv6 网络(无公网 IPv4)下安装方法
控制台进入机器详情页面,再点击链接进入所属 Subnet
可以看到这里的 IPv6
子网 CIDR
是 /64
如果你机器的 IPv6
是 2600:1000:2000:3000:4000:5000:6000:7000
,那么在命令中添加
--ip 2600:1000:2000:3000:4000:5000:6000:7000/64 --gateway none
即可。默认会使用 Google
的 IPv6 DNS
,也可以通过 --dns
选项指定其他(如 NAT64
)DNS
服务器。