服务器测评网
我们一直在努力

Linux修改IP命令是什么?如何配置静态IP地址

在 Linux 系统运维与网络管理中,修改 IP 地址是一项基础且至关重要的技能,核心上文归纳是:使用 ip 命令套件进行临时生效的快速修改,使用 nmcli(NetworkManager)或编辑 Netplan 及传统网络配置文件实现永久生效,传统的 ifconfig 命令因功能局限已逐渐被 iproute2 取代,掌握现代且符合各发行版特性的配置方法,是保障服务器网络稳定性的关键。

Linux修改IP命令是什么?如何配置静态IP地址

使用 ip 命令进行临时修改

在需要立即测试网络环境或进行故障排查时,ip 命令是最高效的工具,它直接与内核交互,修改即时生效,但系统重启后配置会丢失

查看当前网络接口状态
首先需要确认网卡名称,使用以下命令可以列出所有接口的详细信息:
ip addr show
或者简写为:
ip a
输出结果中,eth0ens33enp0s3 等即为常见的网卡名称。

添加 IP 地址
使用 ip addr add 命令为指定网卡添加 IP 地址,注意,一个网卡可以拥有多个 IP 地址。
语法格式为:
ip addr add [IP地址/子网掩码] dev [网卡名称]
将网卡 ens33 的 IP 地址设置为 168.1.100,子网掩码为 24(即 255.255.255.0):
ip addr add 192.168.1.100/24 dev ens33

删除 IP 地址
如果需要移除特定的 IP 地址,使用 del 参数:
ip addr del 192.168.1.100/24 dev ens33

启用或禁用网卡
修改 IP 后,确保网卡处于“UP”状态:
ip link set ens33 up
若需关闭网卡:
ip link set ens33 down

实现永久生效的配置方案

为了确保服务器重启后网络配置依然有效,必须修改系统的网络配置文件或使用网络管理工具,不同的 Linux 发行版有不同的配置方式,以下针对主流环境提供专业解决方案。

使用 nmcli 命令(推荐用于 CentOS 8/9、RHEL 8/9、Fedora、Ubuntu 18.04+)
nmcli 是 NetworkManager 的命令行工具,功能强大且统一,是现代 Linux 发行版的首选方案。

  • 修改连接配置
    首先查看连接名称:
    nmcli connection show
    假设连接名称为 Wired connection 1,执行以下命令设置静态 IP、网关和 DNS:
    nmcli connection modify "Wired connection 1" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 ipv4.method manual
    关键参数解释

    • ipv4.method manual:将模式设置为手动(静态 IP),若需自动获取则改为 auto
    • ipv4.addresses:设置 IP 和子网掩码。
    • ipv4.gateway:设置默认网关。
    • ipv4.dns:设置 DNS 服务器。
  • 使配置生效
    修改后需要重启连接:
    nmcli connection up "Wired connection 1"

使用 Netplan(推荐用于 Ubuntu 18.04 及更高版本)
Ubuntu 从 18.04 版本开始默认使用 Netplan 作为网络配置工具,配置文件位于 /etc/netplan/ 目录下,通常为 .yaml

  • 编辑配置文件
    使用编辑器打开配置文件(如 01-netcfg.yaml):
    vi /etc/netplan/01-netcfg.yaml
    修改内容如下(注意 YAML 的缩进格式必须严格使用空格):

    Linux修改IP命令是什么?如何配置静态IP地址

    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          dhcp4: no
          addresses: [192.168.1.100/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 114.114.114.114]
  • 应用配置
    保存文件后,执行以下命令测试并应用配置:
    sudo netplan apply

修改传统配置文件(适用于 CentOS 7、老版本 Debian/Ubuntu)
对于未采用 Netplan 或 NetworkManager 的老旧系统,直接编辑网络脚本文件是最直接的方法。

  • CentOS/RHEL 7
    配置文件路径为 /etc/sysconfig/network-scripts/ifcfg-ens33
    关键配置项如下:

    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8

    修改后重启网络服务:
    systemctl restart network

  • Debian/Ubuntu 老版本
    配置文件路径为 /etc/network/interfaces
    添加如下内容:

    auto ens33
    iface ens33 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8

    修改后重启网络服务:
    sudo /etc/init.d/networking restart

验证与路由管理

配置完成后,必须进行严格的验证以确保网络连通性。

验证 IP 地址分配
再次使用 ip addr show 确认网卡已绑定正确的 IP 地址,且状态为 UP。

检查路由表
IP 配置正确不代表网络可达,路由表决定了数据包的走向。
ip route show
核心输出应包含:
default via 192.168.1.1 dev ens33
这表明默认网关已正确设置,如果缺失默认路由,服务器将无法访问外网,手动添加默认路由的命令为:
ip route add default via 192.168.1.1

连通性测试
使用 ping 命令测试网关及外网连通性:
ping -c 4 192.168.1.1
ping -c 4 8.8.8.8

Linux修改IP命令是什么?如何配置静态IP地址

专业见解与故障排除

在实际生产环境中,修改 IP 往往伴随着风险,以下是基于 E-E-A-T 原则的专业建议:

ARP 缓存问题
当修改 IP 地址,特别是将一个漂移 IP 从一台服务器切换到另一台服务器时,可能会出现网络“瞬断”或“不可达”现象,这通常是因为邻居(网关或交换机)的 ARP 表中仍缓存着旧的 MAC 地址映射。
解决方案:在修改 IP 后,可在服务器上主动发送 gratuitous ARP(免费 ARP),或在网关设备上清除 ARP 缓存,在 Linux 上,可以使用 arping 工具:
arping -U -I ens33 192.168.1.100

静态路由与策略路由
对于多网卡服务器,仅仅配置 IP 和默认网关可能导致路由冲突,两个网卡都配置了默认网关,内核将随机选择一个,导致网络不可控。
解决方案:应根据业务需求配置策略路由或指定特定的静态路由,确保不同网段的流量走不同的网卡。

配置备份
在进行任何永久性修改前,务必备份原有的配置文件。
cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
这能在配置错误导致 SSH 断连时,通过控制台快速回滚。

相关问答

Q1:在使用 ip addr add 命令添加新 IP 后,为什么 ping 不通?
A1: 这种情况通常由两个原因导致,第一,虽然 IP 已添加到网卡,但对应的路由表可能未自动生成同网段路由,此时需检查 ip route;第二,如果是跨网段通信,可能缺少默认网关,还需检查防火墙和 SELinux 是否拦截了 ICMP 包,最直接的排查步骤是:先 Ping 本机 IP(确认网卡层正常),再 Ping 同网段其他 IP(确认二层链路正常),Ping 网关(确认三层路由正常)。

Q2:ifconfigip 命令在修改 IP 时有什么本质区别?
A2: ifconfig 属于 net-tools 工具包,已被 Linux 内核社区标记为过时,它无法很好地支持网络命名空间、VLAN 映射等现代网络特性,而 ip 命令属于 iproute2 套件,直接利用 Netlink Socket 与内核通信,功能更全面、执行效率更高,且能精确控制路由、隧道和流量控制,在未来的 Linux 发行版中,ifconfig 可能会被彻底移除,因此应养成使用 ip 命令的习惯。

如果您在具体的 Linux 发行版中遇到配置问题,或者需要了解更多关于多网卡绑定的策略,欢迎在评论区留言,我们将为您提供进一步的技术支持。

赞(0)
未经允许不得转载:好主机测评网 » Linux修改IP命令是什么?如何配置静态IP地址