断电重启后自动重连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地址的功能。

相关推荐
S1998_1997111609•X27 分钟前
论mysql国盾shell-sfa犯罪行为集团下的分项工程及反向注入原理尐深度纳米算法下的鐌檵鄐鉎行为
网络·数据库·网络协议·百度·开闭原则
比昨天多敲两行41 分钟前
Linux基础开发工具(下)
linux·运维·服务器
AI精钢1 小时前
AI Agent 从上线到删库跑路始末
网络·人工智能·云原生·aigc
linux修理工2 小时前
chrome官方下载地址
运维·服务器
笨笨饿2 小时前
69_如何给自己手搓一个串口
linux·c语言·网络·单片机·嵌入式硬件·算法·个人开发
cn_lyg3 小时前
Linux的入门级常用操作命令
linux·运维·服务器
geneculture3 小时前
《智能通信速分多次传输技术(VDMT)》专利文件的全文汉英双语对照版本
服务器·网络·人工智能·融智学的重要应用·哲学与科学统一性·融智时代(杂志)·人机间性
就叫飞六吧3 小时前
TOML vs YAML:为什么 Cargo 选择 TOML?
linux·运维·服务器
IMPYLH3 小时前
Linux 的 test 命令
linux·运维·服务器·chrome·bash
xrui584 小时前
2026实战:深度解析 Gemini 3.1 镜像站函数调用在自动化运维工单中的应用
linux·服务器·网络