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 eth0 sudo ip link set eth0 up |
现代所有发行版 |
同名覆盖技巧 | sudo ip addr flush dev eth0 sudo 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脚本自动交互配置
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/68454.html