沖縄県南大東島に設置する気象モニタリングシステムに使うため今回選定した機器。
docomo系SIMカード使用でインターネットに接続できるいわゆるLinuxマイクロサーバ。
いままで類似案件では Openblock IoT BX1/EX1を使っていたんだけど、
今回離島環境で電波状況が不安なため、外付けアンテナを使用できる機器として探していて、本当はArmadillo IoT G3Lを使うつもりだったんだけど、欠品により納期がずいぶん先になりそうなため次点としてこのMA-E350/NLWを選定しました。
遠隔地で動作させるため、本体にSoftEther VPN Clientを入れてリモートメンテできるようにしておく。また、配下に無線LANを使った各種センサを接続することがあるため、wlanをhostAPにして、wlanに接続したclientはppp経由でインターネットに接続できるようにする、というのを実現するためにやったことをまとめておかないといつでも忘れることができるので頑張って記録する。
ファームウェアの更新
まず、手元にある6台の機器のファームウェア、Linux Ubuntu 14.04ベースとちょっと古めで、最近勉強した自動起動周りが使えなくなって再勉強が必要になっていた。Ubuntu18ベースのファームウェアも公開されていたが、安定しているか不安なので使わないでいた。しかし、どうも買った直後ぐらいに大規模更新があって、新しい出荷からUbuntu18ベースになるとのことだ。もしも追加納品が発生すると後からめんどくさくなるので、頑張ってファームウェアの更新をすることが必要だった…
https://ma-tech.centurysys.jp/doku.php?id=download_software:mae3xx:start
さて、どうにかファームウェアを更新したら追加パッケージを入れていく。
SoftEtherを入れるのにgccコンパイラが必要なため apt-get updateする
その他、あとの手順で必要になるパッケージは一気にまとめてgetしておこう
apt-getで入れたパッケージは overlaycfg -s other をしないと次回起動時にきれいさっぱり消えるのでややこしい
FutureNet MA-E300シリーズ | お客様サポート | CENTURY SYSTEMS
と、思ったけどsoftetherをコンパイルした後はいらなくなるかもしれない。
一旦ビルドしたバイナリはどっかに取っておいて、gccのことは忘れてもらってもいいようだ
SoftEtherのビルドと設定
ソースパッケージを落としてmakeする。
自動起動の設定はUbuntu18はsystemdでやったほうがいいので
https://qiita.com/kumasun/items/6fd9ddafc8ea6278f088
ここを参考にした(これはServerなのでClientに適宜書き換え)。
VPN用のipアドレスは /etc/network/interfacesに書いておく。
allow-hotplug vpn_vpn
iface vpn_vpn inet static
address 192.168.37.12
netmask 255.255.255.0
接続設定の作成をコマンドラインからやるのはかなりめんどくさいが、vpncmdコマンドでリモート管理を有効にして、Windowsマシンに入れたGUIツールで接続設定を書き込んだ。
root@plum:~# systemctl status vpn
● vpn.service - Softether VPN Client Service
Loaded: loaded (/etc/systemd/system/vpn.service; enabled; vendor preset: enab
Active: active (running) since Sun 2019-06-09 21:24:51 JST; 16min ago
Main PID: 867 (vpnclient)
Tasks: 16 (limit: 1140)
CGroup: /system.slice/vpn.service
tq867 /root/vpnclient/vpnclient execsvc
mq868 /root/vpnclient/vpnclient execsvcJun 09 21:24:45 plum systemd[1]: Starting Softether VPN Client Service...
Jun 09 21:24:50 plum vpnclient[851]: The SoftEther VPN Client service has been s
Jun 09 21:24:51 plum systemd[1]: Started Softether VPN Client Service.
root@plum:~# ifconfig vpn_vpn
vpn_vpn: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.37.12 netmask 255.255.255.0 broadcast 192.168.37.255
inet6 fe80::5c4c:1fff:fe35:e9e9 prefixlen 64 scopeid 0x20<link>
ether 5e:4c:1f:35:e9:e9 txqueuelen 1000 (Ethernet)
RX packets 645 bytes 44720 (44.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 543 bytes 45122 (45.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ルーティングの設定
おもにここを参考に
http://ami-gs.hatenablog.com/entry/2014/03/20/175332
eth0になっているものをすべてppp0に変更しただけでうまく行った
あとhostapd
https://qiita.com/wannabe/items/a66c4549e4a11491f9d5