DNS サーバーを非永続的に変更する (コマンドライン)

DNS サーバーを非永続的に変更する (コマンドライン)

ディスク上で何も変更せずに、コマンドラインで DNS サーバーを変更する方法はありますか?

最近、レスキュー セッションを起動し、IP アドレス (DHCP を使用) を取得しましたが、DNS サーバーを取得できませんでした。ネットワーク構成は通常、nm-appletデスクトップ セッションで行われ、 では行われないため/etc/network/interfaces、このレスキュー セッション専用の DNS サーバーを提供して、ディスクに何も書き込まないようにしたいと考えています。

これは通常、 を編集することで可能です/run/resolvconf/resolv.confが、resolvconfUbuntu 14.04 レスキュー セッションでは実行されていないようです。

ファイルを編集せずにインターフェイスを構成できるネットワーク構成に似たものがあることを期待していました。

# ifconfig eth0 192.168.2.5 netmask 255.255.255.0
# route add default gw 192.168.2.1

Ubuntu 14.04 のレスキュー セッションで DNS に対してこれを行う方法はありますか?

答え1

私はこれを行う方法を見つけました:

DNS サービスを停止します (もっと巧妙な方法があるかもしれません)

# killall dnsmasq

目的のアップストリーム サーバーを使用してサービスを再起動します。

# dnsmasq --server=192.168.2.1

新しい Ubuntu ( を搭載したものsystemd) では次のようになります。

# systemd-resolve -i enp0s31f6 --set-dns=192.168.2.1  # --set-dnssec=true

確認する:

# systemd-resolve --status

答え2

このディレクトリに移動し、/etc/resolvconf/resolv.conf.d su権限でviまたはvimを使用してヘッドファイルを編集します。

sudo vi /etc/resolvconf/resolv.conf.d/head

ファイルに次の行を追加します

nameserver *DNS server IP*

ファイルを保存し、resolvconfユーティリティを使用して、次のコマンドで入力した静的DNSサーバーアドレスを設定します。

sudo resolvconf -u

答え3

これを機能させるために、PC で ping を実行して取得した IP アドレスをファイルau.archive.ubuntu.comに追加しました。/etc/hosts

そして実行しapt updateたら解決しました。

関連情報