樹莓派配置成路由器
Raspberry Pi 3B+板載了無線網絡適配器和陶瓷天線,不需要額外增加無線網卡就可以把它打造成一個無線路由器。有一種方法是給Raspberry Pi刷上OpenWRT等路由器固件,這樣它就變成了一個比較正宗的路由器。另一種方法是開啟樹莓派無線網絡適配器的AP功能,並且共享其有線網絡。這樣依然使用Raspbian系統,可以發揮Raspiberry Pi作為一個微型服務器的優勢。
以下描述如何開啟樹莓派3B+(系統版本:2018-06-27-raspbian-stretch)無線網絡適配器的AP功能,並且共享其有線網絡,實現無線路由功能。
一.准備工作
1.1在之前的配置中我們的樹莓派是連上了路由器,可以聯網下載軟件。我們需要先下載相關軟件。
sudo apt-get install hostapd dnsmasq
hostapd將開啟無線適配器的AP功能,dnsmasq是DHCP和DNS服務器。
sudo apt-get install isc-dhcp-server
isc-dhcp-server是安裝DHCP服務
注意.1、本次工作我們最好是通過樹莓派連接電腦顯示器,在樹莓派系統里面用命令行操作。
2、可以不插網線直接用樹莓派配置,配置完成后再插入網線即可當路由器使用。
二.設置靜態IP
2.1首先讓dhcpcd不再管理wlan0,避免設置沖突。
sudo nano /etc/dhcpcd.conf
在文件的開頭增加一行:
denyinterfaces wlan0
2.2設置wlan0的靜態ip,修改文件:
sudo nano /etc/network/interfaces
在最下面添加以下內容:
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
192.168.0.1是給樹莓派做路由器分配的網關IP,這個不能與局域網其他路由器網關IP重復,若重復此處可以修改IP地址為其他網關。
三.安裝hostapd
3.1新建配置文件:
sudo nano /etc/hostapd/hostapd.conf
把以下內容復制進hostapd.conf
interface=wlan0
driver=nl80211
ssid=Yahboom_WIFI
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GT-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678
rsn_pairwise=CCMP
上面文檔中,ssid=Yahboom_WIFI是無線網絡的名字,wpa_passphrase=12345678是密碼。
測試配置是否正確:
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
此時准備掏出手機,打開設置搜索WiFi,如果可以看到設置的無線WiFi名字,恭喜你,已經成功一半了。
請按Ctrl+C停止測試。
使上述設置生效:
sudo nano /etc/default/hostapd
將#DAEMON_CONF=""刪除前面的井號#並修改為DAEMON_CONF="/etc/hostapd/hostapd.conf"。
四.配置DHCP服務
4.1備份配置文件dhcpd.conf:
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
4.2修改配置文件dhcpd.conf:
sudo nano /etc/dhcp/dhcpd.conf
增加以下內容:
subnet 192.168.0.0 netmask 255.255.255.0 {
range dybamic-bootp 192.168.0.10 192.168.0.100;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
option domain-name-servers 8.8.8.8,8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
}
五.開啟IPV4轉發
5.1修改sysctl.conf文件:
sudo nano /etc/sysctl.conf
去掉net.ipv4.ip_forward=1前面的“#”號。
通過iptables做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
5.2保存NAT轉發配置:(因為這些配置重啟之后就會失效)
sudo sh -c “iptables-save > /etc/iptables.ipv4.nat”
5.3設置為開機自動加載:
sudo nano /etc/rc.local
在exit 0上方增加:
iptables-restore < /etc/iptables.ipv4.nat
啟動服務
sudo service hostapd start
接着reboot重啟。到此樹莓派配置成路由器已經完成。
樹莓派重啟之后就可以用手機連接到wifi了。名字和密碼在上面的文檔中體現了,連接之后系統會自動為我們連接的設備分配未使用的ip。如果我們的樹莓派通過有線網絡連上互聯網的話,我們連上的樹莓派路由器的話,也是可以上網的。