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

Linux下如何永久设置静态IP地址?详细步骤解析

在Linux系统中设置IP地址是网络管理的基础操作,无论是服务器、虚拟机还是嵌入式设备,都离不开正确的网络配置,Linux提供了多种工具和方法来设置IP地址,包括传统的命令行工具(如ifconfig、iproute2)以及现代的网络管理器(如NetworkManager),本文将详细介绍不同场景下Linux IP地址的设置方法,涵盖临时配置、永久配置、静态IP与动态IP的设置,以及常见问题的排查思路。

Linux下如何永久设置静态IP地址?详细步骤解析

使用传统命令行工具设置IP地址

ifconfig命令(已逐渐被淘汰,但仍广泛使用)

ifconfig是早期Linux系统中配置网络接口的主要工具,属于net-tools包,虽然许多现代Linux发行版已默认不再安装,但通过sudo apt install net-tools(Ubuntu/Debian)或sudo yum install net-tools(CentOS/RHEL)仍可使用。

  • 临时设置IP地址
    以下命令为eth0接口设置静态IP地址:

    sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

    同时可添加网关:

    sudo route add default gw 192.168.1.1

    上述配置仅在当前会话有效,重启系统后会丢失。

  • 启用/禁用接口

    sudo ifconfig eth0 up    # 启用接口
    sudo ifconfig eth0 down  # 禁用接口

iproute2工具(现代Linux推荐)

iproute2是Linux内核中网络配置的核心工具,逐渐取代了ifconfig,其功能更强大,支持复杂的网络策略。

  • 临时设置IP地址
    为eth0接口设置IP地址:

    sudo ip addr add 192.168.1.100/24 dev eth0

    启用接口:

    sudo ip link set eth0 up

    添加默认网关:

    sudo ip route add default via 192.168.1.1

使用NetworkManager管理网络配置

NetworkManager是现代Linux发行版(如Ubuntu、Fedora、RHEL等)默认的网络管理服务,提供了图形界面和命令行工具(nmcli),适合动态网络环境。

通过nmcli命令行设置

  • 查看网络接口

    Linux下如何永久设置静态IP地址?详细步骤解析

    nmcli device status
  • 设置静态IP地址
    假设为eth0设置静态IP,需先定义连接 profile:

    sudo nmcli con mod "eth0" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8

    激活连接:

    sudo nmcli con up "eth0"
  • 设置动态IP(DHCP)

    sudo nmcli con mod "eth0" ipv4.method auto
    sudo nmcli con up "eth0"

通过图形界面设置

以GNOME桌面环境为例:

  1. 进入“设置”>“网络”;
  2. 选择要配置的以太网或WiFi连接;
  3. 点击“齿轮图标”>“IPv4”,选择“手动”并输入IP、子网掩码、网关和DNS;
  4. 保存配置。

通过配置文件永久设置IP地址

对于服务器或无桌面环境的Linux系统,直接编辑网络配置文件是最可靠的方式。

Ubuntu/Debian(netplan)

Ubuntu 18.04及后续版本使用netplan,配置文件通常位于/etc/netplan/目录下。

# /etc/netplan/01-netcfg.yaml
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

应用配置:

sudo netplan apply

CentOS/RHEL(NetworkScripts)

传统CentOS/RHEL使用NetworkScripts,配置文件为/etc/sysconfig/network-scripts/ifcfg-eth0

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

重启网络服务:

sudo systemctl restart network

systemd-networkd(轻量级方案)

对于追求简洁的系统,可直接使用systemd-networkd,创建配置文件/etc/systemd/network/eth0.network

Linux下如何永久设置静态IP地址?详细步骤解析

[Match]
Name=eth0
[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1
DNS=8.8.8.8

启用并启动服务:

sudo systemctl enable --now systemd-networkd

验证与故障排查

配置完成后,需验证网络连通性:

  • 查看IP配置
    ip addr show eth0
  • 测试网络连通性
    ping 8.8.8.8
  • 检查路由表
    ip route show
  • 查看DNS解析
    nslookup www.baidu.com

常见问题:

  1. IP不生效:检查配置文件语法是否正确,确保服务已重启;
  2. 无法上网:确认网关和DNS配置正确,检查防火墙规则;
  3. 接口未启用:使用ip link set <interface> up激活接口。

多IP与VLAN配置

  • 为同一接口添加多个IP

    sudo ip addr add 192.168.1.101/24 dev eth0
  • 配置VLAN
    安装vlan工具:

    sudo apt install vlan  # Ubuntu/Debian

    创建VLAN接口:

    sudo ip link add link eth0 name eth0.100 type vlan id 100
    sudo ip addr add 192.168.100.1/24 dev eth0.100
    sudo ip link set eth0.100 up

Linux设置IP地址的方法灵活多样,选择哪种方式取决于具体需求:

  • 临时测试:优先使用iproute2
  • 桌面环境:推荐NetworkManager图形界面;
  • 服务器生产环境:直接编辑配置文件或使用systemd-networkd。
    无论采用哪种方法,理解网络配置的基本原理(如IP、子网掩码、网关的关系)至关重要,同时需结合pingtraceroute等工具快速定位问题,掌握这些技能,能有效提升Linux网络管理效率。
赞(0)
未经允许不得转载:好主机测评网 » Linux下如何永久设置静态IP地址?详细步骤解析