服务器测评网
我们一直在努力

Linux查看主机ip命令有哪些?不同场景下怎么选?

在Linux系统中查看主机IP地址是日常管理和运维中的基础操作,掌握多种方法可以帮助用户在不同场景下高效获取所需信息,以下将从命令行工具、系统配置文件、网络管理工具等多个维度,详细介绍Linux查看主机IP的各类方法及其适用场景。

Linux查看主机ip命令有哪些?不同场景下怎么选?

基础命令行工具查看IP

ifconfig命令

ifconfig是传统的网络配置工具,尽管在新版Linux中逐渐被ip命令取代,但在许多系统上仍可使用,通过ifconfig命令可以查看所有网络接口的IP地址、子网掩码、MAC地址等信息。

执行以下命令查看所有接口信息:

ifconfig

若只想查看特定接口(如eth0),可使用:

ifconfig eth0

输出说明inet字段后显示的IPv4地址,inet6字段后显示的IPv6地址,ether字段后显示MAC地址。

ip命令

ip是Linux下更现代、功能更强大的网络配置工具,推荐优先使用,通过ip addrip a命令可以查看详细的网络接口信息。

查看所有接口IP地址:

ip addr

查看特定接口(如ens33)的IP信息:

ip addr show ens33

输出说明inet后为IPv4地址及子网掩码长度,inet6后为IPv6地址,link/ether后为MAC地址。

Linux查看主机ip命令有哪些?不同场景下怎么选?

hostname命令

hostname命令主要用于查看系统主机名,但结合-I选项可快速获取所有接口的IPv4地址:

hostname -I

该命令输出简洁,仅显示IPv4地址,适合快速获取IP信息。

查看网络接口配置文件

Linux网络接口的配置通常存储在/etc/sysconfig/network-scripts/目录下(基于RedHat/CentOS系统),或/etc/network/interfaces(基于Debian/Ubuntu系统),通过查看配置文件可获取静态IP设置信息。

RedHat/CentOS系统

cat /etc/sysconfig/network-scripts/ifcfg-ens33

关键字段说明

  • IPADDR:静态IPv4地址
  • NETMASK:子网掩码
  • GATEWAY:默认网关
  • DNS1/DNS2:DNS服务器地址

Debian/Ubuntu系统

cat /etc/network/interfaces

关键字段说明

  • iface eth0 inet static:静态IP配置
  • address:IP地址
  • netmask:子网掩码
  • gateway:默认网关

使用网络管理工具查看IP

NetworkManager工具

现代Linux发行版多使用NetworkManager管理网络,可通过nmcli命令查看IP信息:

查看所有连接的IP地址:

nmcli connection show

查看特定连接(如”ens33″)的详细IP配置:

Linux查看主机ip命令有哪些?不同场景下怎么选?

nmcli connection show ens33 | grep "ipv4.method\|ipv4.addresses\|ipv4.dns"

systemd-networkd工具

对于使用systemd-networkd的系统(如Ubuntu 18.04+),可通过以下命令查看:

networkctl status

该命令会显示所有接口的IP地址、连接状态等信息。

查看公网IP地址

若需要获取主机在互联网上的公网IP地址,可通过以下方法实现:

使用curl访问在线服务

curl ifconfig.me
curl ipinfo.io/ip
curl cip.cc

这些命令会直接返回公网IP地址,适合脚本调用。

使用dig或nslookup查询

dig +short myip.opendns.com @resolver1.opendns.com
nslookup myip.opendns.com resolver1.opendns.com

通过DNS服务查询公网IP,可靠性较高。

不同场景下的IP查看方法对比

场景 推荐命令 优点 缺点
查看所有接口IP ip addr 信息全面,支持IPv4/IPv6 输出较冗长
快速获取IPv4地址 hostname -I 简洁高效 仅显示IPv4
查看公网IP curl ifconfig.me 简单直接,适合脚本 依赖网络连接
查看静态IP配置 cat /etc/sysconfig/network-scripts/ifcfg-ens33 可直接查看配置文件 需root权限,路径因系统而异
网络管理工具查看 nmcli connection show 支持NetworkManager管理 命令参数较复杂

常见问题与解决方案

显示”command not found”错误

  • ifconfig:安装net-tools包(sudo yum install net-toolssudo apt install net-tools)。
  • ip:安装iproute2包(通常系统已自带,如未安装可通过包管理器安装)。

无法获取IP地址

  • 检查网络接口是否启动:ip link show
  • 使用dhclient自动获取IP(DHCP场景):sudo dhclient eth0
  • 检查NetworkManager服务状态:systemctl status NetworkManager

IPv6地址未显示

  • 确认系统是否启用IPv6:cat /proc/sys/net/ipv6/conf/all/disable_ipv6
  • 若返回1表示禁用,需修改配置启用IPv6。

Linux查看主机IP的方法多样,用户可根据实际需求选择合适的工具,对于日常运维,ip addrnmcli是较为推荐的选择;快速查询时hostname -I更为便捷;查看公网IP则可通过在线服务实现,掌握不同场景下的IP查看技巧,不仅能提高工作效率,也有助于快速排查网络问题,在实际操作中,建议结合系统版本和网络环境选择最合适的方法,并注意命令权限与配置文件的正确性。

赞(0)
未经允许不得转载:好主机测评网 » Linux查看主机ip命令有哪些?不同场景下怎么选?