断电重启后自动重连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
注意事项
-
将脚本中的以下参数替换为实际值:
your_wifi_ssid
: WiFi名称your_wifi_password
: WiFi密码192.168.1.100
: 所需的固定IP地址
-
根据您的网络环境调整网关和DNS服务器地址
-
确认无线网卡接口名称(通常为
wlan0
),可通过ip a
命令查看 -
建议使用方案三(systemd服务),最为稳定可靠
这些方案都能实现在Armbian系统重启后自动连接WiFi并分配固定IP地址的功能。