Raspberry Pi Wi-Fi - ethernet bridge設定
利用樹莓派架設Wi-Fi Router或AP的實例很容易找到,但這次我要在工作桌上將儀器們連上家用網路,這麼一來可以坐在電腦前面用Keysight BenchVue做實驗。這個功能剛好與網路上找到的範例相反。
我們可以先看一下Raspberry Pi documentation提供的兩種模式,Routed Wireless Access Point和Bridged Wireless Access Point。Routed AP會在樹梅派上提供DHCP的服務,並分配IP給其他連上去的裝置;Bridge AP則是將上游的服務pass到連上的裝置,所以DHCP、gateway會是上游的router提供。在這邊我要用Bridge (橋接)的方式,這麼一來儀器才能在同個區域網路中被找到。
Raspberry Pi Documentation - Configuration
如果要反過來變成收Wi-Fi轉成Ethernet,是不是將設定的方式反過來就好了? 答案是否定的,由於無線網卡不見得能透過硬體或韌體實現橋接,因此只能從layer 3著手。我們可以參考Debian這篇文獻。
BridgeNetworkConnectionsProxyArp - Debian Wiki
在這邊使用了幾項套件,可以看一下細節的說明
parprouted(8) — parprouted — Debian buster — Debian Manpages
dhcp-helper(8) — dhcp-helper — Debian buster — Debian Manpages
avahi-daemon.conf(5) — avahi-daemon — Debian buster — Debian Manpages
不過照做以後卻無法順利接到DHCP的服務,但在客戶端手動設定IP是能正常連出去的。折騰了半天,最後發現在安裝完dhcp-helper後,systemctl預設是不會啟用該服務的,手動註冊一下dhcp-helper重開機就正常工作了。
sudo systemctl enable dhcp-helper
如果要手動設定橋接,並監測ARP table的狀態,可以免去BridgeNetworkConnectionsProxyArp中編輯/etc/network/interface的步驟,輸入以下指令
sudo ip addr add $(ip -4 -br addr show wlan0 | \ grep -Po "\\d+\\.\\d+\\.\\d+\\.\\d+")/32 dev eth0 sudo ip link set wlan0 promisc on sudo parprouted -d eth0 wlan0
留言
張貼留言