私はOdroid C2を持っています-ARM用の18.04 Minimalを実行するシングルボードコンピューター。もともとはNetworkManager + systemd-resolvedを使用してネットワーク接続を管理していましたが、私はイーサネットのみを使用し、常に同じネットワークに接続しているため、少しやり過ぎになっているので、両方を無効にしてNetplanに移動しました。これが私の/etc/netplan/02-networkd.yamlです:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
ご覧のとおり、これは単純なDHCP構成です。これはその設定を使用した結果です:
# netplan ip leases eth0
ADDRESS=10.0.0.4
NETMASK=255.255.255.0
ROUTER=10.0.0.1
SERVER_ADDRESS=10.0.0.1
T1=7200
T2=12600
LIFETIME=14400
DNS=10.0.0.1
NTP=10.0.0.1
DOMAINNAME=vault
CLIENTID=fff75f76ac00020000ab11a7b5e398b7e20ac7
IPアドレスとすべてのインターフェイスパラメータが正しく設定されている。私が持っている唯一の問題はDNSにあります。リースにすべての必須情報が含まれていても、netplanが/etc/resolve.conf
を更新しないことがわかりました。
NetworkManagerを使用せずに、または解決せずにDHCPから受信したDNS情報を使用してNetplaneを更新/構成/etc/resolve.conf
する方法はありますか?ここにいくつかの追加情報があります:
# ls -lA /etc/resolv.conf
-rw-r--r-- 1 root root 20 Apr 21 00:13 /etc/resolv.conf
# cat /etc/resolv.conf
nameserver 10.0.0.1
search vault
Netplanがリゾルバー構成の管理をsystemd-resolvedに委任するのは、意図的な設計決定です。 dhcpクエリへの回答に基づいて/etc/resolv.confを直接管理するためのネットプランのサポートはありません。実際、systemd-networkdはこの情報をsystemd-resolvedに渡すことを期待しており、netplanはこの動作に依存しています。
よく見ます。ユーザーは/etc/resolv.confのシンボリックリンクを削除し、そこに手書きのファイルを配置しました。このシンボリックリンクが参照する3つの異なる場所が実際にあり、最も一般的な場所を紹介します...
terminal
...
cd /etc
#ディレクトリを変更
Sudo mv resolv.conf resolv.conf.BAK
#現在のresolv.confの名前をバックアップファイルに変更します
Sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
#標準のシンボリックリンクを再作成
注:/etc/resolv.confを手動で編集しないでください!
静的設定を試しましたか
/etc/NetworkManager/NetworkManager.conf
を編集し、systemd-resolved.service
を無効にします(この回答のように https://askubuntu.com/a/907249/719422 )。しかし、それだけでは不可欠ですが、改ざん防止のresolv.confを保証するものではありません。
これをSuperUserとして実行します。
echo nameserver 8.8.8.8 > /etc/resolv.conf
chattr -e /etc/resolv.conf
chattr +i /etc/resolv.conf