ブログ

Armadillo-IoTをアクセスポイントとして、他の機器とDHCPサーバをブリッジ接続する

at_takuma.fukuda
2019年11月5日 19時53分

Armadillo-IoTシリーズをアクセスポイントとして使用するとき、
ただWLANモジュールをAPモードで動作させただけでは、
3G/LTEやEthernetなどの他のネットワークデバイスとWLANモジュールは別セグメントのネットワークとなります。
そこで、WLANモジュールと他のネットワークデバイスをブリッジ接続して同一セグメントのネットワークに接続する方法を説明します。

この記事では、以下の構成を例にとって説明いたします。

Ethernetでルータ/DHCPサーバへ接続されたArmadillo-IoT G3をWLANアクセスポイントとして使用し、
このアクセスポイントに接続した機器がDHCPサーバからIPアドレス等を付与され、インターネットへ接続する

1.hostapdのインストール

以下のコマンドを入力して、hostapdをインストールします。

apt-get install hostapd

hostapdは無線LANアクセスポイント機能を持つソフトウェアです。
後述しますが、WLANをNetworkManagerの管理対象から外すため、
hostapdを使ってアクセスポイント機能を実装します。

2.NetworkManagerの設定変更

/etc/NetworkManager/NetworkManager.confに下記のように追記します。

--------------<ここから>---------------
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
[keyfile]
unmanaged-devices=interface-name:wlan0
--------------<ここまで>---------------

これによって、WLANがNetworkManagerの管理対象から外れます。
ファイル編集後、以下のコマンドを実行して設定を適用してください。

service NetworkManager restart

3.hostapdの設定

①下記内容のテキストファイルを、/etc/hostapd/hostapd.conf とし作成してください。

--------------<ここから>---------------
interface=wlan0
driver=nl80211
ssid=〇〇*自由にSSIDを設定してください
hw_mode=g
channel=10
wpa=2
wpa_passphrase=××*自由にパスワードを設定してください
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
--------------<ここまで>---------------

② /etc/default/hostapd を下記の内容に変更してください。

--------------<ここから>---------------
DAEMON_CONF="/etc/hostapd/hostapd.conf"
--------------<ここまで>---------------

③ /etc/default/crda を下記の内容に変更してください。

--------------<ここから>---------------
REGDOMAIN=JP
--------------<ここまで>---------------

④以下のコマンドを実行して hostapd を再起動してください。

service hostapd restart
</br>
 
<h3>4.ブリッジ接続処理を行うスクリプトを作成する</h3>
以下のスクリプトを作成して、実行権限を与えてください。
<code>
--------------<ここから>---------------
#! /bin/sh
ip link add br0 type bridge
ip link set br0 up
ip link set dev eth0 promisc on
ip link set eth0 up
ip link set dev wlan0 master br0
ip link set dev eth0 master br0
--------------<ここまで>---------------

こちらを実行すると、「br0」というコネクションが作成され、EthernetとWLANがブリッジ接続されます。

hostapd.confで指定したssidとwepkeyを使用してアクセスポイントに接続し、
以下が確認出来れば、インターネットへの接続完了です。

・IPアドレスが自動付与されていること

・任意のアドレスにpingコマンドで導通確認出来ること