当前位置:首页 > Linux > 正文

Linux如何查看本机IP地址

在Linux中查看IP地址:使用 ifconfigip addr命令查看网络接口信息;图形界面可通过系统设置中的网络选项查看; hostname -I命令也可快速显示主要IP地址。

在Linux系统中,查看IP地址是一个基础但关键的操作,无论是配置网络服务、排查连接问题还是管理服务器,都需要明确设备的网络标识,Linux通过内核网络栈和用户态工具协同工作获取IP信息,以下是详细解析:


Linux系统获取IP地址的原理

当Linux设备连接网络时,IP地址的分配通常通过两种方式:

  1. 动态分配(DHCP)
    系统启动时,dhclientNetworkManager等守护进程自动向路由器发送DHCP请求,获取IP、子网掩码和网关信息,并更新内核网络接口配置。
  2. 静态配置
    管理员手动在配置文件(如/etc/network/interfaces/etc/sysconfig/network-scripts/)中定义IP地址,系统启动时加载这些配置。

内核通过网络接口(如eth0、wlan0)管理IP地址,用户则通过命令行工具查询这些接口的状态。

Linux如何查看本机IP地址  第1张


查看IP地址的4种常用方法

ip命令(推荐工具)

ip是现代化网络配置工具,取代了传统的ifconfig,几乎所有发行版预装。
操作步骤:

ip addr show
# 或简写为 
ip a

输出示例:

2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.105/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
       valid_lft 86300sec preferred_lft 86300sec
  • 关键字段
    inet后显示IPv4地址(如168.1.105),inet6显示IPv6地址;dynamic表示DHCP分配,static表示静态配置。

ifconfig命令(传统工具)

虽逐渐被弃用,但仍在旧系统或最小化安装中出现。
安装与使用:

sudo apt install net-tools  # Debian/Ubuntu安装
ifconfig

输出解读:
eth0wlan0接口下查找inet行。

hostname命令(快速查看主IP)

适用于查看主机的主要IP地址(通常对应默认路由):

hostname -I  # 显示所有非回环IP(空格分隔)

图形化界面(适合桌面用户)

  • GNOME桌面:点击右上角网络图标 → 选择连接 → 查看详细信息。
  • KDE Plasma:系统设置 → 网络 → 查看当前连接状态。

系统如何存储IP配置?

  • 动态IP:由DHCP客户端(如dhclient)运行时管理,不永久存储。
  • 静态IP:保存在配置文件中:
    • Debian/Ubuntu/etc/network/interfaces
      auto eth0
      iface eth0 inet static
          address 192.168.1.100
          netmask 255.255.255.0
          gateway 192.168.1.1
    • RHEL/CentOS/etc/sysconfig/network-scripts/ifcfg-eth0
    • 通用配置:NetworkManager的配置文件位于/etc/NetworkManager/

高级场景:多IP与虚拟接口

  • 临时添加IP
    sudo ip addr add 192.168.1.200/24 dev eth0
  • 绑定多个IP
    在配置文件中使用多个address行或创建虚拟接口(如eth0:0)。

为什么推荐使用ip命令?

  • 直接对接Linux内核的netlink接口,信息更实时准确。
  • 支持新型网络技术(如VXLAN、MACVLAN)。
  • 已被主流发行版列为默认工具(ifconfig可能需额外安装)。

Linux通过内核网络子系统与用户空间工具(如ip)共同管理IP地址,无论是动态获取还是静态配置,掌握命令行查询方法(尤其是ip addr)是运维和开发者的必备技能,对于需要持久化配置的场景,务必修改系统网络文件并重启服务(sudo systemctl restart NetworkManager)。

引用说明

  • Linux ip命令文档:https://man7.org/linux/man-pages/man8/ip.8.html
  • NetworkManager官方指南:https://networkmanager.dev/docs/
  • DHCP协议详解:RFC 2131标准(IETF发布) 基于Linux 5.15内核及主流发行版实践验证,遵循开放标准。*
0