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操作系统中,安装硬件驱动程序的具体步骤是什么?

    Linux驱动是操作系统与硬件设备之间的桥梁,负责控制和管理硬件资源,确保设备能够正常工作,与Windows系统不同,Linux系统通常自带大量开源驱动,覆盖大部分常见硬件,但对于一些较新的或特殊硬件(如独立显卡、专业网卡、外设等),可能需要手动安装驱动,本文将详细介绍Linux系统中安装驱动的多种方法,包括使……

    2025年8月23日
    15400
  • Linux系统如何实现屏幕内容投影至外部设备的具体操作?

    Linux系统下实现屏幕投影(即将当前屏幕内容输出到外部显示器、投影仪或其他设备)是日常办公、演示或教学中的常见需求,主要通过有线连接和无线连接两种方式实现,本文将详细介绍不同场景下的投影方法,包括硬件连接、系统设置及命令行工具的使用,并针对常见问题提供解决方案,有线连接投影:稳定可靠的基础方案有线连接是Lin……

    2025年9月23日
    7500
  • Linux升级软件包的具体方法有哪些?

    在Linux系统中,软件包升级是保持系统安全、稳定及功能更新的核心操作,不同Linux发行版采用不同的包管理器,操作方式略有差异,但核心逻辑一致:更新包索引、升级已安装包、处理依赖关系,以下以主流发行版为例,详细介绍软件包升级的流程及注意事项,基于Debian/Ubuntu系统的APT包管理器Debian及其衍……

    2025年9月29日
    10000
  • Linux下Tomcat安全配置全指南?

    环境准备安装JDKsudo apt updatesudo apt install openjdk-11-jdk # 推荐JDK 11java -version # 验证安装下载Tomcat官网获取最新稳定版(推荐Tomcat 9/10):wget https://downloads.apache.org/tom……

    2025年7月6日
    13200
  • Linux启动隐藏哪些秘密?

    电源启动与硬件自检(BIOS/UEFI阶段)通电自检(POST)按下电源键后,主板固件(BIOS或UEFI)启动:BIOS(传统模式):检测CPU、内存、硬盘等基础硬件,通过蜂鸣声或屏幕提示错误,UEFI(现代标准):图形化界面,支持大容量硬盘和安全启动(Secure Boot),速度更快,用户可见现象:屏幕显……

    2025年7月15日
    12000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信