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

相关推荐
a5986522 小时前
云手机怎么选?ARM服务器原生架构和X86模拟器差别很大
服务器·arm开发·智能手机
程序员清风10 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
readhere10 小时前
从ZYNQ7000开发板,学会启动嵌入式Linux系统——入门学习:EBAZ4205篇目录
linux·启动·嵌入式linux·zynq7000·ebaz4205
打工仔折腾 AI11 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
yyuuuzz11 小时前
跨境站点日志时区混乱的排查记录
运维·服务器·网络·云计算·aws·1024程序员节
‎ദ്ദിᵔ.˛.ᵔ₎12 小时前
关于Linux 线程局部存储的认识
linux·运维
GlobalInfo12 小时前
全球及中国风电叶片检测机器人行业研究报告(2026版):市场现状、行业前景与占有率分析
运维·网络·人工智能·机器人
数字新视界13 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
隔窗听雨眠13 小时前
KingbaseES平替全链路实践:从迁移评估到可持续运维
运维
skywalk816314 小时前
登到192.168.1.5那台机器,看看今天白天,大约从早晨到晚上,都卡住了。看看因为什么卡住,为什么卡住而没有杀死那个导致卡死的进程,为什么
运维·系统·freebsd