
Ubuntu Server 18.04 を数週間稼働させています。しばらくの間、ネットワーク インターフェイスが接続されませんでした。最終的に、適切な netplan YAML ファイルの設定ができました。これで、ネットワーク上の別のコンピューターから、ホスト名ではなくサーバーの IP に ping でき、ドメイン名ではなく外部の IP にも ping できます。前述のように、ドメイン名は使用できません。そのため、 や などの操作ping google.com
がsudo apt update
失敗します。DNS の問題だと思いますが、100% 確信はありません。
の結果ping google.com
:
ping: google.com: Temporary failure in name resolution
の結果sudo apt update
:
Err3: http://archive.ubuntu.com/ubuntu bionic InRelease
Temporary failure in resolving 'archive.ubuntu.com'
更新時にさらにいくつかのエラーが発生しますが、それらはすべて 'archive.ubuntu.com' を解決できません。
私のネットプランファイルは次のとおりです/etc/netplan/01-netcfg.yaml
:
network:
version: 2
renderer: networkd
ethernets:
enp0s25:
dhcp4: no
dhcp6: no
addresses: [192.168.1.40/22]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.4.4, 8.8.8.8, 1.1.0.0, 1.1.1.1]
について話している投稿や記事をたくさん見てきました/etc/resolv.conf
が、私のものは常に存在しませんでした。cat
コンテンツを表示しようとすると、エラーが発生しますno such file or directory
。これが私の問題だと思いますが、何が間違っているのか理解するには Linux ネットワークについて十分に理解していません。
へのシンボリック リンクを作成または修正することでこの問題を解決できた人もいます/etc/resolv.conf
。ただし、彼らはrun/systemd/resolve/resolv.conf
、、、/run/resolvconf/resolv.conf
およびその他のファイルを使用しています。これらのファイル/サービスは私のマシンには存在しません。 に/run
あるネットワーク関連のファイルは 1 つだけです/run/systemd/network/10-netplan-enp0s25.network
。その内容は次のとおりです。
[Match]
Name=enp0s25
[Network]
LinkLocalAddressing=ipv6
Address=192.198.1.40/22
Gateway=192.168.1.1
DNS=8.8.4.4
DNS=8.8.8.8
DNS=1.1.0.0
DNS=1.1.1.1
/etc/resolv.conf
からへのシンボリック リンクを作成しました/run/systemd/network/10-netplan-enp0s25.network
。 の内容はresolv.conf
とまったく同じです10-netplan-enp0s25.network
。
マシンを構成するために他に何をする必要があるのかわかりません。これまでに見つけたものはすべて矛盾しており、役に立ちませんでした。
答え1
Ubuntu 18.04 システムでは、パッケージがインストールされていない限り(新しいシステムでは推奨されません)、 は/etc/resolv.conf
常に へのシンボリックリンクになります。パッケージがインストールされている場合は、 へのシンボリックリンクになります。が存在しない場合は、サービスが実行中であることを確認します ( )。アクティブでない場合は、サービスを有効にして起動します ( )。これで問題が解決するはずです。/run/systemd/resolve/stub-resolv.conf
resolvconf
/run/resolvconf/resolv.conf
/run/systemd/resolve/stub-resolv.conf
systemd-resolved
systemctl status systemd-resolved
sudo systemctl enable systemd-resolved && sudo systemctl start systemd-resolved