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 下,可使用相应数据库的备份工具,如 MySQL 用 mysqldump

    2025年8月9日
    3200
  • Linux下如何安装安卓系统?

    在Linux系统中安装安卓系统是许多开发者和技术爱好者探索跨平台体验、满足特定应用需求或进行开发调试的常见需求,本文将详细介绍通过虚拟机、双系统、容器化等多种方式在Linux上安装安卓的具体步骤、注意事项及优缺点分析,帮助用户根据自身需求选择合适方案,通过虚拟机安装:安全隔离的轻量级方案虚拟机技术可在Linux……

    2025年9月18日
    2500
  • Linux上传文件最快方法是什么?

    远程服务器文件上传方法SCP(Secure Copy)适用场景:命令行操作、中小文件传输、需加密传输步骤: # 从本地上传文件到远程服务器 scp /本地/文件路径 用户名@服务器IP:/远程/目录/ # 示例:将本地的 report.pdf 上传到远程 /home/user/docs/ scp ~/repor……

    2025年8月6日
    2900
  • 如何清理Linux服务器缓存?

    Linux服务器在日常运行中,操作系统会主动使用未使用的内存作为缓存(包括Page Cache、dentries、inodes等),以提高文件读写和程序响应速度,但当服务器内存紧张时,过高的缓存占用可能导致应用程序可用内存不足,影响性能,此时合理清理缓存成为必要操作,但需注意缓存对性能的积极作用,避免过度清理……

    2025年9月17日
    2200
  • cdlinux写入u盘后如何用u盘启动电脑?

    将CDLinux写入U盘后,要让电脑从U盘启动,需经历“准备工作-写入U盘-设置启动-启动验证”四个关键步骤,以下是详细操作指南,涵盖不同系统环境下的写入方法及常见问题解决,帮助新手顺利完成启动盘制作与启动流程,前期准备工作在写入U盘前,需确认以下要素,避免操作中途出现故障:所需工具与材料CDLinux镜像文件……

    2025年9月25日
    2000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信