我可以从 CLI 确定我的服务器是否具有 IPv4 或 IPv6 吗?

我可以从 CLI 确定我的服务器是否具有 IPv4 或 IPv6 吗?

有没有什么方法(通过 CLI)可以知道我所在的服务器是否有 IPv4 或 IPv6?

编辑:至于我问这个问题的原因(如果我说的不够具体,请原谅),我指的是本指南由我的主机(Linode)提供。

具体来说,他们说(在有关更新 /etc/hosts 的部分下):

“如果您在 Linode 上启用了 IPv6,您还需要为您的 IPv6 地址添加一个条目 [...]”。

所以,我只是想知道是否以及如何你可以通过命令行来解决这个问题。(我的操作系统是 Ubuntu 11.10 Oneiric。)

更新:除了 ifconfig,似乎ping6实用程序可能会很有用,正如暗示的那样文章。

答案1

这不是一个“非此即彼”的选择。您可以从命令行查询网络堆栈(见下文),这将返回分配给每个网络接口的 IP 地址,然后您可以从这些地址的格式中看到它们属于哪种类型。

ipconfig为了视窗

ifconfig为了大多数 *nix

请注意,地址存在并不意味着它正在使用。许多现代操作系统会分配一个链路本地地址目前,默认情况下,任何活动的网络适配器都可以使用。

答案2

ifconfig 将帮助您:

 stone@box ~ $ sudo ifconfig
 [sudo] password for stone: 
 eth1      Link encap:Ethernet  HWaddr aa:00:05:00:0a:02  
           inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
           inet6 addr: fe80::a800:5ff:fe00:a02/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:8931 errors:0 dropped:0 overruns:0 frame:0
           TX packets:8250 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000 
           RX bytes:9244802 (8.8 MiB)  TX bytes:1593148 (1.5 MiB)
           Interrupt:42 Base address:0x4000 

你会看到类似这样的内容,IPv6 地址才是最重要的范围在同一行。如果你看到那里地点那么你就有 IPv6 路由地址。(关联表示只链接本地地址。

答案3

您的系统几乎肯定会有 IPV4。您没有说明是哪个操作系统。您可以ifconfig在 Linux 中使用来获取并查找inet6一行

ifconfig | grep inet6 
inet6 addr: fe80::20c:29ff:fe5b:a5ea/64 Scope:Link

或者您可以在 Windows 下使用并在输出中ipconfig查找。IPv6 Address

相关内容