328 字
2 分钟
Linux配置Wake On LAN(WOL)
参考 https://zhuanlan.zhihu.com/p/666676538
- 搞一个名为wol的脚本:
vim wol.sh- 粘贴以下内容(已包含网络设备自动识别):
#!/bin/bash
# 判断系统发行版if [ -f /etc/redhat-release ]; then DISTRO="centos"elif cat /etc/issue | grep -q -E "Debian"; then DISTRO="debian"elif cat /etc/issue | grep -q -E "Ubuntu"; then DISTRO="ubuntu"elif cat /etc/issue | grep -q -E "Proxmox"; then DISTRO="debian"else echo "无法识别发行版,请检查!" exit 1fi
# 安装 ethtoolcase "$DISTRO" in centos) yum -y install ethtool net-tools ;; debian|ubuntu) apt-get update apt-get -y install ethtool net-tools ;; *) echo "不支持的发行版: $DISTRO" exit 1 ;;esac
# 获取网络设备名并编号echo "检测到以下网络设备:"ip link show | awk -F ': ' '/^[0-9]+:/{print $1 ": " $2}'
# 提示用户选择网络设备read -p "请输入要配置的网络设备编号: " CHOICE
# 获取用户选择的设备名DEVICE=$(ip link show | awk -F ': ' '/^[0-9]+:/{print $2}' | sed -n "${CHOICE}p")
# 确认用户选择read -p "您选择的设备是: $DEVICE,是否确认?(y/n): " CONFIRM
if [[ "$CONFIRM" != "y" ]]; then echo "操作已取消。" exit 1fi
# 生成服务文件cat >/etc/systemd/system/wol.service<<EOF[Unit]Description=Configure Wake On LANAfter=network-online.targetWants=network-online.target
[Service]Type=oneshotExecStart=/sbin/ethtool -s $DEVICE wol g
[Install]WantedBy=basic.targetEOF
# 启用服务sudo systemctl enable wol.servicesudo systemctl start wol.service
echo "WOL配置完成,请关闭计算机后测试启用情况"完成后输入
Linux配置Wake On LAN(WOL)
https://iiii.fun/posts/linux/linux-wol-setup/