ディスク上で何も変更せずに、コマンドラインで DNS サーバーを変更する方法はありますか?
最近、レスキュー セッションを起動し、IP アドレス (DHCP を使用) を取得しましたが、DNS サーバーを取得できませんでした。ネットワーク構成は通常、nm-applet
デスクトップ セッションで行われ、 では行われないため/etc/network/interfaces
、このレスキュー セッション専用の DNS サーバーを提供して、ディスクに何も書き込まないようにしたいと考えています。
これは通常、 を編集することで可能です/run/resolvconf/resolv.conf
が、resolvconf
Ubuntu 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
たら解決しました。