2021-05-12 14:32:11
基於樹莓派的無線路由器改造
家裡的渣渣路由罷工了,只能連結卻無法上網。本來打算上網淘一個回來,結果昨晚收拾東西的時候發現大學買來做臉部辨識的樹莓派在牆角吃灰很久,於是打算對其進行改造。
太久沒動樹莓派,上電沒有正常跑起來,乾脆直接從第一步刷系統開始操作。
一、系統設定
1、刷系統的操作前人已經介紹了很多,這裡參考@王登科: http://www.linuxidc.com/Linux/2016-10/136258.htm 實現Putty遠端連線樹莓派
2、開啟網路設定
sudo nano /etc/network/interfacse
將wlan0修改為如下
#自動IP auto lo iface lo inet loopback iface eth0 inet dhcp iface eth0 inet manual #網絡卡設定為固定IP iface wlan0 inet static address 192.168.1.1 netmask 255.255.255.0
二、hostapd
1、安裝hostapd
sudo apt-get install hostapd
2、使用下面的語句開啟hostapd
sudo nano /etc/default/hostapd
3、找到#DAEMON_CONF= ""這一行,首先取消註釋(去掉前面的#號),然後將其修改為:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
4、開啟hostapd.conf
sudo nano /etc/hostapd/hostapd.conf
5、新增設定資訊(PS:由於沒查到我買的裝置的具體型號,這裡採用後面的方式進行設定)
# 把無線網絡卡wlan0 作為接入點 interface=wlan0 # 使用對應的驅動 driver=XXXX #共用網路的SSID是RaspberryPi ssid=RaspberryPi # 網絡卡工作在802.11G模式 hw_mode=g #無線網絡卡選用11通道 channel=11 # WPA2 設定 wpa=2 #wpa密碼是raspberry wpa_passphrase=raspberry #認證方式為WPA-PSK 加密方式為CCMP wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP rsn_pairwise=CCMP beacon_int=100 auth_algs=3 wmm_enabled=1
6、安裝 autoremove hostapd
sudo apt-get autoremove hostapd
7、下載安裝第三方驅動:
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
8、啟動hostapd服務:
sudo service hostapd restart
之後提示下面的文字表示啟動成功
[ ok ] Stopping advanced IEEE 802.11 management: hostapd. [ ok ] Starting advanced IEEE 802.11 management: hostapd.
開啟hostapd.conf查詢到我的設定如下
# Basic configuration interface=wlan0 ssid=Wifi channel=6 #bridge=br0 # WPA and WPA2 configuration macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=3 wpa_passphrase=YourPassword 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
三、DHCP
1、安裝DHCP服務,用於對每個接入的裝置分配IP
sudo apt-get install isc-dhcp-server
2、編輯組態檔
sudo nano /etc/dhcp/dhcpd.conf
3、設定閘道器等資訊,這裡使用的是192.168.1.1
#預設租期(S) default-lease-time 84600; #最大租期(S) max-lease-time 84600; log-facility local7; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; option routers 192.168.1.1; option broadcast-address 192.168.1.127;
//設定DNS伺服器地址 option domain-name-servers 192.168.31.1,192.168.1.1; default-lease-time 84600; max-lease-time 84600; }
4、啟動DHCP服務
sudo service isc-dhcp-server restart
四、轉發設定
1、設定路由轉發
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
2、開啟iptables檔案
sudo nano /etc/network/if-pre-up.d/iptables
新增以下程式碼
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules
3、修改iptables許可權
sudo chmod 755 /etc/network/if-pre-up.d/iptables
4、設定核心轉發,開啟sysctl.conf檔案
sudo nano /etc/sysctl.conf
將檔案內的下列兩行
# Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1
修改為(即去掉net.ipv4.ip_forward=1的註釋)
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1
5、修改核心之後使其生效
sudo sysctl -p
至此,已經完成無線路由器的設定功能。
五、自啟設定
1、安裝chkconfig
sudo apt-get install chkconfig
2、設定hostapd、dhcp自啟動
sudo chkconfig --add hostapd sudo chkconfig --add isc-dhcp-server
PS: 手機有時候會出現連線上wifi後無法聯網的情況,需要手動設定IP,暫時未解決~~
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-10/136260.htm
相關文章