feat: add support for IPv6 only vps

This commit is contained in:
edgist 2023-05-23 07:43:18 +08:00 committed by Felix Yan
parent 9ab5633b0a
commit 6a0df5f10a

View file

@ -225,14 +225,14 @@ configure_bootloader() {
configure_network() {
local gateway dev ip
read -r dev gateway <<-EOF
$(awk '$2 == "00000000" { ip = strtonum(sprintf("0x%s", $3));
printf ("%s\t%d.%d.%d.%d", $1,
rshift(and(ip,0x000000ff),00), rshift(and(ip,0x0000ff00),08),
rshift(and(ip,0x00ff0000),16), rshift(and(ip,0xff000000),24)) ; exit }' < /proc/net/route)
EOF
set -- $(ip addr show dev "$dev" | awk '($1 == "inet") { print $2 }')
dev=$(ls /sys/class/net | grep -v lo)
if [ -n "$(ip -4 route show default | awk '{ print $3 }')" ]; then
gateway=$(ip -4 route show default | awk '{ print $3 }')
set -- $(ip addr show dev "$dev" | awk '($1 == "inet") { print $2 }')
else
gateway=$(ip -6 route show default | awk '{ print $3 }')
set -- $(ip addr show dev "$dev" | awk '($1 == "inet6" && $2 !~ /^fe80/) { print $2 }')
fi
ip=$@
# FIXME Not supported for "P2P" interfaces, such as venet, yet