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

相关推荐
测试猿实操笔记39 分钟前
DNS 通俗讲解:域名 ↔ IP 翻译
网络·网络协议·tcp/ip
青禾8371 小时前
Linux 操作系统入门指南:从目录结构到常用命令
linux·运维·服务器
zhengqweasd1 小时前
流量没跑满、带宽空闲,业务依然卡顿
运维·服务器·网络
liyuanchao_blog2 小时前
OVN/OVS场景下虚拟机新网卡通过 DHCP 获取 IP 地址的完整过程
网络·网络协议·tcp/ip·云计算
今天AI了吗2 小时前
DeepSeek Harness 深度解析:从评测架构到实战落地
java·网络·数据库·人工智能·架构·java-ee
M哥支付3 小时前
高频交易优选方案:银联快捷支付通道
服务器·网络·其他·微信·金融
爱倒腾的老唐3 小时前
11、误码率测试仪
网络
逍遥~1423 小时前
什么是工业级算力?算盘科技的核心能力解析
网络·人工智能·科技
稳联技术老娜3 小时前
伺服内嵌EtherNet IP方案:嵌入式小板SPI通讯固件Demo程序适配改造
运维·服务器·网络
en.en..4 小时前
Linux系统编程:fcntl 与 ioctl
linux·运维·服务器