在Linux系统中更改IP地址是网络管理的基础操作,可通过命令行工具或配置文件实现,以下是详细方法,涵盖临时修改与永久配置,适用于主流发行版(Ubuntu、CentOS等):
临时修改IP(重启失效)
方法1:使用 ip
命令(推荐)
# 删除旧IP(可选) sudo ip addr del 192.168.1.50/24 dev eth0 # 设置默认网关 sudo ip route add default via 192.168.1.1
方法2:使用 ifconfig
(旧版工具)
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 sudo route add default gw 192.168.1.1
注意:临时修改仅当前会话有效,重启网络或系统后失效。
永久修改IP(需修改配置文件)
Ubuntu/Debian(使用Netplan)
- 编辑YAML配置文件(文件名可能不同):
sudo nano /etc/netplan/01-netcfg.yaml ```示例: ```yaml network: version: 2 ethernets: eth0: dhcp4: no # 关闭DHCP addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] # DNS服务器
- 应用配置:
sudo netplan apply
CentOS/RHEL(修改Network-Scripts)
- 编辑网卡配置文件:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
- 修改以下参数:
BOOTPROTO=static # 静态IP IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=1.1.1.1 ONBOOT=yes # 开机自启
- 重启网络服务:
sudo systemctl restart network
通用方法(使用NetworkManager)
# 设置静态IP sudo nmcli con mod eth0 ipv4.addresses 192.168.1.100/24 sudo nmcli con mod eth0 ipv4.gateway 192.168.1.1 sudo nmcli con mod eth0 ipv4.dns "8.8.8.8,1.1.1.1" sudo nmcli con mod eth0 ipv4.method manual # 应用配置 sudo nmcli con down eth0 && sudo nmcli con up eth0
验证配置
- 检查IP是否生效:
ip addr show eth0 # 或 ifconfig eth0
- 测试网络连通性:
ping 8.8.8.8 # 测试外网 ping 192.168.1.1 # 测试网关
- 确认DNS解析:
nslookup google.com
注意事项
- 权限要求:所有命令需
sudo
或root权限。 - 备份配置文件:永久修改前备份,避免配置错误导致断网:
sudo cp /etc/netplan/01-netcfg.yaml ~/backup.yaml
- 网卡名称差异:根据实际网卡名替换
eth0
(现代系统可能为enp0s3
等)。 - 防火墙影响:若更改后无法访问,检查防火墙规则:
sudo ufw disable # 临时关闭UFW(Ubuntu) sudo systemctl stop firewalld # 临时关闭Firewalld(CentOS)
故障排除
- 网络服务重启失败:检查配置文件语法(如YAML缩进、分号缺失)。
- IP冲突:确保新IP未被局域网其他设备占用。
- 网关不可达:确认网关地址正确且路由器运行正常。
引用说明参考Linux官方文档(kernel.org)、Ubuntu Server指南(ubuntu.com)及Red Hat系统管理手册(access.redhat.com),确保操作准确性与安全性,建议用户结合自身系统版本调整命令。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7233.html