菜鸟科技网

如何用命令快速修改IP地址?

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

如何用命令快速修改IP地址?-图1
(图片来源网络,侵删)

Linux系统下修改IP地址

Linux系统主要通过修改网络配置文件或使用命令行工具(如ifconfigipnmcli)来调整IP设置,不同发行版(如CentOS、Ubuntu、Debian)的配置方式略有差异,以下以主流场景为例说明。

使用ifconfigroute命令(传统方法)

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(文件名可能因版本不同):

如何用命令快速修改IP地址?-图2
(图片来源网络,侵删)
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地址?-图3
(图片来源网络,侵删)
  • 添加静态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命令,需确保目标服务器已启用远程管理且具有管理员权限。

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