在Linux和Windows操作系统中,通过命令行修改IP地址是网络管理中常见的操作,适用于服务器配置、网络故障排查或自动化部署场景,本文将详细介绍不同系统下使用命令修改IP的方法,包括静态IP和动态IP(DHCP)的配置,并涵盖网络服务重启、配置验证等关键步骤。

Linux系统下修改IP地址
Linux系统主要通过修改网络配置文件或使用命令行工具(如ifconfig
、ip
、nmcli
)来调整IP设置,不同发行版(如CentOS、Ubuntu、Debian)的配置方式略有差异,以下以主流场景为例说明。
使用ifconfig
和route
命令(传统方法)
ifconfig
是早期Linux网络配置的常用工具,但新版本系统中可能需要安装net-tools
包。
- 安装net-tools(若未安装):
sudo apt install net-tools # Ubuntu/Debian sudo yum install net-tools # CentOS/RHEL
- 临时修改IP地址(重启后失效):
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 # 设置IP和子网掩码 sudo ifconfig eth0 up # 启用网卡
- 设置默认网关:
sudo route add default gw 192.168.1.1
- 验证配置:
ifconfig eth0 # 查看网卡信息 ip route show # 查看路由表
使用ip
命令(推荐方法)
ip
命令是iproute2
包的一部分,功能更强大且推荐用于现代Linux系统。
- 临时修改IP:
sudo ip addr add 192.168.1.100/24 dev eth0 # 添加IP地址(/24表示子网掩码255.255.255.0) sudo ip link set eth0 up # 启用网卡
- 设置网关:
sudo ip route add default via 192.168.1.1
- 删除IP地址:
sudo ip addr del 192.168.1.100/24 dev eth0
永久修改IP(通过配置文件)
Ubuntu/Debian(使用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):
编辑/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
使用nmcli
命令(NetworkManager工具)
适用于Ubuntu 18.04+、CentOS 7+等系统。

- 添加静态IP:
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 1.1.1.1" sudo nmcli con up eth0
- 切换为DHCP:
sudo nmcli con mod eth0 ipv4.method auto sudo nmcli con up eth0
Windows系统下修改IP地址
Windows系统主要通过netsh
命令或PowerShell修改IP,适用于批量操作或远程管理。
使用netsh
命令
- 设置静态IP:
netsh interface ip set address name="以太网" static 192.168.1.100 255.255.255.0 192.168.1.1 netsh interface ip set dns name="以太网" static 8.8.8.8
- 启用DHCP:
netsh interface ip set address name="以太网" dhcp netsh interface ip set dns name="以太网" dhcp
使用PowerShell(Windows 10/Server 2016+)
- 设置静态IP:
New-NetIPAddress -InterfaceAlias "以太网" -IPAddress 192.168.1.100 -PrefixLength 24 -DefaultGateway 192.168.1.1 Set-DnsClientServerAddress -InterfaceAlias "以太网" -ServerAddresses "8.8.8.8", "1.1.1.1"
- 启用DHCP:
Set-NetIPInterface -InterfaceAlias "以太网" -Dhcp Enabled Set-DnsClientServerAddress -InterfaceAlias "以太网" -ResetServerAddresses
修改IP后的验证与故障排查
配置完成后,需验证网络连通性:
- Linux:
ping 8.8.8.8 # 测试外网连通 ip route show # 检查路由表
- Windows:
ping 8.8.8.8 ipconfig /all # 查看IP配置
常见问题包括:IP冲突、网关错误、DNS解析失败等,需检查子网掩码、网关设置及网卡状态。
不同系统修改IP命令对比
操作系统 | 工具/命令 | 静态IP示例 | DHCP示例 |
---|---|---|---|
Ubuntu (Netplan) | 编辑配置文件 | addresses: [192.168.1.100/24] |
dhcp4: yes |
CentOS | NetworkScripts | IPADDR=192.168.1.100 |
BOOTPROTO=dhcp |
通用Linux | ip 命令 |
ip addr add 192.168.1.100/24 dev eth0 |
dhclient eth0 |
Windows | netsh |
netsh ip set address static 192.168.1.100 |
netsh ip set address dhcp |
Windows (PS) | PowerShell | New-NetIPAddress -IPAddress 192.168.1.100 |
Set-NetIPInterface -Dhcp Enabled |
相关问答FAQs
Q1: 修改IP后无法上网,如何排查?
A: 首先检查IP、子网掩码、网关配置是否正确,使用ping
测试网关连通性(如ping 192.168.1.1
),若网关可达但无法访问外网,可能是DNS问题,尝试手动设置DNS(如8.8.8.8),Linux用户还需确认/etc/resolv.conf
中的DNS配置,Windows用户可通过ipconfig /flushdns
刷新DNS缓存。
Q2: 如何通过命令批量修改多台服务器的IP?
A: 可结合SSH(Linux)或WinRM(Windows)实现远程批量操作,Linux环境下通过Ansible编写Playbook,使用command
模块调用ip
命令;Windows环境下使用PowerScript的Invoke-Command
cmdlet远程执行New-NetIPAddress
命令,需确保目标服务器已启用远程管理且具有管理员权限。