Armadilloフォーラム

A6E(AG6271モデル)でLTE通信によりSSH接続(http接続)をする。

kirihara

2023年10月31日 12時55分

表題の件についてです。

A6EのAG6271にて確認をしていますが、LTE網からのSSH接続ができない状況です。

状況:
・baseOSのバージョン:base_os 3.18.3-at.4 /
・ソラコム社のオンデマンドリモートアクセスで確認
・ローカル接続(Wifi)によるSSHは可能(sshサーバーは立ち上がっている)
・LTEからのpingは通る。
・マニュアルに記載のels31.confファイルにてFIREWALL="disable"は設定済。
 (起動後にels31-firewall-get-statusコマンドでdisableとなっていることを確認)
・ArmadilloOSのiptableも特にファイアーウォール設定はなし
・ArmadilloをAPモードに設定したうえで、PCをwifi接続し外部のweb画面閲覧は可能

そのほかに試したこと…
・ABOSのwebUIにてポートフォワーディングを設定
 ①受信IFをusb0として、ポート番号22  ⇒ 22 (宛先IPアドレスをArmadilloのbr_apのブリッジアドレス)
 ② ①を消去した上で、受信IFをusb0として、ポート番号22  ⇒ 22 (宛先IPアドレスをArmadilloのloのアドレス)

別トピックにて、G3LモデルにてLTE通信網からSSHを行うためには、
LTEモジュールのELS31-Jの設定変更ツールを使用する必要があることを確認しました。
ソフトウェアダウンロードを見るとA6Eにも「Cinterion(R) ELS31-J ファームウェアアップデートツール」があるようですが、
こちらを適用させる必要があるのでしょうか。

その他に確認が必要な点がございましたら、ご教授いただきたいです。

参考になるか分かりませんが、以下がmmcliで表示した情報です。

--------------------------------
General | path: /org/freedesktop/ModemManager1/Modem/0
| device id: 0269ace1b0bdea6e91c6f6e39df03a271985b61c
--------------------------------
Hardware | manufacturer: Cinterion
| model: ELS31-J
| firmware revision: REVISION 4.3.3.0fcT
| supported: lte
| current: lte
| equipment id: 356778073357700
--------------------------------
System | device: /sys/devices/platform/soc/2100000.bus/2184200.usb/ci_hdrc.1/usb2/2-1
| drivers: cdc_acm, cdc_ether
| plugin: cinterion-els31
| primary port: ttyCommModem
| ports: ttyCommModem (at), usb0 (net)
--------------------------------
Numbers | own: 02001011845288
--------------------------------
Status | state: connected
| power state: on
| access tech: lte
| signal quality: 100% (recent)
--------------------------------
Modes | supported: allowed: any; preferred: none
| current: allowed: any; preferred: none
--------------------------------
Bands | supported: eutran-1, eutran-18, eutran-19
| current: eutran-1, eutran-18, eutran-19
--------------------------------
IP | supported: ipv4, ipv6, ipv4v6
--------------------------------
3GPP | operator id: 44010
| operator name: NTT DOCOMO
| registration: home
| packet service state: attached
--------------------------------
3GPP EPS | ue mode of operation: csps-2
--------------------------------
SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/0
--------------------------------
Bearer | paths: /org/freedesktop/ModemManager1/Bearer/0

コメント

at_syunya.ohshio

2023年10月31日 16時15分

大塩です。

ご報告頂いた内容につきまして、
実装した際に参考にしたページや資料等はありますでしょうか。

また、具体的にどのタイミングでエラーが発生するか、syslog等から判断は可能でしょうか。

以上です。

> 大塩です。
>
> ご報告頂いた内容につきまして、
> 実装した際に参考にしたページや資料等はありますでしょうか。

Armadillo-IoT ゲートウェイ A6E製品マニュアル(version 1.7.0)の
P.78~のLTE設定/P.131~のポートフォワーディング設定
を主に確認しております。
(新しいversionのマニュアルが来ているのに気づいておりませんでした…)
そのほか、過去のフォーラム(https://armadillo.atmark-techno.com/forum/armadillo/13829)および、こちらに添付されているファイルを参照しております。

> また、具体的にどのタイミングでエラーが発生するか、syslog等から判断は可能でしょうか。
>

syslogの取り出しを行いました。ファイルを添付いたします。
起動時のログは追えましたが、そのあとにソラコムのオンデマンドアクセスを実施した際のログは残っておりません。
(ArmadilloBaseOSまでSSH接続が届いていないということでしょうか?)
ちなみに、コンテナはa6e-gw-containerのみを起動させています。

LTEモジュールの部分の確認をしたいですが、ELS31-Jからログを取り出す方法はご存じでしょうか。

ファイル ファイルの説明
systemlog_20231031_2.log

at_mitsuhiro.yoshida

2023年11月2日 8時42分

吉田です。

情報のご提供ありがとうございます。

状況をもう少し詳しく確認したいのですが、
ブログ「Armadillo-IoT ゲートウェイ: SORACOM Napter を使用する方法 (Armadillo Base OS 対応)」
https://armadillo.atmark-techno.com/blog/7370/14613
の様な手順で soracom Napter を使用して、
Napter から指定された ssh コマンドを入力して接続ができない状況でしょうか?

お手数おかけしますが、よろしくお願いします。

吉田様

> 状況をもう少し詳しく確認したいのですが、
> ブログ「Armadillo-IoT ゲートウェイ: SORACOM Napter を使用する方法 (Armadillo Base OS 対応)」
> https://armadillo.atmark-techno.com/blog/7370/14613
> の様な手順で soracom Napter を使用して、
> Napter から指定された ssh コマンドを入力して接続ができない状況でしょうか?

上記の手順で行いましたができませんでした。
( Connection timed out が応答されます。)

Armadilloをbr_apとして使用していたのが原因かと思い、
ブリッヂ設定も消したのですが、接続できませんでした。

なお、Armadilloをbr_apとして設定して、httpサーバーを持たせた別の機器をクライアント接続した状態(つまり、ArmadilloをLTEルーターとして使用する状態)
の場合には、当該クライアント機器のhttpサーバーへとNapter経由でアクセスができました。

状況としては、Armadillo内のsshサーバーにのみアクセスができないという状況です。

よろしくお願いいたします。

at_mitsuhiro.yoshida

2023年11月13日 8時55分

吉田です。

情報のご提供ありがとうございます。

なんども申し訳ありません、内容の確認をしたいのですが、
以下の (1) の構成が OK で (2) の構成は NG だったということでしょうか?
(1) Client -- LTE (Napter) -- Armadillo -- 無線 LAN -- HttpServer
(2) PC -- LTE(Napter) -- Armadillo

お手数ですが、 (2) で Armadillo をインストールディスクで初期化し、
soracom の LTE 接続設定と ELS31 の firewall を diable にする設定だけを
行った状態での Napter 接続も NG となりますでしょうか?
もしそれが NG でしたら、実施した手順とエラー内容のご提供をお願いできますでしょうか。

お手数ですがよろしくお願いします。

> なんども申し訳ありません、内容の確認をしたいのですが、
> 以下の (1) の構成が OK で (2) の構成は NG だったということでしょうか?
> (1) Client -- LTE (Napter) -- Armadillo -- 無線 LAN -- HttpServer
> (2) PC -- LTE(Napter) -- Armadillo

(1)は…
(1) Client -- LTE (Napter) -- Armadillo -- ehternet-- HttpServer
と接続をして、成功したことを確認しております。
(なお、ehter接続時に、Armadilloがブリッジとしてふるまうように、下記フォーラムに記載の設定を行いました。

(2)にてArmadilloインストールディスクで初期化し、確認をしましたがNGでした。
実施した手順を記載します。

①製品マニュアルをもとに、初期化インストールディスクの作成+初期化インストールディスクで初期化

初期化完了時のコマンド↓↓
Finished writing mmc. powering off now
[ 219.069524] imx2-wdt 20bc000.watchdog: Device shutdown: Expect reboot!
[ 219.076572] reboot: Power down

②Armadilloを起動、PC--ルーター--Armadilloとehter接続を行い、ABOS UIに接続
  LTEの設定(ソラコム社sim plan-D)
  NAT設定 (usb0をNATに設定)

③コンソールから、els31-firewallを起動時に無効化するように設定
armadillo:~# cp /etc/atmark/els31.conf.example /etc/atmark/els31.conf
armadillo:~# vi /etc/atmark/els31.conf
------------------------------------
#!/bin/sh
# SPDX-License-Identifier: MIT

FIREWALL="disable"
------------------------------------------
persist_file /etc/atmark/els31.conf

④コンソールからsshサーバーを自動起動するように設定
armadillo:~# rc-update add sshd
* service sshd added to runlevel default
armadillo:~# persist_file /etc/runlevels/default/sshd

⑤atmarkユーザーのパスワード設定
armadillo:~# passwd atmark
New password:
Retype new password:
passwd: password updated successfully

⑥rebootコマンドでArmadilloを再起動

⑦再起動後、ファイアーウォールが無効になっていることを確認
armadillo:~# els31-firewall-get-status
ELS31-J Firewall: Disable

⑧LTEが繋がることを確認
armadillo:~# ping -c 3 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=118 time=59.687 ms
64 bytes from 8.8.8.8: seq=1 ttl=118 time=51.254 ms
64 bytes from 8.8.8.8: seq=2 ttl=118 time=50.953 ms

--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 50.953/53.964/59.687 ms

以上がArmadilloの設定です。

この状態で、
https://armadillo.atmark-techno.com/blog/7370/14613
の手順で接続の確認を行いました。

結果は、connection timed out
となります。

なお、PC --- ルーター --- Armadillo で接続をして、ローカルでssh接続を試みたら、そちらは成功しました。
一般的に上記手順でうまくいくはず…ということかと思うのですが、弊社のネットワーク環境の問題などもかんがえられますでしょうか。

よろしくお願いいたします。

ファイル ファイルの説明
ssh接続ログ.txt
起動時のsyslog_20231113.txt
起動時ログ_20231113.txt

at_mitsuhiro.yoshida

2023年11月14日 8時41分

吉田です。

有線 LAN も同時利用されている状況ですね。

コマンドラインを使うことになるのですが、
以下のブログを参考に
https://armadillo.atmark-techno.com/blog/9492/3724
LTE の metric を 50 程度に変更するといかがでしょうか。

[armadillo /]# nmcli connection modify [LTEのUUID] ipv4.route-metric 50
[armadillo /]# nmcli connection down gsm-ttyCommModem
[armadillo /]# nmcli connection up gsm-ttyCommModem

お手数ですがよろしくお願いします。

吉田様

ご回答ありがとうございます。

>有線 LAN も同時利用されている状況ですね。

いちおう、ssh接続確認時には、優先LANは抜いて確認を行っております。

> コマンドラインを使うことになるのですが、
> 以下のブログを参考に
> https://armadillo.atmark-techno.com/blog/9492/3724
> LTE の metric を 50 程度に変更するといかがでしょうか。

LTEのmetricを変更しましたが、接続ができませんでした。
ちなみに、podman0がmetric 0となっている点は関係ありますでしょうか。

armadillo:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         OpenWrt.lan     0.0.0.0         UG    50     0        0 usb0
10.88.0.0       *               255.255.0.0     U     0      0        0 podman0
192.168.15.0    *               255.255.255.0   U     50     0        0 usb0
armadillo:~#
 

お手数をおかけしますが、よろしくお願いいたします。

at_mitsuhiro.yoshida

2023年11月14日 10時41分

吉田です。

> ちなみに、podman0がmetric 0となっている点は関係ありますでしょうか。

ABOS 3.18.4-at5 を使用して Napter ができることは確認しておりまして、
https://armadillo.atmark-techno.com/files/downloads/armadillo-iot-a6e/i…

その際の route は以下の状態ですので、問題はないです。

armadillo:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         OpenWrt.lan     0.0.0.0         UG    700    0        0 usb0
10.88.0.0       *               255.255.0.0     U     0      0        0 podman0
192.168.15.0    *               255.255.255.0   U     700    0        0 usb0 

以下のように接続出来ております。

C:\Windows\System32>ssh -p [ポート番号] [URL] -l atmark
The authenticity of host '[URL]:[ポート番号] ([IPアドレス]:[ポート番号])' can't be established.
ECDSA key fingerprint is SHA256:[SHA]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[URL]:[ポート番号],[IPアドレス]:[ポート番号]' (ECDSA) to the list of known hosts.
atmark@[URL]'s password:
Welcome to Alpine!
...中略...
armadillo:~$

- インストールディスク適用
- LTE コネクションを設定
- FIREWALL="disable" を記載した /etc/atmark/els31.conf を作成し persist_file を実行
- Armadillo で ssh サーバーを起動
- 有線 LAN ケーブルは挿していません

吉田様

Armadillo内部にhttpサーバーをたてた状態で、Napter経由でhttpアクセスしたところ、うまくいきました。
おそらく弊社側のsshに関わるネットワーク設定に問題がありそうです。

ご対応いただきありがとうございました。