如何高效使用 ip 命令?

在Linux系统中查看内网IP地址是网络配置和故障排查的基础操作,内网IP(通常指私有IP地址,如x.x.x16.x.x-172.31.x.x168.x.x)用于局域网内设备通信,以下是6种专业方法,适用于大多数Linux发行版(Ubuntu、CentOS、Debian等),按使用频率排序:
最现代且全面的工具,取代了老旧的ifconfig

ip addr show
  • 操作步骤
    1. 打开终端(Ctrl+Alt+T)。
    2. 输入命令后回车。
    3. 在输出中查找inet开头的行(IPv4地址),通常位于eth0(有线)或wlan0(无线)接口下。
    4. 内网IP格式为168.x.xx.x.x16.x.x

示例输出

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

📌 关键提示:/24表示子网掩码为255.255.0brd后是广播地址。


方法2:使用 ifconfig(传统方式)

兼容旧系统,但需安装net-tools包(新系统可能默认未安装):

ifconfig -a
  • 安装命令(如未预装):
    sudo apt install net-tools  # Debian/Ubuntu
    sudo yum install net-tools  # CentOS/RHEL
  • 在输出中查找inet行,忽略0.0.1(本地回环地址)。

方法3:通过 hostname 命令

快速查看主要IP(仅显示一个地址):

hostname -I

✅ 优势:直接列出所有非回环IP,无需筛选。


方法4:查看路由网关关联IP

适用于多网卡场景,显示当前活跃连接的IP:

ip route get 1 | awk '{print $7}'
  • 原理:通过向默认网关(1是简写)发送请求,提取响应使用的源IP。

方法5:解析 nmcli(NetworkManager用户)

图形界面用户适用,尤其适合桌面版Ubuntu/Fedora:

nmcli -p device show
  • 输出中查找IP4.ADDRESS[1]字段。

方法6:读取系统日志(备用方案)

当前方法失效时使用,查看启动时分配的IP:

dmesg | grep "IP"
  • 或检查DHCP日志:
    journalctl -u systemd-networkd | grep "eth0"  # 替换为你的网卡名

⚠️ 安全提示

  • 内网IP仅在局域网内有效,不可用于公网访问
  • 避免公开泄露内网IP,可能被用于内部网络探测。

总结建议

场景 推荐命令
大多数现代系统 ip addr show
快速获取IP hostname -I
多网卡/复杂路由 ip route get 1
旧系统兼容 ifconfig -a

若所有方法均无输出,可能原因:

  1. 网卡未启用 → 尝试 ip link set eth0 up(需root权限)
  2. 未连接网络 → 检查网线或WiFi
  3. DHCP故障 → 尝试静态IP配置

引用说明

  • 命令参考:Linux man手册(man ipman hostname
  • 网络标准:RFC 1918(私有IP地址分配)
  • 测试环境:Ubuntu 22.04 LTS, CentOS Stream 9, Linux Kernel 5.15+

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8172.html

(0)
酷番叔酷番叔
上一篇 2025年7月21日 05:42
下一篇 2025年7月21日 05:52

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信