由於Wifi很慢,基本不可用;樹莓派有無線網卡,恰好看到有文章用樹莓派來做無線熱點,利用樹莓派來共享無線網絡。比較有用,轉發后續嘗試。
本文轉自:https://www.embbnux.com/2015/02/08/setup_raspberry_to_wifi_access_point_with_rtl8188/
參考: Realtek RTL8188 based access point on Raspberry PiRPI-Wireless-Hotspot
一 需要的材料
一根已經能夠上網的網線,接入樹莓派的網口,保證樹莓派能夠上網
一個usb無線網卡,我的型號的RTL8188CUS
樹莓派版本我是B,應該其他版本都是一樣的
二 配置無線網卡驅動
把usb網卡接到樹莓派上,ssh登陸到樹莓派,或者利用顯示器直接打開樹莓派的終端
lsusb #Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. #Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub #Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. #Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
可以看到是Realtek的8188芯片
sudo apt-get install wireless-tools sudo apt-get install wpasupplicant sudo apt-get install firmware-realtek
測試:iwconfig #如果有看到wlan0就表示網卡成功驅動
三 配置無線熱點
這里使用的是hostapd和udhcpd
sudo apt-get install hostapd udhcpd
配置udhcpd,編輯配置文件/etc/udhcpd.conf
start 192.168.8.100 #配置網段 end 192.168.8.150 interface wlan0 # The device uDHCP listens on. remaining yes opt dns 192.168.1.1 8.8.8.8 opt subnet 255.255.255.0 opt router 192.168.8.1 # 無線lan網段 opt lease 864000 # 租期10天
編輯/etc/default/udhcpd注釋掉下面這句話
# Comment the following line to enable #DHCPD_ENABLED="no"
配置wlan0地址:
sudo ifconfig wlan0 192.168.8.1
編輯/etc/network/interfaces,注釋掉與wlan0有關的語句,比如#iface wlan0 inet dhcp,修改為下面:
allow-hotplug wlan0 iface wlan0 inet static address 192.168.8.1 netmask 255.255.255.0
這樣即使重啟也會自動配置靜態ip
配置hostapd,由於我用的rtl8818cu並不被官方安裝的hostapd支持,所以需要額外安裝新的hostapd:
sudo apt-get remove hostapd git clone git@github.com:jenssegers/RTL8188-hostapd.git cd hostapd make sudo make install
修改hostpad配置/etc/hostapd/hostapd.conf
interface=wlan0 ssid=MYWIFI_EMBBNUX #wifi名 channel=8 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=3 wpa_passphrase=12345678 #WIFI密碼 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP driver=rtl871xdrv ieee80211n=1 hw_mode=g device_name=RTL8192CU manufacturer=Realtek
編輯/etc/default/hostapd,添加下面的話:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
配置NAT:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
編輯/etc/sysctl.conf,取消注釋,保證重啟自動配置
net.ipv4.ip_forward=1
啟用NAT:
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 sh -c "iptables-save > /etc/iptables.ipv4.nat"
編輯/etc/network/interfaces,在最后加入下面的話:
up iptables-restore < /etc/iptables.ipv4.nat
四 啟用無線熱點服務
sudo service hostapd start sudo service udhcpd start sudo update-rc.d hostapd enable sudo update-rc.d udhcpd enable
沒什么錯誤的話,這時候用筆記本或者手機就可以搜索到了剛剛新建的wifi熱點了.