DAEMON_CONF=\ 2)然后编辑:sudo vim /etc/hostapd/hostapd.conf 增加以下代码:
[ruby] view plaincopy
1. # Basic configuration 2.
3. interface=wlan0 4. ssid=raspberrywifi 5. channel=1 6. #bridge=br0 7.
8. # WPA and WPA2 configuration 9.
10. macaddr_acl=0 11. auth_algs=1
12. ignore_broadcast_ssid=0 13. wpa=3
14. wpa_passphrase=12345678 15. wpa_key_mgmt=WPA-PSK 16. wpa_pairwise=TKIP 17. rsn_pairwise=CCMP 18.
19. # Hardware configuration 20.
21. driver=rtl871xdrv 22. ieee80211n=1 23. hw_mode=g
24. device_name=RTL8192CU 25. manufacturer=Realtek
修改wifi名和密码 ssid=raspberrywifi
wpa_passphrase=12345678 3)保存退出,然后重启服务:
sudo service hostapd restart 或者执行以下命令生效
sudo hostapd -dd /etc/hostapd/hostapd.conf 4)如果你使用的网卡提示一下信息
Configuration file: /etc/hostapd/hostapd.conf nl80211: 'nl80211' generic netlink not found Failed to initialize driver 'nl80211'
rmdir[ctrl_interface]: No such file or directory 那么,还是要使用第三方的hostapd。
4、安装新的hostapd
1)删除原来的hostapd(笔者测试,不卸载貌似也行)
sudo apt-get autoremove hostapd 2)下载第三方驱动并安装
wget
https://github.com/jenssegers/RTL8188-hostapd/archive/v1.1.tar.gz tar -zxvf v1.1.tar.gz 3)编译:
cd RTL8188-hostapd-1.1/hostapd
sudo make
sudo make install
4)然后再重启服务,应该提示成功:
$ sudo service hostapd restart
[ ok ] Stopping advanced IEEE 802.11 management: hostapd.
[ ok ] Starting advanced IEEE 802.11 management: hostapd.
5)将hostapd加入开机自启动
sudo service hostapd start sudo update-rc.d hostapd enable
笔者这里提示的还是失败,但是重启后网络确实建立成功,用手机可以搜到这个网络
5、安装DHCP服务
以上步骤建立起了wifi热点,但是无法自动获取ip,需要以下步骤 sudo apt-get install udhcpd 1)编辑配置文件:
sudo vim /etc/udhcpd.conf //修改以下信息,start和end是重点,注意跟第一步的静态ip在一个网段
start 192.168.0.20 end 192.168.0.200 interface wlan0
2)接下来编辑/etc/default/udhcpd并且将下面这行注释掉,以使DHCP Server正常工作:
#DHCPD_ENABLED=\ 3)启动dhcp服务器
sudo service udhcpd start
sudo update-rc.d udhcpd enable
经过此步手机已经可以接入wifi网络,并且自动获取ip
6、配置路由转发
理论上是经过这一步,手机可以通过共享树莓派的无线网络上网了,但是笔者一直没有成功 1)设置路由映射规则
sudo iptables -F sudo iptables -X
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT sudo bash -c iptables-save > /etc/iptables.up.rules
2)编辑:sudo vim /etc/network/if-pre-up.d/iptables 添加下面两行代码: