質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

VMware

VMwareとは、 ハードウェアで動作するOS上で仮想マシンを作成、実行するソフトウェアです。 Windows上でUNIX系OSを動作させたり、他のOS上で別の仮想OSを動作することが可能です。

Q&A

解決済

2回答

1918閲覧

名前解決でエラーが発生

退会済みユーザー

退会済みユーザー

総合スコア0

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

VMware

VMwareとは、 ハードウェアで動作するOS上で仮想マシンを作成、実行するソフトウェアです。 Windows上でUNIX系OSを動作させたり、他のOS上で別の仮想OSを動作することが可能です。

0グッド

0クリップ

投稿2017/05/23 05:59

編集2017/05/24 01:54

VMware Fusion 上に Ubuntu 16.04 日本語リミックスをインストールして使用しています。

この仮想マシン上で名前解決を行う場面でエラーがでることが、結構な頻度であります。連続して行ったときには 2 回目以降は正常に名前解決できているようです。

$ nslookup www.yahoo.com
Server: 127.0.0.1
Address: 127.0.0.1#53

** server can't find www.yahoo.com: REFUSED

のようになります。続けて同じコマンドを実行すると正常に名前解決されます。
apt で update するようなときや npm で install するときも発生します。

仮想マシンのネットワークインタフェースは

  • インターネット共有 -> Mac を共有
  • ブリッジされたネットワーキング -> 自動検出

で試しましたが、変化はありませんでした。

-- 追記

/etc/resolv.conf の内容は

$ cat /etc/resolv.conf

Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 127.0.1.1

で、/etc/network/interfaces に名前解決関連の追記はしていません。

(行頭の # で文字が大きくなってしまうので、行頭に空白文字を入れています)

-- 追記

/etc/resolv.conf で、nameserver 127.0.1.1 とあるので、おそらく dnsmasq というものを使っているんだろうなと検索していて思ったので、127.0.0.1 を参照しなければ良いかと

nameserver 8.8.8.8

と書き換えてみたが、書いてある通り、

nameserver 127.0.1.1

に戻っていました。どうも /etc/network/interfaces にネームサーバの設定を書くのが良いという Web ページが多かったのでファイルを開いてみると、ifconfig で出てくる ens33 というインタフェースが書かれていない。/etc/network/interfaces.d/ の中にもファイルは無く、どうもネットワーク関連をいろいろ調べる必要がありそうです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/05/23 06:42

/etc/resolv.confの内容を追記して頂けますか?
退会済みユーザー

退会済みユーザー

2017/05/24 01:55

追記しました。
退会済みユーザー

退会済みユーザー

2017/05/24 07:44

ありがとうございました。
guest

回答2

0

最終的な解決方法について、まとめました。

まず、Network Manager で設定されている DNS masquerade を使う設定を外しました。

/etc/NetworkManager/NetworkManager.conf の中の dns=dnsmasq の行をコメントにしました(行の先頭に # を挿入して #dns=dnsmasq とした)。

次に、画面右上のネットワーク接続をクリックして「接続を編集する」を選択。開いたウインドウで使用しているネットワークインタフェースを選択した状態で「編集」ボタンをクリック。
「●●の編集」ウインドウが開くので、「IPv4 設定」タブを選択して「DNS サーバー」テキストボックスに「8.8.8.8,8.8.4.4」と入力し、「保存」ボタンをクリック、「close」ボタンをクリックで設定完了。

これで、/etc/NetworkManager/system-connections/<接続名> というファイルに「dns=8.8.8.8;8.8.4.4;」という行が追加されたようです。再起動後の /etc/resolv.conf にも

nameserver 8.8.8.8
nameserver 8.8.4.4

が追加された状態になりました。あと、IPv6 を使わない設定も行いました。

現在、快適に使えています。

投稿2017/05/31 01:44

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

通常はDHCPというものからDNSが割り振られて、ブラウザ等127.0.0.1で動いているdnsmasqというDNS鯖ルーター等で動いているDNS鯖8.8.8.8等の上位のDNS鯖という順番で名前解決をします。
しかしどうやらうまく動いていないようなので、最適な手段としてはGUIのネットワークアプレットからWifiやLANにDNSサーバーの設定を手動でするのをおすすめします。
それでもできない場合は無理やり/etc/rosolv.confを書き換える方法もありますがとりあえず上記を試してみてください。

投稿2017/05/24 07:48

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/05/25 00:16

しばらく、それで試してみて結果を書き込みます。
退会済みユーザー

退会済みユーザー

2017/05/25 10:36

わかりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問