在搞樹莓派,順便紀錄一下如何經過樹莓派發熱點給手機或者其餘設備使用。這裏的前提是樹莓派要求有無線網卡(一個小小的usb)。這裏就不介紹如何安裝樹莓派系統。好,讓咱們直接進入主題html
sudo nano /etc/network/interfaces
把其中有關wlan0的部分註釋或者刪掉。注意別把搞混eth0的部分,那個是有線網卡git
iface wlan0 inet static address 192.168.10.1 netmask 255.255.255.0
sudo apt-get install hostapd
編輯hostapd 默認配置文件
github
sudo nano /etc/default/hostapd
找到#DAEMON_CONF= "",修改成:
bash
DAEMON_CONF="/etc/hostapd/hostapd.conf"
而後編輯:
dom
sudo nano /etc/hostapd/hostapd.conf
裏面的內容修改大體以下,按照須要來改本身的參數,主要那幾個修改下即可以,其中wpa以前是等於3.這裏要修改成2.咱們平時接的wifi仍是WPA2這種模式居多。其中driver=nl80211 是大部分人選用的驅動,由於個人驅動安裝有問題,所以我安裝了第三方的驅動,最後出現以下的driver。下面會有安裝第三方驅動方法。spa
interface=wlan0 ssid=Raspberry channel=11 #bridge=br0 # WPA and WPA2 configuration macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=raspberry wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP # Hardware configuration driver=rtl871xdrv ieee80211n=1 hw_mode=g device_name=RTL8192CU manufacturer=Realtek
hostapd主要即是這個hostapd.conf的文件設置。如今即可以重啓你的hostapd服務rest
sudo service hostapd restart
若是沒有出現錯誤,那能夠下一步,個人就沒那麼幸運,出現下面錯誤,須要安裝第三方驅動code
Configuration file: /etc/hostapd/hostapd.conf nl80211: 'nl80211' generic netlink not found Failed to initialize driver 'nl80211'
卸載前面安裝的hostapd驅動router
sudo apt-get autoremove hostapd
下載第三方驅動server
wget https://github.com/jenssegers/RTL8188-hostapd/archive/v1.1.tar.gz tar -zxvf v1.1.tar.gz cd RTL8188-hostapd-1.1/hostapd sudo make sudo make install
Now!你能夠重啓hostapd服務,這下沒問題了,嘻嘻。
sudo apt-get install isc-dhcp-server
編輯文件:
sudo nano /etc/dhcp/dhcpd.conf
內容以下:
default-lease-time 600; max-lease-time 7200; log-facility local7; subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.10 192.168.10.100; option routers 192.168.10.1; option broadcast-address 192.168.10.127; option domain-name-servers 8.8.8.8,8.8.4.4; default-lease-time 600; max-lease-time 7200; }
保存後重啓服務
sudo service isc-dhcp-server restart
sudo iptables -F sudo iptables -X sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo bash iptables-save > /etc/iptables.up.rules exit
編輯:
sudo nano /etc/network/if-pre-up.d/iptables
添加下面兩行代碼:
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules
保存退出,而後修改iptables權限:
sudo chmod 755 /etc/network/if-pre-up.d/iptables
開戶內核轉發:
sudo nano /etc/sysctl.conf
找到下面兩行:
# Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1
把net.ipv4.ip_forward 前面的#去掉,保存退出。
而後
sudo sysctl -p
熱點wifi固然是開機要自啓動,否則還要bash命令的話,出去外面開個wifi都作不到。繼續以下:
$ sudo chkconfig --add hostapd $ sudo chkconfig --add isc-dhcp-server
到這裏wifi的發射就算完成了,另有一篇關於開機啓動項的問題,能夠參考我這篇博文:http://www.cnblogs.com/xmfdsh/p/4469577.html