Hostapd控制802.11nUSB网卡,创建热点服务的配置文件
# 网卡
interface=wlan0
# 使用的网桥名称,如果是用DHCP+NAT方式可忽略此行
#bridge=br0
# 驱动
driver=rtl871xdrv
# 热点名称
ssid=YYYYY
# 无线模式
# a = IEEE 802.11a
# b = IEEE 802.11b (默认)
# g = IEEE 802.11g
# ad = IEEE 802.11ad(60GHz)
# a/g = IEEE 802.11n
hw_mode=g
# 信道
#0(默认)
channel=11
# 身份认证方式
#1:开放系统认证,2:共享密匙认证,3:两者都有
auth_algs=1
# wpa加密方式
#1:支持WPA,2:支持WPA2,3:支持WPA\WPA2
wpa=2
# WIFI密码(要求8~63个字符)
wpa_passphrase=87654321
# 是否使用验证服务器
#0:禁用(默认),1:可用,2:强制使用(若无服务器则拒绝认证)
#wpa_psk_radius=0
# 密匙管理算法
#WPA-PSK,WPA-EAP,WPA-PSK WPA-EAP
wpa_key_mgmt=WPA-PSK
# WPA加密方式
#默认使用TKIP方式
wpa_pairwise=TKIP CCMP
# WPA2加密方式
#默认使用wpa_pairwise方式
rsn_pairwise=CCMP
# 是否启用IEEE 802.11n (超线程HT模式)
#0:禁用(默认),1:启用
#需要启动WMM来使用全部的HT功能
ieee80211n=1
# 指定MAC地址过滤规则
#0:除非在禁止列表否则允许,1:除非在允许列表否则禁止,2:使用外部RADIUS服务器
macaddr_acl=0
# 指定允许MAC列表文件所在
#accept_mac_file=/etc/hostapd.accept
# 指定禁止MAC列表文件所在
#deny_mac_file=/etc/hostapd.deny
# 隐藏无线热点SSID
#0:广播SSID(默认),1:不广播SSID
ignore_broadcast_ssid=0
DHCP服务器配置文件,手机链接热点后,需要通过DHCP服务器分配IP地址
ddns-update-style none;
ddns-updates off;
option domain-name-servers 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.200 192.168.0.220;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
}
启动热点脚本
#!/bin/sh
NET_AP=wlan0
NET_EXT=eth0
echo 0 > /proc/sys/net/ipv4/ip_forward
killall -q hostapd
killall -q dhcpd
iptables -t nat -A POSTROUTING -o $NET_EXT -j MASQUERADE
iptables -A FORWARD -i $NET_EXT -o $NET_AP -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i $NET_AP -o $NET_EXT -j ACCEPT
ifconfig $NET_AP down
ifconfig $NET_AP up
ifconfig $NET_AP 192.168.0.1
# dhcpd needs to have a leases file available - create it if needed
if [ ! -f /var/lib/dhcp/db/dhcpd.leases ]; then
mkdir -p /var/lib/dhcp/db
touch /var/lib/dhcp/db/dhcpd.leases
fi
# start dhcp service
dhcpd -cf /etc/dhcp/dhcpd.conf $NET_AP
echo 1 > /proc/sys/net/ipv4/ip_forward
# start ap service
hostapd -dd -B /etc/hostapd/hostapd.conf
exit 0
停止热点脚本
#!/bin/sh
killall hostapd
killall dhcpd
exit 0