在计算机网络管理中,通过命令行更改IP地址是一项基础且重要的操作,尤其适用于服务器管理、网络故障排查或自动化脚本部署场景,不同操作系统(如Windows、Linux、macOS)的命令行工具和语法存在差异,本文将详细讲解各主流系统下的操作方法、注意事项及常见问题。

Windows系统下更改IP地址
Windows系统主要通过netsh(Network Shell)工具管理网络配置,适用于命令行或PowerShell环境,操作前需确认管理员权限,普通用户需通过右键点击命令提示符选择“以管理员身份运行”。
查看当前网络配置
首先使用以下命令列出所有网络适配器名称:
netsh interface show interface
找到目标适配器(如“以太网”或“WLAN”),记下其名称,若需查看IP详情,可运行:
ipconfig /all
设置静态IP地址
假设适配器名称为“以太网”,需设置IP为168.1.100,子网掩码255.255.0,网关168.1.1,DNS服务器8.8.8,命令如下:

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
name参数需与适配器名称完全一致,支持中文或英文。- 若需添加备用DNS,可继续执行
netsh interface ip add dns name="以太网" 8.8.4.4 index=2。
启用或禁用DHCP
若需恢复动态IP分配:
netsh interface ip set address name="以太网" dhcp netsh interface ip set dns name="以太网" dhcp
验证配置
执行ipconfig /all检查新IP是否生效,或使用ping 192.168.1.1测试网络连通性。
Linux系统下更改IP地址
Linux发行版(如Ubuntu、CentOS)的网络配置工具因版本而异,传统使用ifconfig和route,现代系统多采用ip命令或NetworkManager/Netplan等工具。
临时更改IP(重启后失效)
使用ip命令设置临时IP(以Ubuntu为例):
sudo ip addr add 192.168.1.100/24 dev eth0 # eth0为网卡名称,/24表示子网掩码255.255.255.0 sudo ip link set eth0 up sudo ip route add default via 192.168.1.1 # 设置默认网关
- 查看网卡名称:
ip addr show或ls /sys/class/net/。 - 若需修改DNS,编辑
/etc/resolv.conf文件(临时):echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
永久更改IP
(1)基于NetworkManager的系统(如Fedora、RHEL、Ubuntu 18.04+)
使用nmcli命令:
sudo nmcli connection modify "连接名称" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 8.8.4.4" sudo nmcli connection up "连接名称"
- 连接名称可通过
nmcli connection show查询。
(2)基于Netplan的系统(如Ubuntu 20.04+)
编辑配置文件(如/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, 8.8.4.4]
应用配置:sudo netplan apply。
(3)传统系统(如CentOS 7以下)
编辑/etc/sysconfig/network-scripts/ifcfg-eth0:
DEVICE=eth0 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。
macOS系统下更改IP地址
macOS使用networksetup命令,需通过终端执行,且可能需要管理员权限。
查看网络服务
networksetup -listallnetworkservices
常见服务包括“Wi-Fi”“Ethernet”等。
设置静态IP
假设服务为“Wi-Fi”,IP为168.1.100,子网掩码255.255.0,网关168.1.1:
sudo networksetup -setmanual "Wi-Fi" 192.168.1.100 255.255.255.0 192.168.1.1 sudo networksetup -setdnsservers "Wi-Fi" 8.8.8.8 8.8.4.4
恢复DHCP
sudo networksetup -setdhcp "Wi-Fi" sudo networksetup -setdhcp "Wi-Fi" withserver # 若需指定DHCP服务器
注意事项与最佳实践
- 权限管理:所有命令行操作通常需要管理员/root权限,避免因权限不足导致配置失败。
- 备份配置:修改前备份原有配置文件(如Windows的
netsh配置可通过netsh interface ip dump > backup.txt保存)。 - 网络冲突:静态IP需确保与网络内其他设备不冲突,可通过
ping测试IP是否被占用。 - 脚本自动化:在批量部署时,可将命令写入脚本(如Shell或Batch),但需添加错误处理逻辑(如检查命令执行状态)。
- 跨平台差异:不同系统命令语法差异较大,需根据目标环境选择合适工具,例如Linux的
ifconfig在部分新版本中已被ip取代。
相关操作对比表
| 操作系统 | 查看网卡名称 | 设置静态IP示例 | 恢复DHCP示例 |
|---|---|---|---|
| Windows | netsh interface show interface |
netsh ip set address "以太网" static 192.168.1.100 255.255.255.0 192.168.1.1 |
netsh ip set address "以太网" dhcp |
| Linux | ip addr show |
sudo ip addr add 192.168.1.100/24 dev eth0 |
sudo dhclient eth0(或通过NetworkManager) |
| macOS | networksetup -listallnetworkservices |
sudo networksetup -setmanual "Wi-Fi" 192.168.1.100 255.255.255.0 192.168.1.1 |
sudo networksetup -setdhcp "Wi-Fi" |
相关问答FAQs
Q1:为什么使用命令行更改IP后,网络连接仍显示“未识别的网络”?
A:这通常是因为IP设置后未正确更新路由表或DNS配置,在Windows中,可尝试执行ipconfig /renew释放并重新获取IP;在Linux中,检查/etc/resolv.conf是否正确配置DNS,或使用sudo systemctl restart networking(传统系统)重启网络服务,确保子网掩码和网关与网络环境匹配,避免因参数错误导致网络不通。
Q2:如何在命令行中批量修改多台服务器的IP地址?
A:可通过SSH远程执行脚本实现批量操作,在Linux服务器上编写Shell脚本,使用ssh命令远程登录并执行IP设置命令:
#!/bin/bash
servers=("192.168.1.10" "192.168.1.11") # 服务器IP列表
new_ip="192.168.1.100"
for server in "${servers[@]}"; do
ssh root@$server "ip addr add $new_ip/24 dev eth0 && ip route add default via 192.168.1.1"
done
需提前配置SSH免密登录,并在目标服务器上安装SSH服务,Windows服务器可通过PowerScript的Invoke-Command或PsExec工具实现类似功能。
