在 Linux 服务器上查看 内网 IP(即私有 IP 地址,通常位于 RFC 1918 定义的网段,如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 内)的方法有很多,常用的命令包括 ip、ifconfig、hostname 等。以下为专业且准确的查看方法。

首选使用 ip addr 或 ip a 命令。该命令是 iproute2 工具包的一部分,几乎所有现代 Linux 发行版都已预装。执行后,会显示所有网络接口及其地址信息。在输出中找到带有 inet 的行,其后面的地址即为该接口的 IP 地址。若该地址处于私有网段,则为内网 IP。例如:inet 192.168.1.100/24 表示内网 IP 为 192.168.1.100,子网掩码为 255.255.255.0。
如果系统安装了 net-tools,也可以使用 ifconfig 命令。该命令输出中,eth0、ens33 等接口下的 inet 字段即为 IP 地址。但需要注意,较新的发行版(如 CentOS 8+、Ubuntu 20.04+)默认可能不包含此命令,需通过软件包管理器单独安装,例如 yum install net-tools 或 apt install net-tools。
更简洁的方法是使用 hostname -I 命令(注意是大写的 I),它只显示所有 IP 地址,不显示网卡名称和子网掩码。输出中第一个地址通常是主内网 IP。例如:192.168.1.100 10.0.0.5。如果需要单独显示某个网卡的 IP,可结合 awk 或 grep 进行过滤。
此外,通过 ip route 命令查看 默认网关 时,也能间接判断内网网段。执行 ip route 或 route -n,输出中 default via 192.168.1.1 中的地址即为网关地址,通常与内网 IP 在同一子网。若服务器使用了 DHCP 自动获取地址,命令 dhclient -r 和 dhclient 可查看租约信息,但一般不用于日常查询。
请注意:内网 IP 与 公网 IP 有本质区别。公网 IP 是无法用上述命令直接查看的,需通过外部服务查询,例如 curl ifconfig.me 或 curl ip.sb。若服务器位于 NAT 之后,其内网 IP 是私有地址,公网访问时通常由路由器或防火墙进行映射。因此,在排查网络问题时,必须明确所查的 IP 类型。
总结:在 Linux 服务器上查看内网 IP 最可靠、最标准的方法是使用 ip addr;若需快速获取所有 IP,可使用 hostname -I;若在无 ip 命令的旧系统中,可退而使用 ifconfig。根据实际环境选择合适的命令,并注意区分接口名称和地址归属,即可准确获得服务器的内网 IP。

查看详情

查看详情