inet addr是Linux系统中用于表示网络接口IP地址的参数,一般出现在使用ifconfig命令查看网络配置的输出结果中,是系统网络配置信息里的核心内容之一,用于标识当前网络接口在互联网协议下的地址信息。

inet addr的基本概念
inet addr中的inet是Internet Protocol的缩写,也就是互联网协议,addr是address的缩写,合起来就是互联网协议地址,也就是我们常说的IP地址。在Linux系统的网络配置输出中,inet addr后面跟随的字符串就是当前网络接口分配到的IPv4地址,这个地址用于在该网络内标识这台Linux设备,实现设备之间的网络通信。
需要注意的是,inet addr是ifconfig命令输出的传统参数名称,在较新的ip命令输出中,对应的参数名称为inet,本质都是指代网络接口的IPv4地址。
如何查看inet addr
查看Linux系统的inet addr最常用的方法是使用ifconfig命令,该命令会列出所有网络接口的详细配置信息,其中包含inet addr字段。如果系统没有预装ifconfig,可以先安装net-tools工具包,不同发行版的安装命令如下:
# Ubuntu/Debian系统安装 sudo apt update sudo apt install net-tools # CentOS/RHEL系统安装 sudo yum install net-tools
安装完成后执行ifconfig命令,输出示例如下:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe12:3456/64 scope link
ether 00:0c:29:12:34:56 txqueuelen 1000 (Ethernet)
RX packets 12345 bytes 1234567 (1.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6789 bytes 765432 (747.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
上面的输出中,eth0接口的inet addr:192.168.1.100就表示该接口的IPv4地址是192.168.1.100,Bcast是广播地址,Mask是子网掩码。
如果使用ip命令查看,对应的输出如下:
ip addr show eth0
# 输出示例
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe12:3456/64 scope link
valid_lft forever preferred_lft forever
这里的inet 192.168.1.100/24就是对应ifconfig输出中的inet addr内容,/24表示子网掩码的位数。
inet addr相关参数说明
和inet addr同时出现的还有几个相关参数,共同构成网络接口的基础配置:
- Bcast:广播地址,用于向该网段内所有设备发送数据包
- Mask:子网掩码,用于划分网络位和主机位,判断两个IP是否属于同一网段
- inet6 addr:对应的IPv6地址,是下一代互联网协议地址
可以通过子网掩码计算网段范围,例如inet addr为192.168.1.100,Mask为255.255.255.0时,网段为192.168.1.0/24,可用主机地址范围是192.168.1.1到192.168.1.254。
inet addr的配置方式
临时修改inet addr可以使用ifconfig命令,重启后会失效:
# 给eth0接口设置inet addr为192.168.1.101,子网掩码255.255.255.0 sudo ifconfig eth0 192.168.1.101 netmask 255.255.255.0
永久修改需要根据不同的Linux发行版修改对应的网络配置文件:
Ubuntu/Debian系统
修改/etc/network/interfaces文件:
# 编辑配置文件 sudo vim /etc/network/interfaces # 文件内容示例 auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8
修改完成后重启网络服务:
sudo systemctl restart networking
CentOS/RHEL系统
修改/etc/sysconfig/network-scripts/ifcfg-eth0文件:
# 编辑配置文件 sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0 # 文件内容示例 DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8
修改完成后重启网络服务:
sudo systemctl restart network
常见问题排查
如果查看网络配置时没有inet addr,一般是网络接口没有启动或者没有获取到IP地址:
- 检查接口是否启动:执行
ifconfig eth0 up启动接口 - 如果是DHCP获取地址,执行
sudo dhclient eth0重新获取 - 检查网线是否连接正常,或者虚拟机的网络适配器配置是否正确
如果inet addr和预期不符,可以检查配置文件是否有误,或者是否有其他程序修改了网络配置。