我有一台只有 IPv6 地址的 CentOS 服务器。我想使用 ping Linux 命令向 IPv4 地址发送 ping。这可能吗?
[root@test conf.d]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:ab:f7:f0 brd ff:ff:ff:ff:ff:ff
inet6 fd00:4888:1::10/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:feab:f7f0/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:35:5c:ed brd ff:ff:ff:ff:ff:ff
inet6 2001:1b70:4280:18e2::10/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe35:5ced/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@vnflcm-test-vnflcm-services-0 conf.d]#
答案1
如果没有帮助,这是不可能的。 IPv6 机器不支持 IPv4,反之亦然。您需要一台同时支持这两种功能的机器的帮助:NAT64 网关。
您可以找到一些公共的进行测试https://go6lab.si/current-ipv6-tests/nat64dns64-public-test/。并非所有这些都始终在线,因此请尝试一些。
该系统能够正常工作是因为 IPv6 地址比 IPv4 地址大得多。因此可以将 IPv4 地址放入 IPv6 地址内。例如,地址 8.8.8.8 可以通过 2001:67c:27e4:1064::808:808 或 2001:67c:27e4:1064::8.8.8.8 到达(是的,这个表示法完全有效!)。
上面页面提到的 DNS64 服务器会自动为您执行此操作,因此即使使用主机名也能正常工作。
当您想在生产中使用它时(例如,运行仅使用 IPv6 的办公网络,同时仍然能够访问 IPv4 互联网),您应该运行自己的 NAT64 和 DNS64 网关。
答案2
简而言之:没有
IPv6 和 IPv4 无法交互,技术上不可能直接发送此 ping。
您需要的是具有 IPv4 和 IPv6 功能的代理,可用于在两种协议之间转发 ping。