在Linux系统中,通过命令行配置IP地址是系统管理和网络调试的基础技能,不同Linux发行版和版本可能使用不同的网络配置工具,但核心原理和常用命令具有共通性,以下将详细介绍通过命令行配置IP地址的方法,包括临时配置、永久配置、查看网络状态以及常见问题的解决方案。

临时配置IP地址
临时配置IP地址适用于测试场景或临时网络需求,重启网络服务或系统后配置会失效,主要使用ip命令(现代Linux系统推荐)或ifconfig命令(传统工具,部分系统可能需安装net-tools包)。
-
使用
ip命令配置
ip命令是iproute2包的一部分,功能强大且推荐使用。- 配置IP地址和子网掩码:
sudo ip addr add 192.168.1.100/24 dev eth0
上述命令为
eth0接口配置IP地址168.1.100,子网掩码为255.255.0(/24表示前24位为网络位)。 - 启用/禁用网络接口:
sudo ip link set eth0 up # 启用eth0 sudo ip link set eth0 down # 禁用eth0
- 添加默认网关:
sudo ip route add default via 192.168.1.1
- 配置DNS服务器:
临时DNS可通过修改/etc/resolv.conf文件实现:sudo echo "nameserver 8.8.8.8" >> /etc/resolv.conf sudo echo "nameserver 114.114.114.114" >> /etc/resolv.conf
- 配置IP地址和子网掩码:
-
使用
ifconfig命令配置
若系统未安装ifconfig,可通过sudo apt install net-tools(Ubuntu/Debian)或sudo yum install net-tools(CentOS/RHEL)安装。
(图片来源网络,侵删)- 配置IP地址和子网掩码:
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
- 启用/禁用网络接口:
sudo ifconfig eth0 up sudo ifconfig eth0 down
- 配置IP地址和子网掩码:
永久配置IP地址
永久配置需要修改系统的网络配置文件,具体方法因发行版而异,以下是主流发行版的配置方式:
-
基于Systemd的发行版(如Ubuntu 18.04+、CentOS 7+、Debian 10+)
使用Netplan(Ubuntu 18.04+)或NetworkManager(CentOS 7+)进行配置。- Netplan配置(Ubuntu 18.04+):
编辑/etc/netplan/01-netcfg.yaml文件(文件名可能因系统而异):network: version: 2 ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 114.114.114.114]配置完成后执行
sudo netplan apply使配置生效。 - NetworkManager配置(CentOS 7+/RHEL 7+):
使用nmtui(文本界面)或直接编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件:TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=114.114.114.114 ONBOOT=yes
重启网络服务:
sudo systemctl restart network。
(图片来源网络,侵删)
- Netplan配置(Ubuntu 18.04+):
-
传统发行版(如Ubuntu 16.04及更早版本)
编辑/etc/network/interfaces文件:auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1配置完成后执行
sudo ifup eth0或sudo /etc/init.d/networking restart生效。
查看网络状态
配置完成后,需验证网络状态是否正确:
- 查看IP地址配置:
ip addr show eth0 # 查看指定接口IP ip addr show # 查看所有接口IP
- 查看路由表:
ip route show
- 测试网络连通性:
ping 8.8.8.8 # 测试外网连通性 ping 192.168.1.1 # 测试网关连通性
- 查看DNS解析:
nslookup www.baidu.com
常见网络配置问题及解决方法
- IP地址冲突:
若提示RTNETLINK answers: File exists,表示IP地址已被占用,可通过ip addr del 192.168.1.100/24 dev eth0删除原配置后重新添加。 - 网络服务启动失败:
检查配置文件语法是否正确,例如Netplan配置需使用sudo netplan --debug apply调试,NetworkManager可通过sudo nmcli connection show查看连接状态。
相关配置命令速查表
| 功能 | ip命令 |
ifconfig命令 |
|---|---|---|
| 添加IP地址 | ip addr add <IP>/<mask> dev <dev> |
ifconfig <dev> <IP> netmask <mask> |
| 删除IP地址 | ip addr del <IP>/<mask> dev <dev> |
不支持 |
| 启用/禁用接口 | ip link set <dev> up/down |
ifconfig <dev> up/down |
| 添加默认网关 | ip route add default via <GW> |
不支持 |
| 查看接口信息 | ip addr show <dev> |
ifconfig <dev> |
相关问答FAQs
问题1:如何查看当前系统的网络接口名称?
解答:使用ip link show或ls /sys/class/net/命令可以列出系统中所有网络接口的名称。ip link show会显示类似2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>的输出,其中eth0即为接口名称。
问题2:配置IP地址后无法上网,如何排查?
解答:首先检查IP地址、子网掩码、网关和DNS配置是否正确,使用ping <网关IP>测试本地网络连通性,再通过ping 8.8.8.8测试外网连通性,若网关可通但外网不通,检查DNS配置是否正确,可尝试临时替换为公共DNS(如8.8.8.8),若仍无法解决,检查防火墙规则(如sudo iptables -L)或路由表(ip route show)是否阻止了网络访问。
