去年写过一篇《Oracle甲骨文DD Debian系统自动获取IPv6》,最近看到Hostloc论坛里一位大佬写了一个添加 IPv6 自动脚本。这里分享一下,供大家参考。
前提:面板已经部署完 IPv6。OS为Debian、Ubuntu,CentOS不适用
常见问题:如果出现 Debian 或者 Ubuntu长期不动,说明面板IPv6没有调整好。Debian需要重启生效。有的VPS调整不出来,只能删除重开
已经测试:Ubuntu 20.04,Debian 11
非甲骨文IPv6:理论上也适用,没有测试过
优点:只需运行脚本一次,VPS重启 IPv6 仍然有效。自动识别OS
使用方法:将以下代码全部粘贴到root提示符号之后执行即可。或者做成sh脚本文件,采用bash执行。
Debian_IPv6(){iName=$(ip add | grep "^2: " | awk -F'[ :]' '{print $3}')dhclient -6 $iName #临时开启IPv6echo $iName #人工查看网卡是否正确cp /etc/network/interfaces /rootsed -i "$ a iface $iName inet6 dhcp" /etc/network/interfacesecho "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 $iNameMAC=$(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; ficp $yamlName /root/cat <<0099 >$yamlNamenetwork:ethernets:ens3:dhcp4: truedhcp6: falsematch:macaddress: $MACaddresses:- $IPv6set-name: $iNameversion: 20099netplan applysleep 2sping ipv6.google.com}myOS=$(hostnamectl | sed -n 's_.*System: \(\S*\).*_\1_p')#Ubuntu, Debianif [[ "$myOS" =~ "Ubuntu" ]]; thenecho "Ubuntu"Ubuntu_IPv6elif [[ "$myOS" =~ "Debian" ]]; thenecho "Debian"Debian_IPv6fi
然后你可以查看一下VPS的 IPv6 地址:
ip addr | grep net6

使用 ping6 命令进行 ping IPv6:
ping6 2408:877e:31::7

或者 执行如下命令:
ping6 fe80::f816:3eff:fe00:76%eth0

参考来源:
https://hostloc.com/thread-969997-1-1.html

CNBoy 四海部落




![Oracle Cloud 甲骨文云 澳大利亚墨尔本[AMD] 融合怪测评-CNBoy 四海部落](https://cnboy.org/wp-content/uploads/142ead374e8f7d8-1-220x150.png)

