在Linux系统中查看内网IP地址是网络配置和故障排查的基础操作,内网IP(通常指私有IP地址,如x.x.x
、16.x.x-172.31.x.x
、168.x.x
)用于局域网内设备通信,以下是6种专业方法,适用于大多数Linux发行版(Ubuntu、CentOS、Debian等),按使用频率排序:
最现代且全面的工具,取代了老旧的ifconfig
:
ip addr show
- 操作步骤:
- 打开终端(Ctrl+Alt+T)。
- 输入命令后回车。
- 在输出中查找
inet
开头的行(IPv4地址),通常位于eth0
(有线)或wlan0
(无线)接口下。 - 内网IP格式为
168.x.x
、x.x.x
或16.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.0
,brd
后是广播地址。
方法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 |
若所有方法均无输出,可能原因:
- 网卡未启用 → 尝试
ip link set eth0 up
(需root权限)- 未连接网络 → 检查网线或WiFi
- DHCP故障 → 尝试静态IP配置
引用说明
- 命令参考:Linux
man
手册(man ip
、man hostname
) - 网络标准:RFC 1918(私有IP地址分配)
- 测试环境:Ubuntu 22.04 LTS, CentOS Stream 9, Linux Kernel 5.15+
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8172.html