在Linux系统中设置IP地址是网络管理的基础操作,无论是服务器、虚拟机还是嵌入式设备,都离不开正确的网络配置,Linux提供了多种工具和方法来设置IP地址,包括传统的命令行工具(如ifconfig、iproute2)以及现代的网络管理器(如NetworkManager),本文将详细介绍不同场景下Linux IP地址的设置方法,涵盖临时配置、永久配置、静态IP与动态IP的设置,以及常见问题的排查思路。

使用传统命令行工具设置IP地址
ifconfig命令(已逐渐被淘汰,但仍广泛使用)
ifconfig是早期Linux系统中配置网络接口的主要工具,属于net-tools包,虽然许多现代Linux发行版已默认不再安装,但通过sudo apt install net-tools(Ubuntu/Debian)或sudo yum install net-tools(CentOS/RHEL)仍可使用。
-
临时设置IP地址
以下命令为eth0接口设置静态IP地址:sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
同时可添加网关:
sudo route add default gw 192.168.1.1
上述配置仅在当前会话有效,重启系统后会丢失。
-
启用/禁用接口
sudo ifconfig eth0 up # 启用接口 sudo ifconfig eth0 down # 禁用接口
iproute2工具(现代Linux推荐)
iproute2是Linux内核中网络配置的核心工具,逐渐取代了ifconfig,其功能更强大,支持复杂的网络策略。
- 临时设置IP地址
为eth0接口设置IP地址:sudo ip addr add 192.168.1.100/24 dev eth0
启用接口:
sudo ip link set eth0 up
添加默认网关:
sudo ip route add default via 192.168.1.1
使用NetworkManager管理网络配置
NetworkManager是现代Linux发行版(如Ubuntu、Fedora、RHEL等)默认的网络管理服务,提供了图形界面和命令行工具(nmcli),适合动态网络环境。
通过nmcli命令行设置
-
查看网络接口

nmcli device status
-
设置静态IP地址
假设为eth0设置静态IP,需先定义连接 profile:sudo nmcli con mod "eth0" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8
激活连接:
sudo nmcli con up "eth0"
-
设置动态IP(DHCP)
sudo nmcli con mod "eth0" ipv4.method auto sudo nmcli con up "eth0"
通过图形界面设置
以GNOME桌面环境为例:
- 进入“设置”>“网络”;
- 选择要配置的以太网或WiFi连接;
- 点击“齿轮图标”>“IPv4”,选择“手动”并输入IP、子网掩码、网关和DNS;
- 保存配置。
通过配置文件永久设置IP地址
对于服务器或无桌面环境的Linux系统,直接编辑网络配置文件是最可靠的方式。
Ubuntu/Debian(netplan)
Ubuntu 18.04及后续版本使用netplan,配置文件通常位于/etc/netplan/目录下。
# /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, 1.1.1.1]
应用配置:
sudo netplan apply
CentOS/RHEL(NetworkScripts)
传统CentOS/RHEL使用NetworkScripts,配置文件为/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 ONBOOT=yes
重启网络服务:
sudo systemctl restart network
systemd-networkd(轻量级方案)
对于追求简洁的系统,可直接使用systemd-networkd,创建配置文件/etc/systemd/network/eth0.network:

[Match] Name=eth0 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1 DNS=8.8.8.8
启用并启动服务:
sudo systemctl enable --now systemd-networkd
验证与故障排查
配置完成后,需验证网络连通性:
- 查看IP配置
ip addr show eth0
- 测试网络连通性
ping 8.8.8.8
- 检查路由表
ip route show
- 查看DNS解析
nslookup www.baidu.com
常见问题:
- IP不生效:检查配置文件语法是否正确,确保服务已重启;
- 无法上网:确认网关和DNS配置正确,检查防火墙规则;
- 接口未启用:使用
ip link set <interface> up激活接口。
多IP与VLAN配置
-
为同一接口添加多个IP
sudo ip addr add 192.168.1.101/24 dev eth0
-
配置VLAN
安装vlan工具:sudo apt install vlan # Ubuntu/Debian
创建VLAN接口:
sudo ip link add link eth0 name eth0.100 type vlan id 100 sudo ip addr add 192.168.100.1/24 dev eth0.100 sudo ip link set eth0.100 up
Linux设置IP地址的方法灵活多样,选择哪种方式取决于具体需求:
- 临时测试:优先使用
iproute2; - 桌面环境:推荐NetworkManager图形界面;
- 服务器生产环境:直接编辑配置文件或使用systemd-networkd。
无论采用哪种方法,理解网络配置的基本原理(如IP、子网掩码、网关的关系)至关重要,同时需结合ping、traceroute等工具快速定位问题,掌握这些技能,能有效提升Linux网络管理效率。


















