検索
連載

ラズパイでメッシュネットワークを作成する 準備編その2名刺サイズの超小型PC「ラズパイ」で遊ぶ(第63回)

ラズパイでメッシュネットワークを構築してみましょう。

Share
Tweet
LINE
Hatena

 前回はラズパイの1台目をメッシュネットワークのゲートウェイとして作り上げるための準備をしました。今回も引き続き準備を行います。

 今回構築するメッシュネットワークは、既存のネットワーク環境とは別にもう1つのネットワーク環境を作って利用します。このため、メッシュネットワークが利用するのは以下のアドレス空間です。

  • ゲートウェイアドレス:192.168.199.1
  • ネットワーク:192.168.199.x
  • ネットマスク:255.255.255.0

 まずは以下のコマンドでDHCPソフトウェアをインストールします。

$ sudo apt install dnsmasq -y

 インストールしたら、設定ファイルを編集します。

$ sudo nano /etc/dnsmasq.conf

 ファイルのいちばん最後に以下の内容を記述します。ファイル内容はかなり長いので、スクロールに時間がかかります。

interface=bat0
dhcp-range=192.168.199.2,192.168.199.99,255.255.255.0,12h

 続いて、最初に作成した「start-batman-adv.sh」を編集してルーティングのルールを変更します。

#!/bin/bash
# batman-adv interface to use
sudo batctl if add wlan0
sudo ifconfig bat0 mtu 1468
# Tell batman-adv this is an internet gateway
sudo batctl gw_mode server
# Enable port forwarding
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o bat0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i bat0 -o eth0 -j ACCEPT
# Activates batman-adv interfaces
sudo ifconfig wlan0 up
sudo ifconfig bat0 up
sudo ifconfig bat0 192.168.199.1/24

 続いてブリッジノードを作成します。まずはブリッジユーティリティーをインストールします。

$ sudo apt install bridge-utils -y

 続いて有線LANポート側のインタフェース構成を作成します。

$ sudo nano /etc/network/interfaces.d/eth0

 設定ファイルへ、以下の内容を記述します。

auto eth0
allow-hotplug eth0
iface eth0 inet manual

 以下のコマンドを入力して、DHCPの設定ファイルを編集します。

$ sudo nano /etc/dhcpcd.conf

 以下の内容を記述しましょう。

denyinterfaces wlan0 eth0 bat0

 ブリッジの方でも「start-batman-adv.sh」を作成します。

$ nano start-batman-adv.sh

 nanoが起動したら以下の内容を記述しましょう。

#!/bin/bash
# batman-adv interface to use
sudo batctl if add wlan0
sudo ifconfig bat0 mtu 1468
sudo brctl addbr br0
sudo brctl addif br0 eth0 bat0
# Tell batman-adv this is a gateway client
sudo batctl gw_mode client
# Activates batman-adv interfaces
sudo ifconfig wlan0 up
sudo ifconfig bat0 up
# Restart DHCP now bridge and mesh network are up
sudo dhclient -r br0
sudo dhclient br0

 ここまで来たらいったんシャットダウンします。

$ sudo shutdown -h now

 ここまでで準備は完了です。次回はいよいよメッシュネットワークの構築に入ります。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る