Linux 配置静态 IP 步骤

Linux 配置静态 IP 主要有 两种方式

  1. 临时生效:重启网络或服务器后失效,适合测试场景。
  2. 永久生效:修改配置文件,重启后依然有效,适合生产环境。

注意:不同 Linux 发行版的网络配置文件路径不同,主流分为 Debian/Ubuntu 系RHEL/CentOS/Rocky 系

一、前提准备

  1. 登录 Linux 系统,切换到 root 用户

    bash 复制代码
    su root
    # 或
    sudo -i
  2. 查看网卡名称和当前 IP 信息

    bash 复制代码
    # 通用命令(推荐)
    ip addr
    # 或旧命令
    ifconfig

    输出示例中,网卡名一般为 etho 、ens33、enp0s3等,记下来备用。

二、临时配置静态 IP(重启失效)

适用于快速测试,无需修改配置文件。

命令格式

bash 复制代码
# 设置 IP 地址和子网掩码
ip addr add [IP地址/子网掩码位数] dev [网卡名]
# 启动网卡
ip link set [网卡名] up
# 配置默认网关
ip route add default via [网关IP] dev [网卡名]
# 配置 DNS(临时生效,修改 /etc/resolv.conf)
echo "nameserver [DNS服务器IP]" > /etc/resolv.conf

示例

假设网卡名ens33,IP 192.168.1.100,子网掩码 255.255.255.0 (对应/24),网关 192.168.1.1,DNS 223.5.5.5

bash 复制代码
ip addr add 192.168.1.100/24 dev ens33
ip link set ens33 up
ip route add default via 192.168.1.1 dev ens33
echo "nameserver 223.5.5.5" > /etc/resolv.conf

验证

bash 复制代码
ip addr  # 查看 IP 是否设置成功
ping 192.168.1.1  # ping 网关测试连通性

三、永久配置静态 IP(推荐)

方式 1:RHEL/CentOS/Rocky 系(/etc/sysconfig/network-scripts

  1. 进入网络配置文件目录

    bash 复制代码
    cd /etc/sysconfig/network-scripts/
  2. 找到对应网卡的配置文件,文件名格式为ifcfg-[网卡名],例如ifcfg-ens33

  3. 编辑配置文件(使用 vi/vim)

    bash 复制代码
    vi ifcfg-ens33
  4. 修改 / 添加以下内容(按实际网络参数替换)

    bash 复制代码
    TYPE=Ethernet
    BOOTPROTO=static  # 静态IP,dhcp为自动获取
    IPADDR=192.168.1.100  # 静态IP地址
    NETMASK=255.255.255.0  # 子网掩码
    GATEWAY=192.168.1.1  # 网关
    DNS1=223.5.5.5  # DNS服务器1
    DNS2=114.114.114.114  # DNS服务器2(可选)
    ONBOOT=yes  # 开机自动启动网卡
    NAME=ens33  # 网卡名
    DEVICE=ens33  # 网卡设备名
    UUID=xxxxxxx  # 保留原有UUID,无需修改
  5. 保存退出(vi 编辑器::wq!)

  6. 重启网络服务

    bash 复制代码
    # CentOS 7 及以上
    systemctl restart NetworkManager
    # 或
    nmcli connection reload
    nmcli connection up ens33

方式 2:Debian/Ubuntu 系(/etc/netplan

Ubuntu 18.04 及以上使用 netplan工具,配置文件为.yaml格式。

  1. 进入 netplan 配置目录

    bash 复制代码
    cd /etc/netplan/
  2. 查看目录下的 yaml 文件,例如 00-installer-config.yaml(文件名可能不同)

  3. 编辑配置文件

    bash 复制代码
    vi 00-installer-config.yaml
  4. 修改内容(注意 yaml 缩进严格,不能用 tab

    bash 复制代码
    network:
      ethernets:
        ens33:  # 网卡名
          addresses: [192.168.1.100/24]  # 静态IP和子网掩码
          gateway4: 192.168.1.1  # 网关(Ubuntu 22.04 用 routes 替代 gateway4)
          nameservers:
            addresses: [223.5.5.5, 114.114.114.114]  # DNS服务器
      version: 2

    Ubuntu 22.04 及以上替换 gateway4 为 routes:

    bash 复制代码
    routes:
      - to: default
        via: 192.168.1.1
  5. 应用配置

    bash 复制代码
    netplan apply

方式 3:通用方式(/etc/network/interfaces

部分老版本系统或自定义系统使用此文件。

  1. 编辑配置文件

    bash 复制代码
    vi /etc/network/interfaces
  2. 添加以下内容

    bash 复制代码
    auto ens33  # 开机自动启动网卡
    iface ens33 inet static
        address 192.168.1.100  # 静态IP
        netmask 255.255.255.0  # 子网掩码
        gateway 192.168.1.1  # 网关
        dns-nameservers 223.5.5.5 114.114.114.114  # DNS
  3. 重启网络服务

    bash 复制代码
    systemctl restart networking

四、验证配置是否生效

  1. 查看 IP 地址

    bash 复制代码
    ip addr show [网卡名]
  2. 测试网关连通性

    bash 复制代码
    ping [网关IP]
  3. 测试外网连通性

    bash 复制代码
    ping www.baidu.com

可以ping通的话,静态ip配置成功

相关推荐
王志来137944730082 小时前
多元场景催生工控服务器机箱差异化需求匀天以柔性适配回应行业挑战
运维·服务器·人工智能·python
敲上瘾3 小时前
Redis持久化存储机制:从RDB到AOF再到混合持久化的配置与实践
linux·数据库·redis·缓存
小张同学a.3 小时前
OpenStack 私有云实战 2—— Glance 镜像与 Nova 计算服务搭建
linux·运维·服务器·openstack
xiaoye-duck3 小时前
《Linux网络编程》TCP 网络编程(下):基于 TCP 多线程通用字典服务 + 远程命令执行实战
linux·服务器·tcp/ip
陈让然4 小时前
VS Code C/C++ 插件 cpptools 内存占用异常
linux·运维
2401_894915536 小时前
GEO 优化源码全解析:从搜索引擎到 AI 引擎的底层改写逻辑
java·服务器·前端·数据库·人工智能·分布式·搜索引擎
qq_3164110310 小时前
商用冷柜售后报修运维管理系统开发案例
运维
huainingning10 小时前
R4930-G7服务器(RAID-LSI-9560-LP-8i-4GB)网页方式做Raid方法
服务器
智码看视界11 小时前
Day59-阿里云ACK实战:生产级K8s集群部署与运维
运维·阿里云·kubernetes·k8s·日志监控·容器运维·阿里云ack