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

相关推荐
精明的身影10 小时前
网络计划WebApp求解:融合Python与AI决策的项目管理系统
网络·python·web app
范什么特西10 小时前
网络代理问题
java·linux·服务器
utf8mb4安全女神10 小时前
【Redis数据库】哨兵集群/redis集群/安装配置/主从复制/数据持久化操作/数据结构/安全限制/PHP redis/
linux·服务器·数据结构·数据库·redis·缓存
Let's Chat Coding11 小时前
对称密钥认证:主机和设备共享同一把密钥
运维·服务器·网络
写代码的学渣11 小时前
Linux 安装 Swap 交换分区大小标准(通用 + 生产服务器 + 个人 PC)
linux·运维·服务器
fei_sun12 小时前
ARP(地址解析协议)与NDP(邻居发现协议)
运维·服务器
技术不好的崎鸣同学13 小时前
[极客大挑战 2019]EasySQL 思路及解法
网络·安全·web安全
Web极客码13 小时前
跨国网络抖动下的 AI 爬虫流调优:我如何用 Claude 打造“智能退避”资讯清洗管道
网络·人工智能·爬虫
Qimooidea13 小时前
祁木 CAD Translator 全套功能 & 官网入口汇总
运维·服务器
红糖奶茶14 小时前
怎么样在遍历列表时动态判断阈值是否被满足并返回相应文本
java·linux·服务器