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

相关推荐
好评12412 分钟前
Linux入门:软件包管理、Vim、GCC、Makefile、Git 与 GDB
linux·运维·服务器
可爱又迷人的反派角色“yang”1 小时前
ansible剧本编写(三)
linux·网络·云计算·ansible
m0_738120721 小时前
应急响应——知攻善防Web-3靶机详细教程
服务器·前端·网络·安全·web安全·php
Danileaf_Guo7 小时前
256台H100服务器算力中心的带外管理网络建设方案
运维·服务器
橘子真甜~7 小时前
C/C++ Linux网络编程15 - 网络层IP协议
linux·网络·c++·网络协议·tcp/ip·计算机网络·网络层
云老大TG:@yunlaoda3608 小时前
华为云国际站代理商IMS主要有什么作用呢?
tcp/ip·华为云·云计算·负载均衡
Allen正心正念20258 小时前
网络编程与通讯协议综合解析
网络
bing_feilong8 小时前
ubuntu中的WIFI与自身热点切换
网络
拾贰_C8 小时前
【Linux | Windows | Terminal Command】 Linux---grep | Windows--- findstr
linux·运维·服务器
CodeByV9 小时前
【网络】UDP 协议深度解析:从五元组标识到缓冲区
网络·网络协议·udp