今天新建了一个 arm 的甲骨文云,但是 vps 无法访问 ipv6 网站。这里提供一个脚本命令即可解决。
注意
本脚本只有在甲骨文控制面板添加配置好 IPv6 地址后才可使用;支持 Debian、Ubuntu 系统; CentOS 不适用。目前已经测试 Ubuntu 20.04、Debian 11 系统。非甲骨文 IPv6,理论上也适用,没有测试过。
使用方法
全部粘贴到 root 提示符号下面,或者做成 sh 采用 bash 执行,只需运行脚本一次,VPS 重启 IPv6 仍然有效;自动识别系统,运行相应脚本。
Debian_IPv6(){
iName=$(ip add | grep "^2: " | awk -F'[ :]' '{print $3}')
dhclient -6 $iName #临时开启 IPv6
echo $iName #人工查看网卡是否正确
cp /etc/network/interfaces /root
sed -i "$ a iface $iName inet6 dhcp" /etc/network/interfaces
echo "Reboot... & ping ipv6.google.com After reboot"
reboot
}
Ubuntu_IPv6(){
yamlName=$(find /etc/netplan/ -iname "*.yaml")
iName=$(ip add | grep "^2: " | awk -F'[ :]' '{print $3}')
dhclient -6 $iName
MAC=$(ip add | grep "link/ether.*brd" | awk -F' ' '{print $2}')
IPv6=$(ip add | grep "inet6.*global" | awk -F' ' '{print $2}')
if [[ ${#IPv6} -lt 5 ]]; then echo "Can't IPv6"; exit 1; fi
cp $yamlName /root/
cat <<0099 >$yamlName
network:
ethernets:
ens3:
dhcp4: true
dhcp6: false
match:
macaddress: $MAC
addresses:
- $IPv6
set-name: $iName
version: 2
0099
netplan apply
sleep 2s
ping ipv6.google.com
}
myOS=$(hostnamectl | sed -n 's_.*System: \(\S*\).*_\1_p')
#Ubuntu, Debian
if [[ "$myOS" =~ "Ubuntu" ]]; then
echo "Ubuntu"
Ubuntu_IPv6
elif [[ "$myOS" =~ "Debian" ]]; then
echo "Debian"
Debian_IPv6
fi
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容