Armadilloフォーラム

ネットワーク設定について

kitamura-a

2022年7月19日 20時34分

下記のコマンドにて一時的に静的アドレスを設定しました。

nmcli connection add type ethernet ifname eth0
nmcli connection modify ethernet-eth0 ipv4.method manual ipv4.addresses "192.168.11.35/24 192.168.11.1"
nmcli connection up ethernet-eth0

マニュアルを確認すると、設定を保存するための、下記コマンド
persist_file /etc/NetworkManager/system-connections/<コネクションファイル名>
がありますが、コネクションファイル名とはどれのことを指しますでしょうか。
また、設定が保存されるファイルはどのディレクトリのどのファイルになりますか。

よろしくお願いします。

コメント

at_dominique.m…

2022年7月20日 8時18分

kitamura-aさん、

お世話になっています、
アットマークテクノのマルティネです。

> nmcli connection add type ethernet ifname eth0
> nmcli connection modify ethernet-eth0 ipv4.method manual ipv4.addresses "192.168.11.35/24 192.168.11.1"
> nmcli connection up ethernet-eth0
>
> マニュアルを確認すると、設定を保存するための、下記コマンド
> persist_file /etc/NetworkManager/system-connections/<コネクションファイル名>
> がありますが、コネクションファイル名とはどれのことを指しますでしょうか。

ファイル名はデフォルトでは connection名と一致していますので、この場合では /etc/NetworkManager/system-connections/ethernet-eth0.nmconnection になってるはずです。
確認のため、「ls -l /etc/NetworkManager/system-connections」でディレクトリの中身を表示したらファイル名と最後に編集された時間が表示されますので、ethernet-eth0.nmconnection の編集時が nmcli connection modify の実行時になっていることを確認できます。

> また、設定が保存されるファイルはどのディレクトリのどのファイルになりますか。

Armadillo Base OS の rootfs は ext4 ファイルシステムを read-only にして、tmpfs (メモリファイルシステム)を overlay にして編集可能にしています。
編集されたファイルを保存することで、べーすになってるファイルシステムを一時的に書き込み可能にして、そちらに直接にコピーしているだけです。

今回はpersist_fileのあとに以下のパスで確認できると思います:
/live/rootfs/etc/NetworkManager/system-connections/ethernet-eth0.nmconnection

分からないことあったらまた聞いてください。

よろしくおねがいします。

マルティネさん

回答ありがとうございます。
下記のコマンドにて実行できました。
persist_file /etc/NetworkManager/system-connections/ethernet-eth0.nmconnection

表示結果
EXT4-fs (mmcblk2p1): re-mounted. Opts: (null)

但し、rebootするとethernet-eth0.nmconnectionのファイルの日付が、
root root 298 Jan 1 1970 ethernet-eth0.nmconnection

と表示され、元に戻っているようでした。当然、設定したipアドレスも無くpingも通らない。
persist_fileのコマンドにて再起動しても設定した情報が保存されると思っていましたがそうではないのでしょうか。

at_dominique.m…

2022年7月20日 10時08分

> 回答ありがとうございます。
> 下記のコマンドにて実行できました。
> persist_file /etc/NetworkManager/system-connections/ethernet-eth0.nmconnection
>
> 表示結果
> EXT4-fs (mmcblk2p1): re-mounted. Opts: (null)

これは一時的にベースのファイルシステムを書き込み可能にしているメッセージです。persist_file自体にメッセージを表示しませんが、「-v」オプションを指定したら以下のメッセージが表示されます:

'/etc/NetworkManager/system-connections/ethernet-eth0.nmconnection' -> '/mnt/etc/NetworkManager/system-connections/ethernet-eth0.nmconnection'

> 但し、rebootするとethernet-eth0.nmconnectionのファイルの日付が、
> root root 298 Jan 1 1970 ethernet-eth0.nmconnection

すみません、私の提案が今回適用しにくかったです。
再起動前には日付が正しかったでしょうか?
ネットワークを設定したことで、chronydというサービスで時間を取得できたはずですが、nmcli modifyを実行した時点ではまだ時間を取得できてないと思われます。そのため、1970年1月1日の日付になってますが、それ自体は問題ないはずですが…以下に書いた用に ip アドレスが設定されてなかったら何かがおかしいですね。

> と表示され、元に戻っているようでした。当然、設定したipアドレスも無くpingも通らない。

ねんのため、ファイルの中身を見せていただけますか?
シンプルなテクストファイルですので、以下の内容の用にIPが記載されてるはずです

armadillo:~# cat /etc/NetworkManager/system-connections/ethernet-eth0.nmconnection 
[connection]
id=ethernet-eth0
uuid=3b898512-535e-42ce-9b3c-0e8e85ce1071
type=ethernet
interface-name=eth0
 
[ethernet]
 
[ipv4]
address1=192.168.11.35/24,192.168.11.1
method=manual
 
[ipv6]
addr-gen-mode=stable-privacy
method=auto
 
[proxy]

また、こちらで試した時に「nmcli connection modify ethernet-eth0 ipv4.method manual ipv4.addresses "192.168.11.35/24 192.168.11.1"」でエラーが出ていて、マニュアルの「ipv4.addresses 192.168.11.35/24 ipv4.gateway 192.168.11.1」を実行したかったんでしょうか?

> persist_fileのコマンドにて再起動しても設定した情報が保存されると思っていましたがそうではないのでしょうか。

最初の理解であっています。persist_fileを実行したらファイルを再起動しても保存されてるはずです。

注意点としては、Base OSをアップデートするときにパーティション毎すべてを上書きしますので、/etc/swupdate_preserve_files に載っているファイル以外はなくします。ネットワークの設定はデフォルトのファイルに載ってますので今回では問題ありません。
また、普通の再起動にも影響ありませんので、この段階では無視していいです。
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

回答ありがとうございます。
原因はわかりませんが、3回程度同じ操作をおこない保存できるようになりました。
rebootをかけてもpingは通るようになりました。

評価機につき、返却期限が迫っている為他の検証を進めます。
対応ありがとうございました。
teratermでコマンドを取得していますので、別途時間を作ってみてみます。

at_dominique.m…

2022年7月20日 15時34分

了解しました。

同じ手順を3回繰り返す必要がないはずですので、
時間ができたらぜひ teraterm のログを送ってください。

よろしくお願いします。