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配置成功

相关推荐
liulilittle1 小时前
论 Linux 内核态全局稳态带宽的卡尔曼估计与工程实现
linux·服务器·网络·c++·计算机网络·tcp·通信
Irissgwe2 小时前
五、应用层协议HTTP
linux·网络·网络协议·http·状态码·url
.千余2 小时前
【Linux】 传输层协议UDP:从端口号到传输机制
linux·运维·udp
囚~徒~3 小时前
轻量化的虚拟机
linux·运维·服务器
SteveSenna3 小时前
Ubuntu 20.04 安装 Isaac Sim 4.5 + Isaac Lab
linux·运维·服务器
开开心心就好3 小时前
支持多显示器的Windows高效分屏工具
运维·python·科技·游戏·计算机外设·ocr·powerpoint
lizhihai_994 小时前
股市学习心得-A股服务器/算力服务器龙头
大数据·运维·服务器·人工智能·科技·学习
鼎讯信通4 小时前
守护风电场 “无线神经”:LN-090A 宽频高速手持式频谱分析仪
运维·信息与通信
超级赛博搬砖工4 小时前
静态网页内容与动态网页内容:网页抓取指南
运维·服务器