You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Linux下命令设置的IP重启后不生效,如何实现永久配置?

Linux 临时IP配置重启失效的解决方案

问题背景

你提到用以下命令临时设置了eth1的IP和默认网关,当前配置生效但系统重启后会恢复原有设置:

ip link set eth1 down
ifconfig eth1 0.0.1.2 netmask 255.255.255.0
route add default gw 0.0.1.2 eth1
ip link set eth1 up

你想知道是不是存在ifconfig没覆盖到的、需要额外配置IP的地方?答案是肯定的——上面的命令都是仅在当前运行时生效的临时配置,系统重启后会读取磁盘上的静态配置文件来恢复网络参数,所以必须修改这些配置文件才能让设置永久生效。

不同Linux发行版的静态网络配置位置

1. RHEL/CentOS 6 及更早版本

这类发行版的网卡配置文件存放在/etc/sysconfig/network-scripts/目录下,文件名通常为ifcfg-eth1
打开该文件,修改或添加以下核心配置项:

BOOTPROTO=static
IPADDR=0.0.1.2
NETMASK=255.255.255.0
GATEWAY=0.0.1.2
ONBOOT=yes

修改完成后重启网络服务生效:

service network restart

2. RHEL/CentOS 7+、Fedora 等使用NetworkManager的发行版

除了编辑上述ifcfg-eth1文件(路径不变),也可以用nmcli命令直接写入永久配置:

nmcli con mod eth1 ipv4.addresses 0.0.1.2/24
nmcli con mod eth1 ipv4.gateway 0.0.1.2
nmcli con mod eth1 ipv4.method manual
nmcli con up eth1

如果手动编辑配置文件,需确保IPADDRNETMASKGATEWAYONBOOT=yesBOOTPROTO=static这些参数配置正确。

3. Debian/Ubuntu 及衍生版本

这类发行版分两种配置方式:

  • Netplan方式(Ubuntu 18.04+)
    找到/etc/netplan/下的YAML配置文件(例如00-installer-config.yaml),修改内容如下:
    network:
      ethernets:
        eth1:
          addresses: [0.0.1.2/24]
          gateway4: 0.0.1.2
          dhcp4: no
      version: 2
    
    应用配置使其生效:
    netplan apply
    
  • 旧版interfaces方式
    编辑/etc/network/interfaces文件,添加以下内容:
    auto eth1
    iface eth1 inet static
        address 0.0.1.2
        netmask 255.255.255.0
        gateway 0.0.1.2
    
    重启网络服务:
    systemctl restart networking
    

4. 通用注意事项

  • 如果你的网卡之前是DHCP自动获取IP模式,一定要关闭DHCP(比如设置BOOTPROTO=staticdhcp4: no),否则重启后DHCP服务会自动覆盖你的静态配置。
  • 不管用ip还是ifconfig命令,临时配置都是直接修改内核网络栈,不会写入磁盘文件,所以永久生效必须修改对应发行版的静态配置文件。

内容的提问来源于stack exchange,提问作者netcat

火山引擎 最新活动