Linux系统下如何修改IP地址?

在Linux系统中,修改IP地址是网络管理的基础操作之一,无论是临时调试还是长期网络配置,都需要掌握正确的方法,Linux修改IP地址的方式主要分为临时修改和永久修改两大类,不同发行版(如RedHat系、Debian系)的具体操作略有差异,且可通过命令行或图形界面实现,本文将详细讲解各类方法的具体步骤、适用场景及注意事项。

linux如何修改ip地址

临时修改IP地址

临时修改IP地址是指配置在当前会话中生效,重启系统或网络服务后配置会失效,适用于临时调试、网络测试等场景,主要命令行工具包括ifconfig(传统工具)和ip(推荐,现代Linux默认支持)。

使用ifconfig命令(传统方法)

ifconfig是早期的网络配置工具,部分系统(如CentOS 7之前)默认安装,但新版本可能需手动安装net-tools包。
基本语法

ifconfig [网卡名称] IP地址 netmask 子网掩码 [up|down]

示例:为eth0网卡配置IP地址168.1.100,子网掩码255.255.0

ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up

验证配置

ifconfig eth0  # 查看eth0网卡配置信息

注意事项

  • ifconfig在CentOS 7/Ubuntu 20.04等新版本中默认未安装,可通过sudo yum install net-tools(RedHat系)或sudo apt install net-tools(Debian系)安装。
  • 临时修改后,重启网络服务或系统配置将丢失。

使用ip命令(推荐方法)

ip命令是iproute2包中的工具,功能更强大,是现代Linux系统的首选网络配置工具。
基本语法

ip addr add IP地址/子网前缀 dev 网卡名称

示例:为eth0网卡配置IP地址168.1.100,子网掩码24(即255.255.0):

sudo ip addr add 192.168.1.100/24 dev eth0

启用网卡(若网卡未启动):

sudo ip link set eth0 up

验证配置

ip addr show eth0  # 查看eth0网卡IP配置

删除临时IP

sudo ip addr del 192.168.1.100/24 dev eth0

优势ip命令支持更复杂的网络操作(如路由管理、VLAN配置等),且是未来发展的主流方向。

永久修改IP地址

永久修改IP地址是指配置写入系统配置文件,重启后仍生效,适用于服务器、长期使用的桌面环境等场景,不同Linux发行版的配置文件位置和格式不同,需区分处理。

RedHat/CentOS系列(使用ifcfg文件)

RedHat系(如CentOS、RHEL、Fedora)通过修改/etc/sysconfig/network-scripts/目录下的网卡配置文件实现,文件名格式为ifcfg-网卡名称

linux如何修改ip地址

操作步骤
(1)编辑网卡配置文件,以eth0为例:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

(2)修改或添加以下参数(根据实际网络配置调整):

TYPE=Ethernet               # 网络类型
BOOTPROTO=static            # 静态IP,若为DHCP则填dhcp
NAME=eth0                   # 网卡名称
DEVICE=eth0                 # 网卡设备名
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

参数说明

  • BOOTPROTOstatic为静态IP,dhcp为自动获取IP。
  • ONBOOTyes表示开机启动网卡,避免手动ifconfig启用。
  • IPADDRNETMASKGATEWAYDNS需根据网络环境填写,DNS通常需单独配置(/etc/resolv.conf文件会被网络服务自动覆盖)。

(3)保存文件后,重启网络服务或网卡:

sudo systemctl restart network  # 重启网络服务(CentOS 7+)
# 或
sudo ifdown eth0 && sudo ifup eth0  # 重启单个网卡

(4)验证配置:

ip addr show eth0
ping 192.168.1.1  # 测试网通性

Debian/Ubuntu系列(使用Netplan或NetworkManager)

Debian系(如Ubuntu、Debian)的网络配置方式因版本而异,Ubuntu 18.04+默认使用netplan,Ubuntu 16.04及之前版本使用/etc/network/interfaces文件;也可通过NetworkManager图形化或命令管理。

(1)使用Netplan(Ubuntu 18.04+)

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

操作步骤
(1)编辑Netplan配置文件:

sudo vi /etc/netplan/01-netcfg.yaml

(2)配置静态IP(示例为eth0网卡):

network:
  version: 2
  renderer: networkd  # 使用systemd-networkd渲染,或改为NetworkManager
  ethernets:
    eth0:
      dhcp4: no       # 禁用DHCP
      addresses:
        - 192.168.1.100/24  # IP地址/子网前缀
      gateway4: 192.168.1.1  # 默认网关
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]  # DNS服务器

注意:缩进必须使用空格(不可用Tab键),YAML对格式敏感。

(3)应用配置:

sudo netplan apply

(4)验证配置:

ip addr show eth0
ping 8.8.8.8

(2)使用/etc/network/interfaces(Ubuntu 16.04及之前)

传统方式,直接编辑接口配置文件:

linux如何修改ip地址

sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 114.114.114.114

重启网络服务

sudo systemctl restart networking

使用NetworkManager命令(nmcli

无论是RedHat系还是Debian系,若安装了NetworkManager(桌面版默认安装),均可通过nmcli命令永久修改IP,无需手动编辑配置文件。

基本语法

nmcli con mod "连接名称" ipv4.method manual ipv4.addresses IP地址/前缀 ipv4.gateway 网关 ipv4.dns DNS

示例:修改名为eth0的有线连接为静态IP:

sudo nmcli con mod "有线连接 1" 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 con down "有线连接 1" && sudo nmcli con up "有线连接 1"

验证配置

nmcli con show "有线连接 1" | grep ipv4

不同修改方法对比

为方便选择,以下表格总结各类方法的特点:

修改方式 适用场景 命令/工具 优点 缺点
临时修改(ip) 临时调试、网络测试 ip addr add 快速生效,无需修改配置文件 重启后失效
临时修改(ifconfig) 兼容旧系统 ifconfig 传统工具,易记 功能有限,新系统需安装
永久修改(ifcfg) RedHat系服务器 编辑/etc/sysconfig/network-scripts/ifcfg-* 配置稳定,适合生产环境 文件路径复杂,需手动重启服务
永久修改(Netplan) Ubuntu 18.04+桌面/服务器 编辑/etc/netplan/*.yaml YAML格式清晰,支持多网络管理 依赖systemd-networkd,格式要求严格
永久修改(nmcli) 图形化环境、批量管理 nmcli 无需编辑文件,支持图形/命令双模式 需安装NetworkManager,理解连接概念

常见问题排查

修改IP后若无法上网,可按以下步骤排查:

  1. 检查IP配置:确认IPADDRNETMASKGATEWAY是否正确,且与网络段匹配(如168.1.100需在168.1.0/24网段)。
  2. 检查DNS:执行ping 8.8.8.8测试网络连通性,若通但ping www.baidu.com失败,检查/etc/resolv.conf中的DNS配置。
  3. 检查网卡状态:确认网卡是否启用(ip link show查看状态为UP)。
  4. 检查防火墙:若无法访问外部网络,可能是防火墙规则拦截,临时关闭测试(sudo systemctl stop firewalld)。

相关问答FAQs

Q1:修改IP地址后无法上网,如何排查?
A:首先检查IP、子网掩码、网关配置是否正确(可通过ip addr showip route查看);其次测试网络连通性,ping 8.8.8.8检查是否可访问外网,若通但域名解析失败,检查DNS配置(/etc/resolv.conf);若无法ping通网关,检查网卡是否启用(ip link set eth0 up)及网线连接;最后确认防火墙或安全组未拦截流量(临时关闭防火墙测试:sudo systemctl stop firewalld)。

Q2:临时修改和永久修改IP地址有什么区别?如何选择?
A:临时修改通过ipifconfig命令实现,配置仅在当前会话生效,重启系统或网络服务后失效,适用于临时网络调试、测试等场景;永久修改需编辑系统配置文件(如ifcfg、Netplan文件)或使用nmcli,配置写入磁盘,重启后仍生效,适用于服务器、长期使用的设备等需要固定IP的场景,选择时,若仅需临时调试,用临时修改;若需长期稳定网络,必须用永久修改。

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

(0)
酷番叔酷番叔
上一篇 2025年9月29日 18:07
下一篇 2025年9月29日 18:28

相关推荐

  • Linux系统时间校准有哪些常用方法?如何操作才能确保时间准确无误?

    Linux系统时间的准确对日志记录、定时任务执行、系统同步等场景至关重要,若时间偏差过大,可能导致服务异常或数据错乱,校准Linux时间主要通过同步网络时间协议(NTP)服务器实现,同时需确保系统时间与硬件时钟(CMOS/BIOS时间)一致,以下是详细操作步骤:使用NTP服务校准时间NTP(Network Ti……

    2025年9月13日
    20800
  • 针对Linux系统,攻击者如何利用漏洞?入侵手段与防范方法有哪些?

    Linux系统因其稳定性、灵活性和开源特性,被广泛应用于服务器、嵌入式设备及桌面环境,但同时也成为攻击者的目标,攻击Linux系统通常涉及多个阶段,从信息收集到权限维持,每个环节都可能利用系统配置漏洞、软件缺陷或用户行为疏忽,本文将从攻击者的视角拆解常见攻击路径,并重点阐述防御策略,帮助理解系统安全防护的核心逻……

    2025年8月26日
    11400
  • Linux系统中如何正确安装和配置GRUB引导程序?

    GRUB(Grand Unified Bootloader)是Linux系统中广泛使用的引导加载程序,负责在计算机启动时加载操作系统内核和初始化内存盘(initramfs),是系统启动流程的核心组件,在Linux系统中安装GRUB通常出现在以下场景:新安装系统后手动配置引导、修复因误操作或系统更新导致的引导丢失……

    2025年8月29日
    12500
  • linux如何设置中文输入法切换

    在Linux系统中设置中文输入法并实现流畅切换,是许多中文用户日常使用的关键需求,Linux环境下常见的中文输入法框架包括IBus、Fcitx(及Fcitx5)和Rime,其中IBus是GNOME桌面环境的默认输入法框架,兼容性较好;Fcitx4/Fcitx5则功能丰富,支持多种输入法引擎;Rime则以高度可定……

    2025年9月23日
    10800
  • Linux终端如何下载文件?

    在Linux终端环境中,下载文件是日常运维、开发和服务管理中的常见需求,由于Linux服务器通常不配备图形界面,掌握终端下载命令至关重要,本文将详细介绍Linux终端中主流的文件下载工具及其使用方法,涵盖基础命令、高级功能及适用场景,帮助用户根据实际需求选择合适的下载方式,基础下载工具:wget与curlwge……

    2025年9月19日
    10800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信