☰
【脚本】 【Linux】启动所有网卡
2026/10/24 1:39:57 网站建设 项目流程

ifup_ethernets.sh
方法一

#!/bin/bash# 等待udev设备稳定udevadm settle--timeout=5# 遍历启动所有网卡forifacein/sys/class/net/e*;do# 提取网卡名ifaceName=$(basename"$iface")# 跳过虚拟网卡: loopback, bridge, docker等[[-e/sys/devices/virtual/net/$ifaceName]]&&continue# 状态检查(避免重复操作)state=$(cat/sys/class/net/$ifaceName/operstate2>/dev/null)[["$state"!="down"]]&&continue# 启动网卡echo"启动网卡$ifaceName..."iplinkset"$ifaceName"up2>/dev/null||{echo"网卡$ifaceName启动失败">&2}done

方法二

#!/bin/bash# 等待udev完成设备初始化udevadm settle--timeout=2# 获取所有物理网卡interfaces=()whileIFS=read-rline;dointerfaces+=("$line")done<<(find/sys/class/net-typel-name'e*'-printf'%f\n')# 遍历启动所有网卡forifacein"${interfaces[@]}";do# 跳过虚拟网卡[[-e"/sys/devices/virtual/net/$iface"]]&&continue# 启动物理网卡echo"Activating interface:$iface"iplinkset"$iface"up# 等待网卡实际激活timeout=5while[[$timeout-gt0]];dostate=$(cat"/sys/class/net/$iface/operstate")[["$state"=="up"||"$state"=="unknown"]]&&breaksleep1((timeout--))donedone

用法:./ifup_ethernets.sh。
设置系统开机自启:

  • 把文件ifup_ethernets.sh放在目录/lib/ifupdown/下,chmod +x ifup_ethernets.sh赋予可执行权限。
  • 创建服务文件/lib/systemd/system/ifup_ethernets.service
[Unit]Description=ifup all ethernetsAfter=systemd-udevd.service network-pre.target networking.serviceBefore=network.target[Service]Type=oneshotRemainAfterExit=yesExecStart=/lib/ifupdown/ifup_ethernets.shTimeoutStartSec=10StandardOutput=journalStandardError=journal[Install]WantedBy=network.target
  • 启动服务
systemctlenableifup_ethernets systemctl daemon-reload systemctl start ifup_ethernets

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询