iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 26
1
IoT

homekit+pixhawk系列 第 26

用raspberry pi來當一個wifi ap吧!

  • 分享至 

  • xImage
  •  

現在許多較新的raspberry pi支援wifi來當作網路的連接介面,讓raspberry pi能夠在找不到網孔的時候,使用wifi來當作連線,另一方面,如果可以用raspberry pi上的wifi晶片來當一個wifi ap,也是一個很好的利用方式

安裝

  1. 安裝dnsmasq以及hostapd
sudo apt install dnsmasq hostapd
  1. 抓下來就會自動啟動service,但因為還沒有設定細部的功能,所以要先停止這兩個service
sudo systemctl stop dnsmasq
sudo systemctl stop hostapd

設定固定IP

  1. 設定/etc/dhcpcd.conf,server的IP設定為192.168.4.1子網路遮罩設定為/24(也就是255.255.255.0
interface wlan0
    static ip_address=192.168.4.1/24
    nohook wpa_supplicant
  1. 重新啟動service
sudo service dhcpcd restart

設定DHCP server

  1. 把預設的設定檔/etc/dnsmasq.conf備份起來,然後編輯一個新的設定檔
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
  1. 編輯/etc/dnsmasq.conf,以下設定檔為範例,保留192.168.4.2以及192.168.4.20,並且子網路遮罩為255.255.255.0
interface=wlan0      # Use the require wireless interface - usually wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
  1. 重新載入DHCP server的service
sudo systemctl reload dnsmasq

設定hostapd

  1. 編輯/etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=NameOfNetwork
hw_mode=n
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=AardvarkBadgerHedgehog
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
  1. 告訴hostapd設定檔放在哪裡,編輯/etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
  1. 啟動hostapd
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd

加入routing

  1. 編輯/etc/sysctl.conf並把下面那一行取消註解
net.ipv4.ip_forward=1
  1. 輸入下面這一行,讓他加入iptables裡面
sudo iptables -t nat -A  POSTROUTING -o eth0 -j MASQUERADE
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
iptables-restore < /etc/iptables.ipv4.nat

這樣就完成將raspberry pi變成wifi ap囉!當然這不是bridge模式,而是有NAT的功能


上一篇
幫raspberry pi製作備援映像檔並壓縮吧
下一篇
用esp8266做一個MQTT broker吧!
系列文
homekit+pixhawk30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言