树莓派2的设置办法:
1. 安装NetworkManager管理工具(可选),以支持nmcli命令
sudo apt-get install -y network-manager
2. 安装hostapd和dhcpd
sudo apt-get install -y hostapd isc-dhcp-server
开机不需要启动这两个服务,建议把它们关掉:
sudo update-rc.d -f hostapd remove
3. 配置hostapd和dhcpd
sudo vi /etc/hostapd/hostapd.conf
注意自己设置其中的无线热点名称ssid和认证密码wpa_passphrase.
interface=wlan0
ssid=lysmartscreen
hw_mode=g
channel=
macaddr_acl=
auth_algs=
wpa=
wpa_passphrase=YOUR_AP_PASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=TKIP CCMP
设置dhcpd.conf
sudo vi /etc/dhcp/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.2 192.168.0.10;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1,180.76.76.76,8.8.8.8;
}
其中180.76.76.76是百度公共DNS服务器,8.8.8.8则是Google的DNS服务器.
在自己的家目录下创建一个放日志的logs目录,里面新建启动和关闭脚本:
mkdir /home/pi/logs
启动AP的脚本:
vi /home/pi/logs/ap-start.sh
#!/bin/bash
# 开启内核IP转发
bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
# 开启防火墙NAT转发(如果本机使用eth0上网,则把ppp0改为eth0)
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# 关闭NetworkManager对无线网卡的控制(这句实测中nm参数无效, 但似乎不影响使用)
nmcli nm wifi off
# 设置并启动无线网卡
ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
# 解锁无线设备,可以用rfkill list查看解锁结果.
rfkill unblock wlan
# 睡眠6秒,待rfkill解锁生效
sleep 6s
# 启动dhcpd和hostapd,如果hostapd无法启动请查看日志hostapd.log,查看这两个进程ps -ef|egrep "dhcpd|hostapd"
nohup hostapd /etc/hostapd/hostapd.conf >/home/pi/logs/hostapd.log >& &
dhcpd wlan0 -pf /var/run/dhcpd.pid
ps -ef|head -n1 && ps -ef|egrep "dhcpd|hostapd"
停止AP的脚本:
vi /home/pi/logs/ap-stop.sh
#!/bin/bash
killall hostapd dhcpd
bash -c "echo 0 > /proc/sys/net/ipv4/ip_forward"
ifconfig wlan0 down
4. 启动hostapd和dhcpd
给2个脚本增加执行的权限
chmod +x /home/pi/logs/ap-*.sh
启动AP:
sudo /home/pi/logs/ap-start.sh
看到上图的内容表示AP创建成功 (注:脚本位置与上文所讲略有不同, 灵活处理即可)
停止AP:
sudo /home/pi/logs/ap-stop.sh
附一张手机连上AP的图片
树莓派3的设置办法:
git clone https://github.com/oblique/create_ap.git
如果未装git, 就先装上它
sudo apt-get install git
git下来后安装
cd create_ap/
sudo make install
安装依赖包
sudo apt-get install util-linux procps hostapd iproute2 iw haveged dnsmasq -y
试试创建热点
sudo ifdown wlan0
sudo create_ap wlan0 eth0
如果不成功
试加一个参数
sudo create_ap --no-virt wlan0 eth0
按提示输入SSID名字和密码,看到下图的内容表示成功, 可以在Wifi中搜索到这个热点了
如果想一句命令包含你创建的SSID和密码, 可以这样
sudo create_ap --no-virt wlan0 eth0 ssidname password
done.