菜鸟科技网

更改ip地址 命令行

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

更改ip地址 命令行-图1
(图片来源网络,侵删)

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,命令如下:

更改ip地址 命令行-图2
(图片来源网络,侵删)
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)的网络配置工具因版本而异,传统使用ifconfigroute,现代系统多采用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 showls /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服务器

注意事项与最佳实践

  1. 权限管理:所有命令行操作通常需要管理员/root权限,避免因权限不足导致配置失败。
  2. 备份配置:修改前备份原有配置文件(如Windows的netsh配置可通过netsh interface ip dump > backup.txt保存)。
  3. 网络冲突:静态IP需确保与网络内其他设备不冲突,可通过ping测试IP是否被占用。
  4. 脚本自动化:在批量部署时,可将命令写入脚本(如Shell或Batch),但需添加错误处理逻辑(如检查命令执行状态)。
  5. 跨平台差异:不同系统命令语法差异较大,需根据目标环境选择合适工具,例如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工具实现类似功能。

分享:
扫描分享到社交APP
上一篇
下一篇