ブログ

Armadillo-IoT G3L: 無線LANインターフェースとLTE間のルーティングをする方法

at_keita.mogaki
2018年7月4日 9時42分

Armadillo-IoT G3Lで無線LANインターフェースとLTE間のルーティングをする手順を紹介します。

今回は、Armadillo-IoT G3Lを有線LANルーターを構築するサンプルアプリケーション(at-sample-router)を一部変更し、hostapdと組み合わせることで、無線LANインターフェースとLTE間のルーティングをする環境を構築します。

構成図
PC--(無線LAN)--Armadillo-IoT--(LTE)--インターネット

設定値一覧

Armadillo-IoT G3Lに設定する値は以下となります。

項目
無線LANポートIPアドレス 192.168.100.1/24
DHCPリースアドレス 192.168.100.2 ~ 254/24
DHCPリース期間 2時間
設定用ユーザーアカウント sample
設定用ユーザーパスワード router

必要なパッケージのインストール

サンプルアプリケーションとhostapdをインストールします。

[armadillo ~]# apt-get update
[armadillo ~]# apt-get install at-sample-router hostapd

wlan0をNetworkManagerの管理対象から外す

wlan0はデフォルトでNetworkManagerによって管理されています。今回の無線LANルーター構築には、NetworkManagerではなくhostapdを用いるため、NetworkManagerの管理対象からwlan0を外します。

NetworkManager.confを開きます。

# vi /etc/NetworkManager/NetworkManager.conf

NetworkManager.confの一番下に、以下を追記します。

[keyfile]
unmanaged-devices=interface-name:wlan0

NetworkManagerを再起動します。

[armadillo ~]# systemctl restart NetworkManager.service

サンプルアプリケーションの修正

Armadilloを無線LANルーターに設定するように、サンプルアプリケーションを修正します。

patchファイルをダウンロードします。

[armadillo ~]# wget http://download.atmark-techno.com/sample/blogs/enable-wifi-router.patch

ダウンロードしたpatchファイルを適応します。

[armadillo ~]# patch /usr/bin/at-sample-router < enable-wifi-router.patch

サンプルアプリケーションの設定

スタートアップガイドの第4章 サンプルアプリケーションを使う 4.3. 設定するを参考に、サンプルアプリケーションの設定を行います。

ルーティングとDHCPサーバーの開始

スタートアップガイドの第4章 サンプルアプリケーションを使う 4.4. ルーティングとDHCPサーバーの開始/停止を参考に、ルーティングとDHCPサーバーを開始します。

hostapdの設定

ssidとwpa_passphraseは、以下の値を設定します。

項目
ssid g3l-wifi-router
wpa_passphrase password

hostapdの設定ファイルを作成します。

[armadillo ~]# vi /etc/at-sample-router/hostapd.conf

hostapdの設定ファイルに、以下の内容を記載します。

interface=wlan0
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=g3l-wifi-router
country_code=JP
hw_mode=g
channel=10
beacon_int=100
dtim_period=2
max_num_sta=255
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
ieee80211n=0
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1
wpa=2
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP

hostapdの起動

Ethernet接続をしている場合は、これを切断してください。
hostapdを起動します。

[armadillo ~]# hostapd /etc/at-sample-router/hostapd.conf &

動作確認

動作確認にはスマートフォンやPCなどの端末を用います。
端末のWi-Fi設定を有効にして、指定したssidが表示されることを確認し、wpa_passphraseを入力して接続できることを確認します。
接続した端末のwebブラウザなどを用いて、ネットワークの通信ができているか確認します。問題なく通信ができれば確認は完了です。

停止方法

以下のコマンドで、Armadillo-IoT G3Lの無線LANルーター機能を停止することができます。

[armadillo ~]# pkill -KILL -f hostapd
[1]+  Killed                  hostapd /etc/at-sample-router/hostapd.conf
[armadillo ~]#