batman-advを介してメッシュネットワークに接続された3つのRaspberry Pi 3があります。 Raspberry Piの1つにWIFIアダプタがあり、インターネットゲートウェイです。ゲートウェイは次のように構成されます。次の内容を含む ~/start-batman-adv というファイル:
#!/bin/bash
sudo batctl if add wlan0
sudo ifconfig bat0 mtu 1468
sudo batctl gw_mode server
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE
sudo iptables -A FORWARD -i wlan1 -o bat0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i bat0 -o wlan1 -j ACCEPT
sudo ifconfig wlan0 up
sudo ifconfig bat0 up
/home/pi/start-batman-adv.sh &
/etc/rc.local ファイルにこの行を追加しました。
/etc/network/interfaces.d/wlan0
次のファイルを追加しました。
auto wlan0
iface wlan0 inet manual
wireless-channel 4
wireless-essid RASPBERRY-MALLA
wireless-mode ad-hoc
端末で次のコマンドを実行しました。
echo 'batman-adv' | sudo tee --append / etc / modules
echo 'denyinterfaces wlan0' | sudo tee --append /etc/dhcpcd.conf
そして、/etc/wpa_supplicant/wpa_supplicant.conf
以下を追加してください:
network = {
ssid = "name of the wifi network"
scan_ssid = 1
psk = "password"
}
他の2つのRaspberry Piには、ファイルを除いてゲートウェイと同じ構成があります。~/start-batman-adv
両方のファイルには次のものがあります。
#!/bin/bash
sudo batctl if add wlan0
sudo ifconfig bat0 mtu 1468
sudo batctl gw_mode client
sudo ifconfig wlan0 up
sudo ifconfig bat0 up
ゲートウェイのコマンド:
ノードのコマンド:
ゲートウェイにはインターネットがありますが、ノードにはインターネットはありませんか?