new_bee
2025年7月7日 10時00分
==========
製品型番:AG6221-C01Z
Debian/ABOSバージョン:3.19.1-at.3.20240527
カーネルバージョン:5.10.237-0-at
3G/LTE モジュール情報 (Debianのみ):
その他:SDBOOT
==========
いつもお世話になっております。
pythonのftplibにてAWSのEC2に構築してあるFTPサーバに画像を転送する処理をコンテナ内で実行しています。
Jul 7 02:53 P25070702530364.jpg
Jul 7 09:33 P25070703030320.jpg
Jul 7 09:34 P25070703140337.jpg
2:53から9:33 にかけてtimeoutエラーが発生していました。
コンテナ内でping 8.8.8.8 は応答が返ってきており
https://host.containers.internal:58080/api/wwan/signal_quality
にて毎分取得している電波強度を確認する限り通信断が起こってはいなさそうでした。
2025/07/07 09:22:00 [MSG] {"signal_quality":"48"} 2025/07/07 09:23:00 [MSG] {"signal_quality":"45"} 2025/07/07 09:23:04 [ERR] Upload failed for P25070703030320.jpg: 421 Data timeout. Reconnect. Sorry.
またコンテナの外でmmcli -m 0 を実行するとモデムが見つからないといわれ詳細を確認できませんでした。
同様にコンテナ外でもping8.8.8.8 で応答は帰ってきます。
armadillo:~# mmcli -m 0 error: couldn't find modem
通信回りは iproute でLTEの優先度を1番高くしております。
事象発生時の詳細ログ等を確認できるようでしたら確認したいのですが
確認する方法等ございますでしょうか?
もしあるようでしたらご教授いただけると助かります。
お手数ですがよろしくお願い致します。
コメント
new_bee
佐藤様
お世話になっております。
messages を添付いたします。
ご確認の程宜しくお願い致します。
ファイル | ファイルの説明 |
---|---|
messages.txt |
new_bee
at_makoto.sato
佐藤です。
すいません。
以下の手順を参考にデバッグログを有効にした後、
armadilloを再起動していただき、また今回の現象が発生した場合にその時の /var/log/messages をいただけますでしょうか。
https://armadillo.atmark-techno.com/howto/mm-debug
また、以下のログの "421" とは ftp サーバのレスポンスコードを表していますでしょうか?
そうなのであれば、ftpサーバのレスポンス 421 とは
"Service not available, closing control connection. " とのことなので、サーバ側のログも確認してみるとなにかわかるかもしれません。
2025/07/07 09:23:04 [ERR] Upload failed for P25070703030320.jpg: 421 Data timeout. Reconnect. Sorry.
new_bee
佐藤様
お世話になっております。
頂いた手順でmodemmanagerを作成ししばらく様子を見たいと思います。
> "Service not available, closing control connection. " とのことなので、サーバ側のログも確認してみるとなにかわかるかもしれません。
ひとまずサーバのログも確認してみようかと思います。
ありがとうございました。
また事象が発生いたしましたら宜しくお願い致します。
> 佐藤です。
>
> すいません。
> 以下の手順を参考にデバッグログを有効にした後、
> armadilloを再起動していただき、また今回の現象が発生した場合にその時の /var/log/messages をいただけますでしょうか。
> https://armadillo.atmark-techno.com/howto/mm-debug
>
> また、以下のログの "421" とは ftp サーバのレスポンスコードを表していますでしょうか?
> そうなのであれば、ftpサーバのレスポンス 421 とは
> "Service not available, closing control connection. " とのことなので、サーバ側のログも確認してみるとなにかわかるかもしれません。
>
> 2025/07/07 09:23:04 [ERR] Upload failed for P25070703030320.jpg: 421 Data timeout. Reconnect. Sorry. >
new_bee
佐藤様
お世話になっております。
ssh のアクセスブロックを追加した際にカメラ側からアルマジロ内のFTPコンテナにアクセスできなくなってしまいました。
iptables のinputルールに port 22 でブロックをかけたのみで他コンテナ等の設定ファイルを変更しておりません。
追加したルールを削除しても接続できない状況が続いております。
Chain INPUT (policy ACCEPT) target prot opt source destination NETAVARK_INPUT all -- 0.0.0.0/0 0.0.0.0/0 /* netavark firewall rules */ ACCEPT tcp -- 192.168.7.94 0.0.0.0/0 tcp dpt:8080 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 Chain FORWARD (policy ACCEPT) target prot opt source destination NETAVARK_FORWARD all -- 0.0.0.0/0 0.0.0.0/0 /* netavark firewall rules */ ACCEPT tcp -- 118.3.228.109 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 192.168.7.94 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 192.168.7.94 0.0.0.0/0 tcp dpt:8080 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain NETAVARK_FORWARD (1 references) target prot opt source destination DROP all -- 0.0.0.0/0 0.0.0.0/0 ctstate INVALID ACCEPT all -- 0.0.0.0/0 10.88.0.0/16 ctstate RELATED,ESTABLISHED ACCEPT all -- 10.88.0.0/16 0.0.0.0/0 Chain NETAVARK_INPUT (1 references) target prot opt source destination ACCEPT udp -- 10.88.0.0/16 0.0.0.0/0 udp dpt:153 ACCEPT tcp -- 10.88.0.0/16 0.0.0.0/0 tcp dpt:153 Chain NETAVARK_ISOLATION_2 (1 references) target prot opt source destination Chain NETAVARK_ISOLATION_3 (0 references) target prot opt source destination DROP all -- 0.0.0.0/0 0.0.0.0/0
[armadillo ~]# /etc/init.d/iptables save [armadillo ~]# persist_file /etc/iptables/rules-save
でルールを更新しarmadillo本体の再起動を実行したのみで他の作業は行っていません。
ftp コンテナのconfファイルはで必要なポートは渡せていると思います。
set_image localhost/{{PROJECT}}:latest add_volumes /sys:/sys add_volumes /var/app/rollback/volumes/{{PROJECT}}:/vol_app:ro add_volumes /var/app/volumes/{{PROJECT}}:/vol_data add_args -it add_ports 21:21 21100-21110:21100-21110 # add_args --env=PASV_ADDRESS="192.168.7.96" add_args --env=PASV_ADDRESS="192.168.10.100" add_armadillo_env add_volumes /var/app/volumes/shared/image:/var/local add_volumes /var/app/rollback/volumes/vsftpd.conf:/etc/vsftpd/vsftpd.conf:ro # set_command bash /vol_app/src/main.sh
新たにルールを追加したことによって変更されてしまうセキュリティがあるのでしょうか?
お手数ですがご教授いただけると助かります。
ファイル | ファイルの説明 |
---|---|
vsftpd.conf |
new_bee
佐藤様
お世話になっております。
カメラ自体はarmadilloのeth0に接続しており、
armadilloはIP:192.168.10.100
カメラは IP:192.168.10.50
で接続しています。
ABOSWEBにてNAT設定をしており
armadilloにUSBLANでeth1を追加してある
192.168.7.98 から接続するようになっております。
以下で教えていただいた際に作成したイメージを使用しております。
https://armadillo.atmark-techno.com/forum/armadillo/26278
こういった設定等も影響しますでしょうか?
お忙しいところ恐縮ですがよろしくお願い致します。
at_makoto.sato
佐藤です。
> ssh のアクセスブロックを追加した際にカメラ側からアルマジロ内のFTPコンテナにアクセスできなくなってしまいました。
とのことですが、どのようなコマンドで ssh のアクセスブロックを追加しましたか。
> 追加したルールを削除しても接続できない状況が続いております。
こちらはどのようなコマンドでルールを削除しましたか。
ssh を使わないのであれば、アクセスをブロックするよりも
以下のようにssh自体を起動しないようにしたほうが良いかと思います。
[armadillo]# rc-update del sshd [armadillo]# persist_file -d /etc/runlevel/sshd
new_bee
佐藤様
お世話になっております。
カメラの間欠テストを行っている関係でシリアル接続が移動しないと接続できないため
テスト期間中のみsshを使用してアクセスしようと考えてました。
出荷する際はsshを起動しないようにした状態でイメージを作成しようと思います。
教えていただきありがとうございます。
> とのことですが、どのようなコマンドで ssh のアクセスブロックを追加しましたか。
以下コマンドで追加、削除する場合は追加したルールの番号で削除しました。
iptables -A INPUT -p tcp --dport 22 -j DROP iptables -D INPUT 4
で永続化させて再起動しております。
また一度iptablesを
iptables -F
で初期化したのちに
FTP接続を試してもpingは通りますが接続ができない状態になってしまっています。
お手数ですがご確認の程宜しくお願い致します。
> 佐藤です。
>
> > ssh のアクセスブロックを追加した際にカメラ側からアルマジロ内のFTPコンテナにアクセスできなくなってしまいました。
> とのことですが、どのようなコマンドで ssh のアクセスブロックを追加しましたか。
>
> > 追加したルールを削除しても接続できない状況が続いております。
> こちらはどのようなコマンドでルールを削除しましたか。
>
> ssh を使わないのであれば、アクセスをブロックするよりも
> 以下のようにssh自体を起動しないようにしたほうが良いかと思います。
>
> [armadillo]# rc-update del sshd > [armadillo]# persist_file -d /etc/runlevel/sshd >
at_makoto.sato
佐藤です。
> iptables -A INPUT -p tcp --dport 22 -j DROP
> iptables -D INPUT 4
ありがとうございます。削除する前は
"iptables -L --line-numbers" で行数番号を確認して 4 だったのでそれを消したということですね。
> また一度iptablesを
> iptables -F
> で初期化したのちに
初期化したあとに、コンテナを再起動しましたでしょうか?
コンテナを再起動したあとの
"iptables -L" コマンドの結果はどうなっていますでしょうか。
new_bee
佐藤様
お世話になっております。
> "iptables -L" コマンドの結果はどうなっていますでしょうか。
今一度初期化して以下の状態になっております。
podman restart ftp
及びarmadillo本体のrebootもかけております。
armadillo:~# podman ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9b2f38d8c731 localhost/ftp:latest bash /vol_app/src... 9 minutes ago Up 9 minutes 0.0.0.0:21->21/tcp, 0.0.0.0:21100-21110->21100-21110/tcp, 20/tcp ftp
armadillo:~# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination NETAVARK_INPUT all -- anywhere anywhere /* netavark f Chain FORWARD (policy ACCEPT) target prot opt source destination NETAVARK_FORWARD all -- anywhere anywhere /* netavark Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain NETAVARK_FORWARD (1 references) target prot opt source destination DROP all -- anywhere anywhere ctstate INVALID ACCEPT all -- anywhere 10.88.0.0/16 ctstate RELATED,ES ACCEPT all -- 10.88.0.0/16 anywhere Chain NETAVARK_INPUT (1 references) target prot opt source destination ACCEPT udp -- 10.88.0.0/16 anywhere udp dpt:153 ACCEPT tcp -- 10.88.0.0/16 anywhere tcp dpt:153 Chain NETAVARK_ISOLATION_2 (1 references) target prot opt source destination Chain NETAVARK_ISOLATION_3 (0 references) target prot opt source destination DROP all -- anywhere anywhere NETAVARK_ISOLATION_2 all -- anywhere anywhere
ご確認の程宜しくお願い致します。
> 佐藤です。
>
> > iptables -A INPUT -p tcp --dport 22 -j DROP
> > iptables -D INPUT 4
> ありがとうございます。削除する前は
> "iptables -L --line-numbers" で行数番号を確認して 4 だったのでそれを消したということですね。
>
>
> > また一度iptablesを
> > iptables -F
> > で初期化したのちに
> 初期化したあとに、コンテナを再起動しましたでしょうか?
> コンテナを再起動したあとの
> "iptables -L" コマンドの結果はどうなっていますでしょうか。
>
at_makoto.sato
佐藤です。
以前貼っていただいたftp コンテナのconfファイルは
以下のようになっていますが、 20番ポートもadd_portsする必要があるかと思います。
set_image localhost/{{PROJECT}}:latest add_volumes /sys:/sys add_volumes /var/app/rollback/volumes/{{PROJECT}}:/vol_app:ro add_volumes /var/app/volumes/{{PROJECT}}:/vol_data add_args -it add_ports 21:21 21100-21110:21100-21110 # add_args --env=PASV_ADDRESS="192.168.7.96" add_args --env=PASV_ADDRESS="192.168.10.100" add_armadillo_env add_volumes /var/app/volumes/shared/image:/var/local add_volumes /var/app/rollback/volumes/vsftpd.conf:/etc/vsftpd/vsftpd.conf:ro # set_command bash /vol_app/src/main.sh
new_bee
佐藤様
お世話になっております。
ひとまず20番も追加しましたが接続できないままです。
取説6.9.8.2. FTP サーバを構築する
を参考に作成したものになります。
set_image localhost/{{PROJECT}}:latest add_volumes /sys:/sys add_volumes /var/app/rollback/volumes/{{PROJECT}}:/vol_app:ro add_volumes /var/app/volumes/{{PROJECT}}:/vol_data add_args -it add_ports 20-21:20-21 21100-21110:21100-21110 # add_args --env=PASV_ADDRESS="192.168.7.96" add_args --env=PASV_ADDRESS="192.168.10.100" add_armadillo_env add_volumes /var/app/volumes/shared/image:/var/local add_volumes /var/app/rollback/volumes/vsftpd.conf:/etc/vsftpd/vsftpd.conf:ro set_command bash /vol_app/src/main.sh
at_makoto.sato
new_bee
at_makoto.sato
佐藤です。
> またPC側で実行したら
> PS C:\Users\AC477> ftp 192.168.10.100
> > ftp: connect :接続が拒否されました
ありがとうございます。ポートが開いていないか vsftpd が起動していないかだと思われます。
PC上でATDEは動かせる状況でしょうか。
もしATDEを起動できるのであれば、ATDE上から以下を実行してもらえますでしょうか。
これでポートが空いているかどうか確認できます。
[ATDE]$ sudo apt install nmap [ATDE]$ nmap -sT 192.168.10.100
また、main.shの中でvsftpdを起動していると推察しますが、
armadillo上で以下を実行したときの結果はどうなってますでしょうか。
[armadillo]# # ps ax | grep vsftpd
new_bee
佐藤様
お世話になっております。
PS C:\Users> nmap -sT 192.168.10.100
Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-09 10:38 東京 (標準時)
Nmap scan report for 192.168.10.100
Host is up (0.0019s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT STATE SERVICE
22/tcp open ssh
8080/tcp open http-proxy
58080/tcp open unknown
MAC Address: 00:11:0C:35:01:A2 (Atmark Techno)
ATDE上ではないのですが問題ないでしょうか?
PCから1対1でarmadilloと接続し確認したところ
portが空いてないようですね
以下コマンドはコンテナ内で間違いないでしょうか
ps ax | grep vsftpd
出力ができていないため
起動できなくなっているようです
docker file 内で
CMD ["/usr/sbin/vsftpd", "/etc/vsftpd/vsftpd.conf"]
実行していました。
Dockerfike
ARG ARCH FROM docker.io/${ARCH}/alpine:latest LABEL version="2.0.0" ARG PRODUCT COPY resources [r]esources_${PRODUCT} / ARG PACKAGES RUN apk update && apk upgrade \ && apk add --no-cache ${PACKAGES} RUN adduser -D -u 1000 -h /var/local atmark && \ echo "user:pass" | chpasswd && \ mkdir -p /var/local/get_image && \ chown -R atmark:atmark /var/local/get_image && \ chmod 755 /var/local/get_image EXPOSE 20 21 21100-21110 CMD ["/usr/sbin/vsftpd", "/etc/vsftpd/vsftpd.conf"]
一度main.sh での起動するように切換をしイメージを作成しSWUインストールしようと思います。
宜しくお願い致します。
> 佐藤です。
>
> > またPC側で実行したら
> > PS C:\Users\AC477> ftp 192.168.10.100
> > > ftp: connect :接続が拒否されました
> ありがとうございます。ポートが開いていないか vsftpd が起動していないかだと思われます。
> PC上でATDEは動かせる状況でしょうか。
> もしATDEを起動できるのであれば、ATDE上から以下を実行してもらえますでしょうか。
> これでポートが空いているかどうか確認できます。
>
> [ATDE]$ sudo apt install nmap > [ATDE]$ nmap -sT 192.168.10.100 >
>
> また、main.shの中でvsftpdを起動していると推察しますが、
> armadillo上で以下を実行したときの結果はどうなってますでしょうか。
>
> [armadillo]# # ps ax | grep vsftpd >
at_makoto.sato
new_bee
佐藤様お世話になっております。
main.sh にて
vsftpd /etc/vsftpd/vsftpd.conf
を実行するようにしたところ起動が確認できるようになりました。
またportが空いているのを確認できるようになりました。
Nmap scan report for 192.168.10.100 Host is up (0.0026s latency). Not shown: 996 filtered tcp ports (no-response) PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 8080/tcp open http-proxy 58080/tcp open unknown MAC Address: 00:11:0C:35:01:A2 (Atmark Techno) armadillo:~# ps ax | grep vsftpd 2459 atmark 0:00 vsftpd /etc/vsftpd/vsftpd.conf 2599 root 0:00 grep vsftpd
長い間お付き合い頂き誠に有難うございました。
またsshをブロックするコマンドを教えていただきましたが
> [armadillo]# rc-update del sshd > [armadillo]# persist_file -d /etc/runlevel/sshd を実行しようとすると armadillo:~# persist_file -d /etc/runlevels/ boot/ default/ nonetwork/ shutdown/ sysinit/ armadillo:~# persist_file -d /etc/runlevels/sshd Nothing to do, none of the requested files exist: /etc/runlevels/sshd /sshdが存在しないため?ssh接続ができる状態のままになってしまいます。 別途設定が必要なのでしょうか? また解除する際はhttps://armadillo.atmark-techno.com/forum/armadillo/24627 に記載されている以下で問題ないでしょうか? [armadillo ~]# rc-update add sshd [armadillo ~]# persist_file /etc/runlevels/default/sshd
お手数ですが解決方法をご教授いただけると助かります。
> 佐藤です。
>
> > 以下コマンドはコンテナ内で間違いないでしょうか
> > ps ax | grep vsftpd
> > 出力ができていないため
> > 起動できなくなっているようです
> " 3 root 0:00 vsftpd /etc/vsftpd/vsftpd.conf"
> のような出力がないのであれば起動していないと思います。
> 念の為の確認ですが、コンテナ内で手動で "vsftpd /etc/vsftpd/vsftpd.conf" を実行すると
> 起動しますでしょうか。
at_makoto.sato
佐藤です。
> またsshをブロックするコマンドを教えていただきましたが
> 別途設定が必要なのでしょうか?
すいません、コマンドがファイルパスが間違っておりました。
正しくは "persist_file -d /etc/runlevels/default/sshd" になります。
>
> また解除する際はhttps://armadillo.atmark-techno.com/forum/armadillo/24627
> に記載されている以下で問題ないでしょうか?
> [armadillo ~]# rc-update add sshd
> [armadillo ~]# persist_file /etc/runlevels/default/sshd
はい、こちらで問題ありません。
new_bee
at_makoto.sato
2025年7月7日 10時16分
佐藤です。
> 事象発生時の詳細ログ等を確認できるようでしたら確認したいのですが
> 確認する方法等ございますでしょうか?
> もしあるようでしたらご教授いただけると助かります。
/var/log/messages ファイルを添付していただけますでしょうか。