断电重启后自动重连WiFi并分配固定IP的Armbian脚本

断电重启后自动重连WiFi并分配固定IP的Armbian脚本

方案一:使用NetworkManager(推荐)

创建配置脚本 /usr/local/bin/setup-wifi.sh

bash 复制代码
#!/bin/bash

# WiFi配置参数
WIFI_SSID="your_wifi_ssid"
WIFI_PASSWORD="your_wifi_password"
STATIC_IP="192.168.1.100/24"
GATEWAY="192.168.1.1"
DNS="8.8.8.8,114.114.114.114"

# 创建连接配置
nmcli con add type wifi con-name "auto-wifi" \
    ifname wlan0 ssid "$WIFI_SSID" \
    ip4 "$STATIC_IP" gw4 "$GATEWAY" \
    wifi-sec.key-mgmt wpa-psk \
    wifi-sec.psk "$WIFI_PASSWORD"

# 设置DNS
nmcli con mod "auto-wifi" ipv4.dns "$DNS"

# 启用自动连接
nmcli con mod "auto-wifi" connection.autoconnect yes
nmcli con mod "auto-wifi" connection.autoconnect-priority 100

# 激活连接
nmcli con up "auto-wifi"

设置脚本权限并添加到启动项:

bash 复制代码
sudo chmod +x /usr/local/bin/setup-wifi.sh
# 添加到rc.local实现开机自启
echo "/usr/local/bin/setup-wifi.sh" | sudo tee -a /etc/rc.local

方案二:使用传统network/interfaces配置

编辑网络配置文件 /etc/network/interfaces

bash 复制代码
# 配置静态IP和WiFi
auto lo
iface lo inet loopback

allow-hotplug wlan0
iface wlan0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 114.114.114.114
    wpa-ssid your_wifi_ssid
    wpa-psk your_wifi_password

创建WiFi配置脚本 /usr/local/bin/wifi-connect.sh

bash 复制代码
#!/bin/bash

# 确保无线接口启用
ifup wlan0

# 重启网络服务
systemctl restart networking

# 或者使用dhclient重新获取IP
# dhclient wlan0

方案三:使用systemd服务(最稳定)

创建systemd服务文件 /etc/systemd/system/wifi-setup.service

ini 复制代码
[Unit]
Description=Setup WiFi Connection with Static IP
After=multi-user.target
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/wifi-setup.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

创建WiFi配置脚本 /usr/local/bin/wifi-setup.sh

bash 复制代码
#!/bin/bash

INTERFACE="wlan0"
SSID="your_wifi_ssid"
PASSWORD="your_wifi_password"
STATIC_IP="192.168.1.100/24"
GATEWAY="192.168.1.1"

# 使用nmcli配置WiFi连接
nmcli connection delete "armbian-wifi" 2>/dev/null
nmcli connection add type wifi con-name "armbian-wifi" \
    ifname $INTERFACE ssid $SSID \
    ip4 $STATIC_IP gw4 $GATEWAY \
    wifi-sec.key-mgmt wpa-psk \
    wifi-sec.psk $PASSWORD

nmcli connection modify "armbian-wifi" connection.autoconnect yes
nmcli connection up "armbian-wifi"

启用服务:

bash 复制代码
sudo chmod +x /usr/local/bin/wifi-setup.sh
sudo systemctl enable wifi-setup.service

注意事项

  1. 将脚本中的以下参数替换为实际值:

    • your_wifi_ssid: WiFi名称
    • your_wifi_password: WiFi密码
    • 192.168.1.100: 所需的固定IP地址
  2. 根据您的网络环境调整网关和DNS服务器地址

  3. 确认无线网卡接口名称(通常为wlan0),可通过ip a命令查看

  4. 建议使用方案三(systemd服务),最为稳定可靠

这些方案都能实现在Armbian系统重启后自动连接WiFi并分配固定IP地址的功能。

相关推荐
TechMasterPlus17 小时前
Linux U-Boot 与内核启动流程深度解析:从上电到 Shell 的完整之旅
linux·运维·服务器
大白菜和MySQL17 小时前
Linux下dhcp服务搭建
linux·运维·服务器
咖喱o17 小时前
策略路由
网络
SPC的存折17 小时前
1、MySQL故障排查与运维案例
linux·运维·服务器·数据库·mysql
Deitymoon18 小时前
linux——TCP服务器获取客户端IP地址
linux·服务器·tcp/ip
CDN36018 小时前
高防服务器磁盘 / CPU 爆满?攻击引流与资源扩容实战
运维·服务器·网络协议
小贾要学习18 小时前
【Linux】应用层自定义协议与序列化
linux·服务器·c++·json
white-persist18 小时前
【vulhub spring CVE-2018-1270】CVE-2018-1270 Spring Messaging 远程命令执行漏洞 完整复现详细分析解释
java·服务器·网络·数据库·后端·python·spring
听到微笑18 小时前
MCP传输协议演进:从SSE到Streamable HTTP
网络·网络协议·http
Amnesia0_018 小时前
理解Linux中的OS管理和进程属性
linux·运维·服务器