Armadilloフォーラム

overlay 有効時の /etc/resolv.conf の指定方法

manabu-yoshioka-arc

2025年1月8日 11時17分

==========
製品型番:armadillo-iot-a6
Debian/ABOSバージョン:Linux armadillo 4.14-at65 #1 Mon Jan 29 14:43:02 JST 2024 armv7l GNU/Linux
カーネルバージョン:4.14-at65
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
ppp0 が有効になり、かつイーサネット接続を行っていないと、アルマジロ出荷の状態のままでインターネット上のサーバと通信できます。
しかし、イーサネットケーブルを差し込み、eth0 でも接続されると、/etc/resolv.conf が書き換えられて、かつ レゾルバできないのか インターネット上のサーバと通信できません。
都度、/etc/resolv.conf を書き換え google の 8.8.8.8 を設定するとインターネット上のサーバと問題なく通信できています。

ppp0 と eth0 それぞれが有効になるかもしれない場合で、かつ overlay を効かせた状態でのデフォルトの /etc/resolv.conf ファイルの指定方法を教えてください。
よろしくお願いします。

コメント

at_shota.shimoyama

2025年1月9日 13時42分

下山です。

こちらでも再現できました。
おっしゃるとおり、eth0が接続されると、/etc/resolv.confが上書きされてしまい、名前解決できないようです。

対策としては、一度overlay無しの状態にして、/etc/resolv.confの内容をデフォルトに変更し、

chattr +i /etc/resolv.conf

で/etc/resolv.confの内容を変更不可にするという方法があります。

このようにすることで、eth0を後から接続しても/etc/resolv.confの内容は変更されず、
インターネット上のサーバと問題なく通信できるはずなのですが、この方法はいかがでしょうか?

よろしくお願いします。

manabu-yoshioka-arc

2025年1月24日 20時09分

現場に出ていたためなかなか動作確認をすることができず報告が遅れてしまいました。申し訳ございません。

結論から報告させていただきますと、ご教授いただいた方法( /etc/resolv.conf ファイルを変更不可にする)で期待通りの動きをさせることができました。
ありがとうございました。

/etc/resolv.conf の状態:書き換え可能の場合

~$ lsattr /etc/resolv.conf
--------------e---- /etc/resolv.conf

ppp0 だけが UP の時の /etc/resolv/conf

~$ cat /etc/resolv.conf
nameserver 202.234.232.6
nameserver 221.113.139.250

しばらくして eth0 も UP になると

~$ cat /etc/resolv.conf
nameserver 192.168.3.1

書き換わっている。

- /etc/resolv.conf を変更不可にする。

~$ sudo chattr +i /etc/resolv.conf                                                                 
~$ lsattr /etc/resolv.conf
----i---------e---- /etc/resolv.conf

- イーサケーブルを抜いた状態で reboot
- ppp0 が UP 状態になり、eth0 が DOWN の状態。その時の /etc/resolv/conf

~$ cat /etc/resolv.conf
nameserver 202.234.232.6
nameserver 221.113.139.250

イーサケーブルを刺して、ppp0 が UP, eth0 も UP 状態。その時の /etc/resolv/conf

~$ cat /etc/resolv.conf
nameserver 202.234.232.6
nameserver 221.113.139.250

変わっていない。