无法通过 SSH 连接 IPV6 vps (Hetzner + AlmaLinux + Virtualizor)

无法通过 SSH 连接 IPV6 vps (Hetzner + AlmaLinux + Virtualizor)

我有一台 Hetzner 专用服务器,带有 1 个 ipv4 地址和 1 个 ipv6 子网。目标是运行带有 ipv6 的 VPS。

操作系统:AlmaLinux 8 + Virtualizor。

我的 IPv6 子网:

2a01:4f8:171:1cd3:: / 64

打开 /etc/sysconfig/network-scripts/ifcfg-eth0 并(根据 Hetzner 的说明添加):

IPV6INIT=yes
IPV6ADDR=2a01:4f8:171:1cd3::/64
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=eth0

在 Virtualizor 中创建了一个 IP 池、IPv6 子网并生成了一堆 IPv6:

IPv6 地址


创建了一个 vps(ubuntu 18.04),一切看起来都很好:

IPv6 版本:

2a01:4f8:171:1cd3:abcd:11:02cd:d3e0

2a01:4f8:171:1cd3:abcd:11:06d1:7f33

2 vpss 就绪


Putty 无法连接到 ipv6(网络错误。网络不可达):

使用其 ipv4 通过 SSH 进入整个服务器。

运行:ip -6 地址

结果:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
3: viifbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2a01:4f8:171:1cd3::2/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::3497:85ff:fee2:c1ee/64 scope link
       valid_lft forever preferred_lft forever
4: viifv1001: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 fe80::fc16:3eff:fe34:ecaa/64 scope link
       valid_lft forever preferred_lft forever
5: viifv1002: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 fe80::fc16:3eff:fec7:81aa/64 scope link
       valid_lft forever preferred_lft forever

--

然后:

ip -6 addr show scope global

结果:

4: viifbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2a01:4f8:171:1cd3::2/64 scope global
       valid_lft forever preferred_lft forever

--

ip addr | grep inet6

结果:

inet6 ::1/128 scope host
inet6 2a01:4f8:171:1cd3::2/64 scope global
inet6 fe80::3497:85ff:fee2:c1ee/64 scope link
inet6 fe80::fc16:3eff:fe34:ecaa/64 scope link
inet6 fe80::fc16:3eff:fec7:81aa/64 scope link

--

sysctl net.ipv6.conf.all.forwarding=1

结果:

net.ipv6.conf.all.forwarding = 1

--

我是否应该像 Hetzner 所说的那样单独添加这些 ipv6,我们可以选择在 /etc/sysconfig/network-scripts/ifcfg-eth0 中手动添加 ipv6(每个用空格分隔):

IPV6ADDR_SECONDARIES=<IPv6 Address>/<Prefix>

--

尝试从 Vrtualizor 的终端进行 ssh 访问 > 失败(仅当安装并启用 java 时 SSh 才会起作用)

2号启用vnc > “无法连接到服务器”

--

太卡了..

我错过了什么?

寻找方向,并希望找到解决方案。谢谢


更新 1

曾是

IPV6INIT=yes
IPV6ADDR=2a01:4f8:171:1cd3::/64
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=eth0

测试(在 IPV6ADDR 中添加了‘2’,并添加了 IPV6ADDR_SECONDARIES):

IPV6INIT=yes
IPV6ADDR=2a01:4f8:171:1cd3::2/64
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=eth0
IPV6ADDR_SECONDARIES=2a01:4f8:171:1cd3::3 2a01:4f8:171:1cd3::4/64

答案1

按照https://docs.hetzner.com/cloud/servers/getting-started/connecting-to-the-server/

如果你的 hetzner 仪表板中显示的 IPv6 地址是 2a01:2001:db8:1234::/64,那么我们 ssh 的方式是替换/641

完整命令包括指定的特定私有 ssh 密钥文件并告诉系统不要尝试其他 ssh 密钥:

ssh -6 -i ~/.ssh/keys/hetzner-key -o IdentitiesOnly=yes root@2a01:2001:db8:1234::1

如果您有与 root 不同的用户,则root用该用户名替换上述内容。

相关内容