在 Ubuntu 10.04 LTS 中获取本地 IP 地址

在 Ubuntu 10.04 LTS 中获取本地 IP 地址

我正在尝试从 Ubuntu 10.04 LTS 获取本地分配的 IP 地址ifconfig,我得到的是我的外部 IP 地址(换句话说,它是我在whatismyip.com

运行时ifconfig eth0inet addr显示我的外部 IP 地址而不是本地地址。

如何获取我的本地 IP 地址?

答案1

如果ifconfig eth0返回一个外部可路由的 IP 地址,则您几乎肯定不在任何 NAT 后面。 ifconfig无法知道任何非 NAT 的 IP 地址是什么,它只能报告与接口实际关联的 IP 地址。

您为什么认为所显示的 IP 地址不正确?

答案2

ip addr显示您的机器拥有的每个地址。​​其中包括 ipv4、ipv6、mac、link-local 和 global、avahi…

如果您没有看到 rfc1918 私有地址,则表示您没有处于 NAT 之后。您的路由器充当调制解调器的角色,没有自己的 IP 地址。

答案3

您必须为此使用路由器:这样路由器将具有公共 IP,而您的盒子将具有由 DHCP 提供的本地 IP。

只是出于好奇:为什么您不能接受外部 IP?安全问题?

答案4

尝试ip route 使用此正则表达式的第一个或第二个匹配项是您的本地 IP:

(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)

如果这也返回您的外部 IP,那么我认为您没有路由器......

相关内容