Armadilloフォーラム

コンテナのアプリケーションのデバイス参照設定について

nakayama244

2023年4月27日 19時38分

pythonのアプリケーションを Podman コンテナ仮想化にて作成しています。
アプリケーションはネットワーク上のサーバにデータを送信するようになっています。
ネットワークにはLTEで接続するのですが、ソケットエラーになり接続できない状態です。

端末デバイスの接続追加は作成したプロジェクト内の
python_app.confに記載すると理解しているのですが(add_devices /dev/ttymxc* など)
ネットワーク接続も同様でしょうか。教授いただきたいです。

以上、よろしくお願いいたします。

コメント

at_mitsuhiro.yoshida

2023年4月28日 15時47分

吉田です。

コンテナ内では特に意識しなくてもネットワークを使用できると思いますが、
コンテナ外で LTE の設定と導通は確認できていますでしょうか。

設定方法と導通確認方法は製品マニュアル 「LTE」 の章を参照ください。
https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…

よろしくお願いします。

nakayama244

2023年4月28日 16時45分

> 吉田です。
>
> コンテナ内では特に意識しなくてもネットワークを使用できると思いますが、
> コンテナ外で LTE の設定と導通は確認できていますでしょうか。
>
> 設定方法と導通確認方法は製品マニュアル 「LTE」 の章を参照ください。
> https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…
>
> よろしくお願いします。

吉田様

上記の件、承知いたしました。
コンテナの問題ではなくネットワーク接続に問題がありました。
ping 8.8.8.8 -I ppp0にはpingが通りましたが、ping google.com -I ppp0 などドメイン名を指定した場合
接続ができておらず、ping: bad addressとなりました。

質問の趣旨が変わっていしまうのですが、このような場合はどのように原因を調べたらよいでしょうか。

at_mitsuhiro.yoshida

2023年5月1日 18時25分

吉田です。

以下の様に、DNS を指定して LTE コネクションの生成を行うと動作が変わりますでしょうか?

nmcli connection add type gsm ifname ttyCommModem apn [APN名] user [ユーザー名] password [パスワード] ipv4.dns [DNSアドレス]

例えば、Google Public DNS であれば以下のようになります。

nmcli connection add type gsm ifname ttyCommModem apn [APN名] user [ユーザー名] password [パスワード] ipv4.dns 8.8.8.8

現在の LTE コネクション設定を削除した上で、

nmcli connection delete gsm-ttyCommModem

試してもらえますでしょうか。

nakayama244

2023年5月1日 20時12分

> 吉田です。
>
> 以下の様に、DNS を指定して LTE コネクションの生成を行うと動作が変わりますでしょうか?
>

> nmcli connection add type gsm ifname ttyCommModem apn [APN名] user [ユーザー名] password [パスワード] ipv4.dns [DNSアドレス]
> 

>
> 例えば、Google Public DNS であれば以下のようになります。
>

> nmcli connection add type gsm ifname ttyCommModem apn [APN名] user [ユーザー名] password [パスワード] ipv4.dns 8.8.8.8
> 

>
> 現在の LTE コネクション設定を削除した上で、
>

> nmcli connection delete gsm-ttyCommModem
> 

> 試してもらえますでしょうか。

吉田様
回答に気が付かず、書き込みを行っていました。

上記のGoogle Public DNS設定してみましたが解決しませんでした。
原因は、DNSのようでWindowsの方でgoogle.comにpingを飛ばすと
グローバルIPアドレスが表示されるので
端末側で同じIPアドレスを打ち込むとpingが通りました。

DNSの解決ができず、ネットワークが接続できないようです。

もしよければ、こちらで質問続けさせてください。

at_mitsuhiro.yoshida

2023年5月2日 9時12分

吉田です。

以下、確認してもらえますでしょうか。

(1) LTE 接続時の
/run/NetworkManager/no-stub-resolv.conf
に LTE で使用する DNS は、含まれていますでしょうか?
(LTE 接続前と LTE 接続後で差分はありますでしょうか?)
このファイルに記載されている上 3 つの DNS を使用して名前解決を行っております。

(2) もし同時に有線 LAN ケーブルを挿している場合、
有線 LAN ケーブルを抜いたときは名前解決できていますでしょうか。

(3) ご利用になられている SIM の料金プランはどのようなものでしょうか?

nakayama244

2023年5月2日 11時17分

> 吉田です。
>
> 以下、確認してもらえますでしょうか。
>
> (1) LTE 接続時の
> /run/NetworkManager/no-stub-resolv.conf
> に LTE で使用する DNS は、含まれていますでしょうか?
> (LTE 接続前と LTE 接続後で差分はありますでしょうか?)
> このファイルに記載されている上 3 つの DNS を使用して名前解決を行っております。
>
> (2) もし同時に有線 LAN ケーブルを挿している場合、
> 有線 LAN ケーブルを抜いたときは名前解決できていますでしょうか。
>
> (3) ご利用になられている SIM の料金プランはどのようなものでしょうか?

(1)について
接続時はnameserver が2つあり
それぞれにIPアドレスがありました。
接続前(nmcliconection down)は
# Generated bu Networkmanager となっていました。

(2)VSCodeからのApplication Run を実行しているため
有線LANを接続していましたが
抜いてPingを通すとインターネット接続できました。

(3)有線LAN無しだと接続できたので
SIMの不具合などではないと思います。

有線LAN使用中もLTE通信ができる設定をご教授頂きたいです。

at_mitsuhiro.yoshida

2023年5月2日 16時59分

吉田です。

LTE の metric を小さくするとどうなりますでしょうか。
有線 LAN の metric が標準ですと 100 なので、例えば 80 にする場合以下のような設定となります。

nmcli connection add type gsm ifname ttyCommModem apn [APN名] user [ユーザー名] password [パスワード] ipv4.route-metric 80

よろしくお願いします。

nakayama244

2023年5月1日 20時02分

上記の件、ご回答ありがとうございます。
ネットワークが使用できること了承しました。

ネットワーク接続できないことについて原因が分かったので別途質問を作成します。

nakayama244

2023年5月2日 9時40分

> 上記の件、ご回答ありがとうございます。
> ネットワークが使用できること了承しました。
>
> ネットワーク接続できないことについて原因が分かったので別途質問を作成します。

この件は取り消して質問を継続させてください。