Armadilloフォーラム

SORACOMのNapterを使用して、ArmadilloのABOSWebへアクセスしたい

takeshita_kyouhei

2025年3月17日 13時02分

SORACOMのSIMカードをArmadillo IoT-G4に挿入して使用しています

Napter機能をもって、ArmadilloのABOSWebにアクセスしたいのですが可能でしょうか?
 ABOSWebで使用される証明書と、Napter利用時に提示されるドメイン名(URL)が違うために、ブラウザでエラーとなっているように見受けられます

コメント

佐藤です。

https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
上記マニュアルの記載を参考に /etc/atmark/abos_web/init.conf を作成して、接続を許可する subnet を追加するとどうでしょうか。
以下は例です。

[armadillo ~]# vi /etc/atmark/abos_web/init.conf
command_args="--allowed-subnets '100.127.10.0/24 127.0.0.0/8 ::1/128'"

ファイルの永続化とabos-webの再起動

[armadillo ~]# persist_file -v /etc/atmark/abos_web/init.conf
'/mnt/etc/atmark/abos_web/init.conf' -> '/target/etc/atmark/abos_web/init.conf'
[armadillo ~]# rc-service abos-web restart

takeshita_kyouhei

2025年3月17日 19時50分

> 佐藤です。
>
> https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
> 上記マニュアルの記載を参考に /etc/atmark/abos_web/init.conf を作成して、接続を許可する subnet を追加するとどうでしょうか。
> 以下は例です。
>

> [armadillo ~]# vi /etc/atmark/abos_web/init.conf
> command_args="--allowed-subnets '100.127.10.0/24 127.0.0.0/8 ::1/128'"
> 

> ファイルの永続化とabos-webの再起動
>

> [armadillo ~]# persist_file -v /etc/atmark/abos_web/init.conf
> '/mnt/etc/atmark/abos_web/init.conf' -> '/target/etc/atmark/abos_web/init.conf'
> [armadillo ~]# rc-service abos-web restart
> 

返信いただきありがとうございます

上記を実施するにあたって、SSHでのログインについて、rootアカウントでログインが必要になると思いますがこちらもNapter経由ですとひと工夫必要なのでしょうか?
rootでログインしようとした際に、エラーとなってはじかれてしまいました
 atmarkユーザならログイン可能
 rootユーザはATDE9からであれば接続OK(その際に使用したパスワードをNapter使用時にも入力しています)

ファイル ファイルの説明
SSH_Napter_Failed.png

佐藤です。

> 上記を実施するにあたって、SSHでのログインについて、rootアカウントでログインが必要になると思いますがこちらもNapter経由ですとひと工夫必要なのでしょうか?
お使いのPCの
"C:\Users\dolphin/.ssh/" ディレクトリの下に "id_rsa.pub" というファイルはありますでしょうか。
あれば、その内容を armadillo 上の "/root/.ssh/authorized_keys" に追記すればログインできるようになるかと思います。

takeshita_kyouhei

2025年3月18日 14時03分

返信いただきありがとうございます

> お使いのPCの
> "C:\Users\dolphin/.ssh/" ディレクトリの下に "id_rsa.pub" というファイルはありますでしょうか。
> あれば、その内容を armadillo 上の "/root/.ssh/authorized_keys" に追記すればログインできるようになるかと思います。
Napter経由でSSH接続を行っているPCのフォルダを確認しました
known_hostsファイルはありましたが、id_rsa.pubファイルはありませんでした
 接続時にPowershellを使用しているから?

ファイル ファイルの説明
id_rsa_pub_NotFound.png

佐藤です。

> known_hostsファイルはありましたが、id_rsa.pubファイルはありませんでした
>  接続時にPowershellを使用しているから?
Powershell 上で、 "ssh-keygen" を実行すると生成されませんでしょうか。

takeshita_kyouhei

2025年3月18日 14時55分

> 佐藤です。
>
> > known_hostsファイルはありましたが、id_rsa.pubファイルはありませんでした
> >  接続時にPowershellを使用しているから?
> Powershell 上で、 "ssh-keygen" を実行すると生成されませんでしょうか。
以下のコマンドを実行してC:\Users\dolphin\.sshフォルダ内にkeyファイルを生成しました

ssh-keygen.exe -q -t ed25519 -C '""' -N '""' -f id_rsa

id_rsa.pubファイルが作成されたことも確認しました
この内容をArmadilloのファイルに追記するようにします

takeshita_kyouhei

2025年3月19日 15時37分

お世話になります

> 以下のコマンドを実行してC:\Users\dolphin\.sshフォルダ内にkeyファイルを生成しました
>
>

> ssh-keygen.exe -q -t ed25519 -C '""' -N '""' -f id_rsa
> 

>
> id_rsa.pubファイルが作成されたことも確認しました
> この内容をArmadilloのファイルに追記するようにします
上記で生成された、鍵ファイルをもってArmadilloのssh設定ファイルへ追記を行うことで、Napter経由でssh接続を行った際「root」ユーザでログインできるようになったことを確認できました

引き続き、Napter経由でのABOSWebへのアクセスを行うための設定を進めます

takeshita_kyouhei

2025年3月20日 15時06分

>https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro
>上記マニュアルの記載を参考に /etc/atmark/abos_web/init.conf を作成して、接続を許可する subnet を追加するとどうでしょうか。
>以下は例です。

[armadillo ~]# vi /etc/atmark/abos_web/init.conf
command_args="--allowed-subnets '100.127.10.0/24 127.0.0.0/8 ::1/128'"
ファイルの永続化とabos-webの再起動
[armadillo ~]# persist_file -v /etc/atmark/abos_web/init.conf
'/mnt/etc/atmark/abos_web/init.conf' -> '/target/etc/atmark/abos_web/init.conf'
[armadillo ~]# rc-service abos-web restart

以前教えていただいた手順をもって設定を行ってみましたが、ABOSWebにはNapter経由で接続がうまくいっていません
添付した画像の通り設定しています

・210.233.18.49/32はNapterで58080ポートに対して接続を作成した際、表示されたアクセス元IPアドレスになります
・192.168.10.0/24は開発環境のネットワークアドレスです、この設定を入れないとABOSWebにアクセスした際エラーとなったので、init.config自体は働いていそうです

そもそもなのですが、Napterの設定画面では「デバイス側ポート」は58080に設定であっていますでしょうか?
 ABOSWeb自体は58080ポートで待ち受けているはずなので上記のようにしています

また、TLSのチェックは入れる必要があるのでしょうか?
 入れたパターンと入れていないパターン両方試していますが、どちらも接続失敗しています
 発行されるアクセス用URLについて、証明書名「armadillo.local」と乖離しているのでエラーになってしまう
 ここも解決する必要がある?(hostsで、armadillo.localとNapterで発行されたアドレスを紐づける?など)

ファイル ファイルの説明
init.config.png

佐藤です。

すいません。試しに /etc/atmark/abos_web/init.conf の内容を

command_args="--allowed-subnets '0.0.0.0/0 ::/0'"

にして、 abos-web を再起動するとどうなりますでしょうか。

> そもそもなのですが、Napterの設定画面では「デバイス側ポート」は58080に設定であっていますでしょうか?
こちらは合っています。

> また、TLSのチェックは入れる必要があるのでしょうか?
入れた場合と入れない場合で上記の設定を試してみてもらえますでしょうか。

takeshita_kyouhei

2025年3月24日 22時38分

> すいません。試しに /etc/atmark/abos_web/init.conf の内容を
>

> command_args="--allowed-subnets '0.0.0.0/0 ::/0'"
> 

> にして、 abos-web を再起動するとどうなりますでしょうか。
返信いただきありがとうございます

添付の画像の通り設定しました
→init_config.png

また、オンデマンドリモート接続作成時に58080ポートをオープンするように設定しました
この時、TLSにチェックしたかしていないかでブラウザの結果が変わりました
→現状ABOSWebには接続できていません

内容確認いただけますでしょうか?

ファイル ファイルの説明
ABOS_Access_NonTLS.png Napterでオンデマンドリモート接続作成時に「TLS」へチェックを「入れていない」状態で接続を試行
ABOS_Access_TLS.png Napterでオンデマンドリモート接続作成時に「TLS」へチェックを「入れた」状態で接続を試行
init_config.png command_args="--allowed-subnets '0.0.0.0/0 ::/0'" を設定した際の状態

佐藤です。

「TLS」へチェックを「入れていない」状態
の画面の左下にある「詳細設定」をクリックすると
「x.x.x.x にアクセスする(安全ではありません)」
というリンクが表示されると思います。
これををクリックするとどうでしょうか。

takeshita_kyouhei

2025年3月25日 10時21分

返信いただきありがとうございます
> 「TLS」へチェックを「入れていない」状態
> の画面の左下にある「詳細設定」をクリックすると
> 「x.x.x.x にアクセスする(安全ではありません)」
> というリンクが表示されると思います。
> これををクリックするとどうでしょうか。
添付の画像の通り、詳細設定を展開しましたが「x.x.x.x にアクセスする(安全ではありません)」というリンクが表示されませんでした
 証明書として受け取っている「armadillo.local」と、URLが乖離しているため?

ファイル ファイルの説明
ABOSWeb_NoTLS_AccessDenied.png

佐藤です。

添付いただいた画像でマスクしている接続先 URL を(nslookupコマンドやpingコマンド等で)名前解決していただき、
そのipアドレスをブラウザのURLフィールドに入れて直接アクセスするとどうでしょうか。

takeshita_kyouhei

2025年3月25日 16時13分

返信いただきありがとうございます

> 添付いただいた画像でマスクしている接続先 URL を(nslookupコマンドやpingコマンド等で)名前解決していただき、
> そのipアドレスをブラウザのURLフィールドに入れて直接アクセスするとどうでしょうか。
上記対応で想定通り、ABOSWebでアクセスできるようになりました
本件対応いただきありがとうございました

まとめ
1.ABOSWebへ外部からアクセスできるように設定変更を行う
/etc/atmark/abos_web/init.confについて作成・編集
以下を追記する

command_args="--allowed-subnets '0.0.0.0/0 ::/0'"

その後、設定を永続化+ABOSWebのサービス再起動を行う

[armadillo ~]# persist_file -v /etc/atmark/abos_web/init.conf
'/mnt/etc/atmark/abos_web/init.conf' -> '/target/etc/atmark/abos_web/init.conf'
[armadillo ~]# rc-service abos-web restart

2.Napterでアクセスできるよう、オンデマンドリモート接続設定の作成を行う
Napterサイトにログインし、該当SIMカードでオンデマンドリモート接続設定を作成する

ポート:58080
TLS:チェックしない

3.上記で作成し、発行されたIPアドレスに対してブラウザでアクセスする
発行されたアクセスURLについて、nslookupやping等でIPアドレスを確認

その後、ブラウザで「https://<確認したIPアドレス>:<発行されたURLに含まれるポート番号>」へアクセス
警告を無視してアクセスすることで、ABOSWebを開くことができる

なお、上記設定はroot権限が必要となるため、sshでrootログインする必要があり、その場合は以下の流れで設定を行う
(Napter経由で接続する場合、オンデマンドリモート接続作成が必要)

1.ssh接続を行うマシン上で、ssh接続用の公開鍵を作成する
以下のコマンドを実行する

ssh-keygen.exe -q -t ed25519 -C '""' -N '""' -f id_rsa

2.作成された公開鍵ファイルの確認を行う
1の手順でC:\Users\<ユーザ名>\.sshフォルダに公開鍵ファイル「id_rsa.pub」が作成されたことを確認する

3.Armadillo内の設定ファイルに情報追記
Armadillo 上の "/root/.ssh/authorized_keys" に「id_rsa.pub」の内容を追記する
 ローカルでsshを行う際にrootユーザを使うなどして、設定変更を行う

以上で、Napter経由のssh接続にrootユーザを使用できるようになる

at_dominique.m…

2025年3月25日 16時36分

横からすみません、
マルティネです。

アクセスできてよかったです。
一つだけ追記させてください。

> 3.上記で作成し、発行されたIPアドレスに対してブラウザでアクセスする
> 発行されたアクセスURLについて、nslookupやping等でIPアドレスを確認
>
> その後、ブラウザで「https://<確認したIPアドレス>:<発行されたURLに含まれるポート番号>」へアクセス
> 警告を無視してアクセスすることで、ABOSWebを開くことができる

napter を使ったことがないですがないので推測ですが、おそらく TLS チェックありの状態で試したことで chrome が napter側の HSTS の設定を覚えてしまって、IP の解決で回避できたと思います。
なので、「手順」の一つではなくワークアラウンドのようなもので、最初から設定が合っていたら(または chrome でサイト情報を忘れさせたら)名前でもアクセスできるようになるのではないかと思います。
( ip を解決してしまっても問題ないと思いますが手間は手間なので指摘させていただきました)

佐藤です。

接続できてよかったです。

一点追加させてください。
/etc/atmark/abos_web/init.confについて作成・編集
以下を追記する

command_args="--allowed-subnets '0.0.0.0/0 ::/0'"

上記の設定ですが、
https://users.soracom.io/ja-jp/docs/napter/limitations/
をみますと、
「SORACOM Napter の送信元 IP は、SORACOM Air をご利用の場合は 100.127.10.16」
とありますので、

command_args="--allowed-subnets '100.127.10.16'"

でも繋がるかもしれません。これで繋がるのであればこちらの設定のほうがいいかと思います。