问题背景与需求
在移动应用开发和网络协议测试中,经常需要临时搭建无线测试环境。很多开发者手头都有配备Atheros无线网卡的笔记本,如果能直接将其配置为WPA2加密的AP,会极大提高测试效率。
Ubuntu环境准备
首先确认系统已安装hostapd和dnsmasq:
sudo apt update
sudo apt install hostapd dnsmasq -y
检查网卡是否支持AP模式:
iw list | grep "AP"
配置hostapd
创建配置文件/etc/hostapd/hostapd.conf:
interface=wlp3s0
driver=nl80211
ssid=MyTestAP
hw_mode=g
channel=6
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
网络接口配置
设置静态IP并启用转发:
sudo ifconfig wlp3s0 192.168.100.1 netmask 255.255.255.0
sudo sysctl net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
启动服务
配置dnsmasq并启动服务:
echo "interface=wlp3s0
dhcp-range=192.168.100.50,192.168.100.150,12h" | sudo tee /etc/dnsmasq.conf
sudo systemctl start dnsmasq
sudo hostapd /etc/hostapd/hostapd.conf
常见问题排查
如果遇到"nl80211: Could not configure driver mode"错误,尝试:
sudo modprobe -r ath9k
sudo modprobe ath9k nohwcrypt=1
对于较新的Atheros网卡,可能需要安装backport驱动:
sudo apt install linux-backports-modules-wireless