LISHUZUOXUN_yangjiang/LSZXNetWork/NetworkDriverLinux/pattern_start_wifi_ap.sh

66 lines
1.5 KiB
Bash
Raw Normal View History

2024-09-23 14:54:15 +08:00
#!/bin/bash
# 配置参数
WLAN_INTERFACE="<wlan>"
LAN_INTERFACE="<lan>"
SSID="<ssid>"
PASSPHRASE="<passphrase>"
# 配置hostapd
cat <<EOF | sudo tee /etc/hostapd/hostapd.conf
interface=$WLAN_INTERFACE
driver=nl80211
ssid=$SSID
hw_mode=g
channel=6
wpa=2
#ignore_broadcast_ssid=1
wpa_passphrase=$PASSPHRASE
wpa_key_mgmt=WPA-PSK
# wpa_pairwise=TKIP
rsn_pairwise=CCMP
EOF
# 确保hostapd配置文件路径正确
sudo sed -i 's|#DAEMON_CONF=""|DAEMON_CONF="/etc/hostapd/hostapd.conf"|' /etc/default/hostapd
# 配置udhcpd
cat <<EOF | sudo tee /etc/udhcpd.conf
start 192.168.137.2
end 192.168.137.254
interface $WLAN_INTERFACE
opt router 192.168.137.1
opt lease 864000
EOF
# 分配IP地址
sudo ifconfig $WLAN_INTERFACE 192.168.137.1
# 启用IP转发
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo sed -i 's|#net.ipv4.ip_forward=1|net.ipv4.ip_forward=1|' /etc/sysctl.conf
# 配置iptables
sudo iptables -t nat -A POSTROUTING -o $LAN_INTERFACE -j MASQUERADE
sudo iptables -A FORWARD -i $LAN_INTERFACE -o $WLAN_INTERFACE -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i $WLAN_INTERFACE -o $LAN_INTERFACE -j ACCEPT
# 创建用于保存iptables规则的目录
sudo mkdir -p /etc/iptables
# 保存iptables规则
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
# 启动并启用服务
sudo systemctl stop NetworkManager
sudo systemctl restart hostapd
sudo systemctl restart udhcpd
# 禁用Wi-Fi连接
sudo nmcli radio wifi off
sudo rfkill unblock wlan
# 检查服务状态
sudo systemctl status hostapd
sudo systemctl status udhcpd