インターネットに投稿されたDNSサーバーを追加する方法は3つ以上あります。私はネットプランのドキュメントを読んでいますが、まだDNSサーバーをラップトップに追加する方法について明確ではありません。私は検閲/監視のある国にいて、DNS情報を漏らしているVPNを使用しています。
少なくともネームサーバーをresolv.confに追加するのは簡単でした。これが、私が見つけたwifi接続でDNSを構成する最良の例です。 https://netplan.io/examples
network:
version: 2
renderer: networkd
wifis:
wlp2s0b1:
dhcp4: no
dhcp6: no
addresses: [192.168.0.21/24]
gateway4: 192.168.0.1
nameservers:
addresses: [192.168.0.1, 8.8.8.8]
access-points:
"network_ssid_name":
password: "**********"
この例では、アクセスするすべてのアクセスポイントを設定する必要があるように思われますが、そうでないことを本当に望んでいます。あなたの賢い人の1人がホーム/スモールビジネスユーザーのために現実的な例を投稿してください。
デスクトップユーザーが.yamlファイルを作成することを本当に期待していますか?ネームサーバーをファイルに入れて、それで終わりたいだけです。
ありがとうございました。
すべてのネットワークとインターフェース(つまりdhcpを使用している)で変更を永続的にすることがわかった唯一の方法は、/ etc/dhcp/dhclient.confに次の行を追加することです。
domain-name-servers 8.8.8.8,8.8.4.4を置き換える#必要なDNSサーバーに置き換える
ラップトップのデフォルトのネットプランレンダラーは、ネットワークではなくNetworkManagerです。したがって、通常、netplan yamlを編集するのではなく、nm-applet
を使用してDNS設定を構成します。
ただし、設定されたすべてのWi-Fi接続にオーバーライドDNSサーバーを指定することは非常にまれです。一般的なケースは、DHCPサーバーが提供するDNS情報を使用し、例外的な場合にのみそれを上書きすることです。そのため、利用可能なすべてのWiFi接続に対してDNSサーバーをオーバーライドする最適化された方法はありません。
ネットワーク接続を介して自動的に構成されたDNSサーバーとは異なるDNSサーバーを指すには、/ etc/resolv.confシンボリックリンクをrmし、必要な内容を含む実際のファイルに置き換えることができます。
私はまだ、/ etc/resolv.confを編集せずにCLIを使用してDNSネームサーバーを適切に追加する適切な方法を誰かが見つけるようにしています。
OK。私はそれを理解したと思う。
まず、/ etc/resolv.confは../run/systemd/resolve/stub-resolv.confへのシンボリックリンクです。そして、それを編集しないと述べているコメントは、../run/systemd/resolve/stub-resolv.confに関するものであり、/ etc/resolv.confに関するものではありません。
同じコメントは、/ etc/resolv.confシンボリックリンクを静的ファイルに置き換えることも示唆しています。だから私は答えは次のとおりだと思う:
Sudo rm /etc/resolv.conf
#ファイルを削除(シンボリックリンク)
echo "nameserver 1.1.1.1" | Sudo tee -a /etc/resolv.conf
#新しい静的ファイルを作成し、その中にDNSサーバーのアドレスを配置します。さまざまな属性でこの行を繰り返して、予備のアドレスを追加できます。
echo "options edns0" | Sudo tee -a /etc/resolv.conf
#このファイルの最後にこの行を追加します。それが何をするのかわからないが、それは私の元のファイルに存在するので、必要な場合に備えてこれをここに置いた。