在Linux系统中修改IP地址是网络管理中的基本操作,不同发行版和场景下操作方式略有差异,但核心逻辑一致,以下从命令行和图形界面两种主流方式展开,并补充静态IP与动态IP的配置细节,帮助用户全面掌握操作方法。

命令行修改IP地址(临时生效)
临时修改IP地址无需重启网络服务,适合快速测试或临时场景,但系统重启后会恢复原配置,主流工具包括ifconfig和ip命令,其中ip命令是现代Linux系统的推荐工具,功能更全面。
使用ip命令(推荐)
首先通过ip a或ip addr show查看当前网络接口名称(如eth0、ens33等),然后执行以下命令修改IP地址:
sudo ip addr add 192.168.1.100/24 dev eth0 # 添加IP地址,/24表示子网掩码255.255.255.0 sudo ip link set eth0 up # 启用网卡(若未启用)
配置完成后,使用ip a查看确认,并通过ping 192.168.1.1(网关地址)测试网络连通性,若需修改DNS,可临时编辑/etc/resolv.conf文件:
sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf
使用ifconfig命令(传统工具)
较旧的系统可能预装ifconfig(需安装net-tools包),操作方式如下:
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 sudo ifconfig eth0 up
注意:ifconfig已被逐步淘汰,建议优先使用ip命令。
永久修改IP地址(配置文件持久化)
临时配置在重启后失效,生产环境中需通过修改配置文件实现持久化,不同发行版的配置文件路径不同,需根据系统类型选择操作方式。

基于Systemd的系统(Ubuntu 18.04+、CentOS 7+)
使用Netplan(Ubuntu 18.04+)或NetworkManager(CentOS 7+)进行配置。
Ubuntu/Debian(Netplan)
编辑Netplan配置文件(通常位于/etc/netplan/目录下,如01-network-manager-all.yaml):
network:
version: 2
ethernets:
eth0:
dhcp4: no # 禁用动态IP,使用静态IP
addresses: [192.168.1.100/24] # 设置静态IP和子网掩码
gateway4: 192.168.1.1 # 网关地址
nameservers:
addresses: [8.8.8.8, 114.114.114.114] # DNS服务器
保存后执行sudo netplan apply使配置生效,并通过ip a确认。
CentOS/RHEL(NetworkManager)
编辑NetworkManager配置文件(如/etc/sysconfig/network-scripts/ifcfg-eth0):
TYPE=Ethernet BOOTPROTO=static # 静态IP,dhcp为动态IP IPADDR=192.168.1.100 # IP地址 NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.1.1 # 网关 DNS1=8.8.8.8 # 主DNS DNS2=114.114.114.114 # 备用DNS ONBOOT=yes # 开机自启
保存后执行sudo nmcli connection reload和sudo nmcli connection up eth0重启网络服务。
基于System V的系统(Ubuntu 16.04、CentOS 6)
此类系统通过ifcfg文件配置,路径与CentOS 7+一致,但重启网络服务的命令不同:

sudo service network restart # CentOS 6 sudo /etc/init.d/network restart # Ubuntu 16.04
动态IP配置(DHCP)
若使用动态IP获取,只需确保配置文件中BOOTPROTO=dhcp(CentOS)或dhcp4: yes(Ubuntu Netplan),无需手动指定IP、网关等信息,系统启动时会自动从DHCP服务器获取地址,可通过dhclient eth0手动触发获取。
验证与故障排查
配置完成后,需通过以下命令验证网络状态:
ip route:查看路由表,确认默认网关是否正确。ping 8.8.8.8:测试外网连通性,排查DNS或网关问题。systemctl status network(CentOS)或systemctl status networking(Ubuntu):检查网络服务状态。
若无法上网,可检查防火墙规则(sudo iptables -L)或SELinux状态(sestatus),必要时临时关闭测试:sudo setenforce 0。
通过以上方法,用户可根据系统类型和需求灵活修改Linux IP地址,临时配置适合快速测试,而生产环境务必通过配置文件实现持久化,并定期备份关键配置文件,避免误操作导致网络异常。
















