Linux系统如何通过命令行更改IP地址配置?

Linux系统中,IP地址的配置是网络管理的基础操作,无论是临时调试还是长期部署,都可能需要根据实际需求调整IP地址,Linux下更改IP地址的方法主要分为临时更改和永久更改两种,且不同发行版(如Ubuntu/Debian和CentOS/RHEL)的配置工具和文件路径可能存在差异,本文将详细讲解各类场景下的操作步骤和注意事项。

linux如何更改ip地址吗

临时更改IP地址(重启后失效)

临时更改IP地址适用于快速测试或临时网络调试,配置不会写入系统配置文件,重启网络服务或系统后会恢复原设置,主要通过命令行工具实现,常用命令有ipifconfigifconfig逐渐被ip取代,但部分旧系统仍支持)。

使用ip命令(推荐)

ip是Linux下更现代的网络配置工具,功能更全面,适用于当前大多数发行版(如Ubuntu 18.04+、CentOS 7+)。

  • 查看当前网络接口
    首先通过ip addr showip a查看系统中的网络接口名称(如eth0ens33wlan0等),

    ip addr show

    输出中会显示inet字段对应IPv4地址,inet6对应IPv6地址,link/ether是MAC地址。

  • 添加/删除IP地址
    假设需为接口eth0配置静态IP168.1.100,子网掩码255.255.0(即/24),执行:

    sudo ip addr add 192.168.1.100/24 dev eth0  # 添加IP

    若需删除已配置的IP,用del替换add

    sudo ip addr del 192.168.1.100/24 dev eth0  # 删除IP
  • 启用/禁用接口
    配置IP后,需确保接口处于启用状态(UP):

    sudo ip link set eth0 up  # 启用接口
    sudo ip link set eth0 down  # 禁用接口(临时断开网络)
  • 查看路由和网关
    配置IP后,可通过ip route show查看路由表,确认默认网关是否正确:

    ip route show

    若需临时添加默认网关(如168.1.1),执行:

    sudo ip route add default via 192.168.1.1  # 添加默认网关

使用ifconfig命令(旧版系统)

ifconfig是传统的网络配置工具,在Ubuntu 16.04及更早版本、CentOS 6等系统中默认安装,新系统需手动安装net-tools包(sudo apt install net-toolssudo yum install net-tools)。

  • 配置IP地址
    eth0配置IP168.1.100,子网掩码255.255.0

    sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
  • 启用/禁用接口

    linux如何更改ip地址吗

    sudo ifconfig eth0 up
    sudo ifconfig eth0 down
  • 添加别名IP(多IP配置
    若需为一个接口配置多个IP,可使用别名(如eth0:0):

    sudo ifconfig eth0:0 192.168.1.101 netmask 255.255.255.0

临时配置对比表格

操作 ip命令(推荐) ifconfig命令(旧版)
查看接口信息 ip addr showip a ifconfigifconfig eth0
添加IP sudo ip addr add 192.168.1.100/24 dev eth0 sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
删除IP sudo ip addr del 192.168.1.100/24 dev eth0 sudo ifconfig eth0 192.168.1.100
启用接口 sudo ip link set eth0 up sudo ifconfig eth0 up
添加默认网关 sudo ip route add default via 192.168.1.1 sudo route add default gw 192.168.1.1

永久更改IP地址(重启后生效)

永久更改IP地址需修改系统的网络配置文件,不同发行版的配置方式和文件路径差异较大,需根据具体系统选择方法。

Ubuntu/Debian系统(Netplan或NetworkManager)

Ubuntu 18.04及更新版本默认使用netplan进行网络配置,而Ubuntu 16.04及部分版本使用NetworkManager(图形化工具nmtuinmcli)。

(1)Netplan配置(Ubuntu 18.04+)

Netplan通过YAML格式的配置文件管理网络,文件通常位于/etc/netplan/目录下(如01-netcfg.yaml50-cloud-init.yaml)。

  • 编辑配置文件
    使用sudo vim /etc/netplan/01-netcfg.yaml打开文件,示例配置如下(以eth0接口为例):

    network:
      version: 2
      ethernets:
        eth0:
          dhcp4: no          # 禁用DHCP,使用静态IP
          addresses: [192.168.1.100/24]  # 静态IP地址及子网掩码
          gateway4: 192.168.1.1          # 默认网关
          nameservers:
            addresses: [8.8.8.8, 114.114.114.114]  # DNS服务器
  • 应用配置
    保存文件后,执行以下命令使配置生效:

    sudo netplan apply

    若提示配置错误,可通过sudo netplan --debug apply查看详细日志排查问题。

(2)NetworkManager配置(Ubuntu 16.04及图形化环境)

Ubuntu默认使用NetworkManager管理网络,可通过命令行工具nmcli或图形化工具“网络”配置。

  • 使用nmcli命令
    查看现有连接:nmcli connection show
    修改连接(如“System eth0”为连接名称):

    sudo nmcli connection modify "System eth0" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 114.114.114.114"

    重启连接使配置生效:

    sudo nmcli connection down "System eth0" && sudo nmcli connection up "System eth0"
  • 图形化配置
    打开“设置”→“网络”,点击当前连接的齿轮图标,选择“编辑IPv4”,选择“手动”,输入IP、子网掩码、网关和DNS,保存即可。

CentOS/RHEL系统(NetworkManager或NetworkScripts)

CentOS 7+默认使用NetworkManager,CentOS 6及更早版本使用NetworkScriptsifcfg文件)。

linux如何更改ip地址吗

(1)NetworkManager配置(CentOS 7+)

  • 使用nmcli命令
    查看连接:nmcli connection show
    修改连接(如“ens33”为接口名):

    sudo nmcli connection modify "ens33" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 114.114.114.114"

    重启连接:

    sudo nmcli connection down "ens33" && sudo nmcli connection up "ens33"
  • 编辑ifcfg文件(不推荐,兼容旧方式)
    虽然CentOS 7+推荐nmcli,但也可手动编辑/etc/sysconfig/network-scripts/ifcfg-ens33

    sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
    ```  如下:  
    ```ini
    TYPE=Ethernet
    BOOTPROTO=static      # 静态IP,dhcp为动态IP
    NAME=ens33
    DEVICE=ens33
    ONBOOT=yes            # 开机自启
    IPADDR=192.168.1.100  # IP地址
    NETMASK=255.255.255.0 # 子网掩码
    GATEWAY=192.168.1.1   # 默认网关
    DNS1=8.8.8.8          # DNS服务器
    DNS2=114.114.114.114

    保存后执行sudo systemctl restart network重启网络服务。

(2)NetworkScripts配置(CentOS 6及更早版本)

CentOS 6及更早版本主要依赖ifcfg文件,配置方法与上述CentOS 7的ifcfg文件类似,但需注意:

  • 网络服务命令为service network restart(非systemctl)。
  • 若需禁用DHCP,确保BOOTPROTO=static,并手动配置IPADDRNETMASKGATEWAYDNS

验证IP配置是否生效

无论采用哪种方式更改IP,配置后均需验证是否生效:

  1. 查看IP地址

    ip addr show eth0  # 或 ifconfig eth0

    确认输出中包含配置的IP地址(如168.1.100)。

  2. 测试网络连通性

    • ping网关:ping 192.168.1.1(确认与本地网络通信)
    • ping公网IP:ping 8.8.8.8(确认与外网通信)
    • ping域名:ping www.baidu.com(确认DNS解析正常)

相关问答FAQs

问题1:临时更改IP和永久更改IP有什么区别?
解答:临时更改IP是通过命令行工具(如ipifconfig)直接修改网络接口的运行时配置,不会写入系统配置文件,因此重启网络服务或系统后IP地址会恢复为原配置,适用于快速测试或临时调试;永久更改IP是通过修改系统配置文件(如Netplan的YAML文件、NetworkManager的ifcfg文件)实现的,配置会持久保存,重启后仍生效,适合长期使用的网络环境。

问题2:更改IP地址后无法上网,如何排查?
解答:可按以下步骤排查:

  1. 检查IP配置:确认IP地址、子网掩码、默认网关是否正确,例如IP是否与同一网段其他设备冲突,子网掩码是否为255.255.0(/24),网关是否为本地网络的出口地址。
  2. 检查DNS配置:若能ping通IP但无法ping通域名,可能是DNS配置错误,可通过cat /etc/resolv.conf查看DNS服务器,确保配置了有效的DNS(如8.8.8)。
  3. 检查网络服务状态:使用systemctl status network(CentOS 7+)或service network status(CentOS 6)查看网络服务是否正常运行,若未运行则重启服务。
  4. 检查防火墙:部分防火墙(如iptables、firewalld)可能阻止网络访问,可临时关闭防火墙测试(sudo systemctl stop firewalldsudo iptables -F),若恢复则需调整防火墙规则。
  5. 检查网关连通性:执行ping 192.168.1.1(网关地址),若无法ping通,可能是网关设备故障或物理线路问题。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/30599.html

(0)
酷番叔酷番叔
上一篇 2025年9月26日 03:19
下一篇 2025年9月26日 03:40

相关推荐

  • 切换设置竟无需重启?

    在Linux系统中,图形用户界面(GUI)和命令行界面(CLI)是两种核心交互方式,命令行界面(又称终端或TTY)提供了更高效的系统控制能力,尤其适合执行批量任务、系统管理或资源受限场景,以下是切换到命令行界面的详细方法,适用于主流Linux发行版(如Ubuntu、CentOS、Fedora等):方法1:快捷键……

    2025年7月15日
    7500
  • Linux如何轻松配置WebDAV服务?

    WebDAV(Web Distributed Authoring and Versioning)是一种基于HTTP协议的扩展技术,允许用户像管理本地文件一样远程编辑和管理服务器文件,它广泛应用于团队协作、远程文件同步和跨平台数据共享场景,本指南将详细讲解在Linux(以Ubuntu/Debian为例)中通过Ap……

    2025年7月26日
    7600
  • Linux端口占用如何快速解决?

    查找占用端口的进程方法1:使用 netstat 命令sudo netstat -tulnp | grep :<端口号>参数解释:-t:仅显示TCP连接-u:显示UDP连接(可选)-l:列出监听状态的端口-n:以数字形式显示端口(不解析服务名)-p:显示进程ID和名称示例(查找占用80端口的进程):s……

    2025年6月13日
    8300
  • Linux如何复制文件夹?命令及操作步骤详解

    在Linux系统中,复制文件夹是日常操作中非常常见的需求,无论是备份文件、迁移数据还是整理目录结构,都需要掌握高效的文件夹复制方法,Linux提供了多种命令来实现文件夹复制,其中最常用的是cp命令和rsync命令,两者各有特点,适用于不同的场景,本文将详细介绍这两种命令的使用方法、常用选项及实际应用场景,帮助用……

    2025年9月22日
    4300
  • linux 如何看日志文件

    Linux 中,可用 cat、less、more 等命令查看日志文件,

    2025年8月19日
    5400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信