上一篇                     
               
			  如何改linux的ip地址
- Linux
- 2025-07-19
- 2279
 在Linux中,可通过命令行或网络管理工具修改IP地址,常用方法:使用 
 
 
ip addr add [新IP]/[子网] dev [网卡] 命令设置(需root权限),或通过 
 nmcli con mod [连接名] ipv4.addresses [新IP]/[掩码] 修改,亦可编辑 
 /etc/network/interfaces 或对应配置文件,修改后需重启网络服务或断开重连生效
以下是多种场景下修改Linux系统IP地址的详细方案,涵盖临时调整、永久性配置及不同发行版操作差异:
快速临时修改(重启失效)
| 操作方式 | 命令示例 | 适用场景 | 
|---|---|---|
| ifconfig(老旧系统) | sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 | Debian系旧版本 | 
| ip命令(推荐) | sudo ip addr add 192.168.1.100/24 dev eth0sudo ip link set eth0 up | 现代所有发行版 | 
| 同名覆盖技巧 | sudo ip addr flush dev eth0sudo ip addr add 192.168.1.100/24 broadcast+ dev eth0 | 需要清除原有配置时 | 
注意事项:
- 网卡命名规则:CentOS7+/RHEL7+常用ens33,Ubuntu16+用enp4s0格式
- 广播地址计算:子网掩码255.255.255.0对应广播地址为192.168.1.255
- 路由配置:需配合sudo ip route add default via 192.168.1.1设置默认网关
永久性配置修改
Debian/Ubuntu系(含Mint)
配置文件路径:/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 114.114.114.114 
现代系统(使用Netplan):
# /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  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

CentOS/RHEL系(含Fedora)
配置文件路径:/etc/sysconfig/network-scripts/ifcfg-eth0
# 修改或添加以下字段 BOOTPROTO=none ONBOOT=yes 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
重启网络:sudo systemctl restart network
通用网络服务重启命令
sudo systemctl restart NetworkManager # 图形化环境 sudo systemctl restart network # 传统service网络管理 sudo systemctl restart systemd-networkd # systemd-networkd管理
图形化操作指南
GNOME桌面环境:

- 进入”设置” -> “网络”
- 选择有线连接 -> “齿轮”图标 -> “IPv4″选项卡
- 选择”手动”模式,填写IP、网关、DNS信息
KDE Plasma环境:
- 打开”系统设置” -> “网络配置”
- 选中网卡设备 -> 切换”IP获取方式”为手动
- 输入详细信息后点击”应用”
高级排错命令
| 命令 | 功能描述 | 
|---|---|
| ip addr show | 查看当前IP配置 | 
| ping -c 4 baidu.com | 测试网络连通性 | 
| nmcli connection show | 查看NetworkManager连接状态 | 
| journalctl -u NetworkManager | 查看网络服务日志 | 
动态IP与静态IP转换
启用DHCP客户端:
sudo rm -f /etc/network/interfaces.static # Ubuntu清理静态配置 sudo dhclient eth0 # 释放后重新获取
禁用DHCP恢复静态:

sudo systemctl stop dhcpcd # 停止DHCP服务 sudo systemctl disable dhcpcd # 禁止开机启动
FAQs
Q1:修改IP后无法联网怎么办?
- 检查物理链路:确保网线连接正常,观察网卡指示灯状态
- 验证配置冲突:arp -a查看是否存在MAC地址冲突
- 清除缓存:执行sudo ip route flush cache
- 日志排查:查看/var/log/syslog或journalctl错误记录
Q2:如何批量修改多台Linux主机IP?
- 使用Ansible自动化:
- name: Batch set IP addresses
 hosts: linux_group
 tasks:- name: Push network config
 copy:
 dest: /etc/network/interfaces
 content: |
 auto eth0
 iface eth0 inet static
 address {{ item.ip }}
 netmask {{ item.subnet }}
 gateway {{ item.gw }}
 loop: “{{ inventory_hostnames }}”
 loop_control:
 label: “Configuring {{ item }}”
 
- name: Push network config
- 脚本生成法:编写Expect脚本自动交互配置
 
  
			