我有一台 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:
创建了一个 vps(ubuntu 18.04),一切看起来都很好:
IPv6 版本:
2a01:4f8:171:1cd3:abcd:11:02cd:d3e0
2a01:4f8:171:1cd3:abcd:11:06d1:7f33
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 的方式是替换/64
为1
完整命令包括指定的特定私有 ssh 密钥文件并告诉系统不要尝试其他 ssh 密钥:
ssh -6 -i ~/.ssh/keys/hetzner-key -o IdentitiesOnly=yes root@2a01:2001:db8:1234::1
如果您有与 root 不同的用户,则root
用该用户名替换上述内容。