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下如何查询不同数据库存储过程

    准备工作安装数据库客户端MySQL:sudo apt install mysql-client(Debian/Ubuntu)或 sudo yum install mysql(CentOS/RHEL)PostgreSQL:sudo apt install postgresql-client 或 sudo yum……

    2025年6月19日
    10800
  • Linux如何识别U盘启动盘?详细步骤与方法解析

    Linux系统识别U盘启动盘是一个涉及内核驱动、设备管理和文件系统解析的协同过程,其核心在于通过硬件检测、驱动加载、设备节点创建及启动信息校验等步骤,最终确认U盘的可引导性,整个过程从用户插入U盘开始,系统会自动触发一系列机制完成识别,硬件检测与总线枚举当U盘插入Linux系统的USB接口时,主板上的USB控制……

    2025年9月23日
    5500
  • 如何查看Linux CPU负载均衡?

    核心命令与工具top / htop(实时监控)运行 top 后按 1 键,显示所有CPU核心的负载: top – 14:30:25 up 10 days, 1:23, 2 users, load average: 0.15, 0.20, 0.18Tasks: 256 total, 1 running, 255……

    2025年7月19日
    8700
  • 如何在Linux系统中修改文件与目录权限的详细步骤有哪些?

    在Linux系统中,文件和目录权限是保障系统安全的核心机制,通过控制不同用户对资源的访问权限,避免未授权操作,修改权限主要涉及chmod、chown和chgrp三个命令,下面详细介绍其使用方法和注意事项,Linux权限的基本概念Linux中的权限分为三类:文件所有者(User)、所属组(Group) 和 其他用……

    2025年9月21日
    8500
  • Linux下如何开发应用程序?关键步骤与方法详解

    Linux下开发应用程序是一个系统性的过程,涉及环境搭建、语言选择、工具链使用、调试测试及部署等多个环节,无论是系统级程序还是应用级软件,遵循规范的流程能显著提升开发效率与代码质量,以下从实际开发角度详细展开说明,开发环境搭建开发环境是应用程序的“工坊”,需确保基础工具链齐全,通过系统包管理器安装核心编译工具……

    2025年9月25日
    6300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信