安装 hostapd
1. 下载,解压
下载源码: http://w1.fi/hostapd/
tar -xvf hostapd-2.6.tar.gz
cd hostapd-2.6/hostapd
2. 编译、安装
cp defconfig .config
vi .config
去掉 #CONFIG_LIBNL32=y 前面的# ,即使能CONFIG_LIBNL32
修改Makefile:
在第27行(文件前部,前面那几行都可以)之后,加上下面这四句话。指定lib 和 openssl 的头文件 和库。
CFLAGS += -I/home/clh/work/libnl-3.2.25/tmp/include/libnl3
LDFLAGS += -L/home/clh/work/libnl-3.2.25/tmp/lib
CFLAGS += -I/home/clh/work/openssl-1.0.1o/tmp/include
LDFLAGS += -L/home/clh/work/openssl-1.0.1o/tmp/lib
make CC=arm-linux-gcc //指定编译工具,然后编译
make DESTDIR=$PWD/tmp install
将生成的,复制到根文件系统。
cp tmp/usr/local/bin/* /opt/rootfs/bin/ /*hostapd, hostapd_cli*/
3 使用
3.1 根据文件hostapd/hostapd.conf,来配置参数,写自己需要的配置文件。A,B,C中选自己喜欢的。
A、 OPEN方式的配置文件
ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0
driver=nl80211
ssid=hello
channel=1
# 认证/加密方式
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
B、 WEP方式的配置文件
ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0
driver=nl80211
ssid=hello
channel=1
# 认证/加密方式
macaddr_acl=0
auth_algs=2
ignore_broadcast_ssid=0
wep_key0="hellogrilclh0"
wep_default_key=0
C、 WPA/WPA2方式的配置文件
ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0
driver=nl80211
ssid=hello
channel=1
# 认证/加密方式
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=baiwenwang
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
把配置文件存为/etc/myhostapd.conf
启动命令:hostapd -B /etc/myhostapd.conf ,会把这条命令写在脚本中,执行脚本就行,不用手动去执行命令。
3.2启动dhcpd
修改配置文件/etc/dhcpd.conf,添加:
子网192.168.2.0网络掩码255.255.255.0 {
范围192.168.2.10 192.168.2.100;
option domain-name-servers 192.168.2.1;
选项路由器192.168.2.1;
}
创建空文件/var/db/dhcpd.leases:
> /var/db/dhcpd.leases
ifconfig wlan0 192.168.2.1
启动命令:dhcpd -cf /etc/dhcpd.conf wlan0
会把这两条命令写在脚本中,执行脚本就行,不用手动去执行命令.3.3
将命令写在脚本中
vim / sbin / auto_wifi_ap.sh
#!/ bin / sh
if [$ ACTION =“add”];
然后
hostapd -B /etc/myhostapd.conf
ifconfig wlan0 192.168.2.1
dhcpd -cf /etc/dhcpd.conf wlan0
else
killall hostapd
killall dhcpd
fi
3.4修改/etc/mdev.conf自动启动AP模式// wlan0设备一加载,就会执行mdev.conf
vim /etc/mdev.conf
wlan0 0:0 777 * /sbin/auto_wifi_ap.sh
特别注意点:wlan0的ip地址要和etc / dhcpd.conf你自己设置的ip,在一个网段。
wpa(sta)的时候,dhcp的角 {MOD}是客户端.hostapd(ap)的时候,dhcp的角 {MOD}是服务器。