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 ~]#