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

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

ただいまの
回答率

88.82%

[Vagrant]Ubuntu1804の名前解決に失敗します

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 893

kurokoSin

score 110

質問内容

Vagrantのプロビジョニング機能を使用してwgetでファイルを取得しようとしましたが、
ドメインが存在しない旨のエラーが出力されて、ファイルが取得できませんでした。

状況から察するに名前解決が不安定です。
(destroy、upを繰り返すと何回か名前解決に成功し、ファイルが取得できる時もあります。)
(1回のvagrant up の中で途中から名前解決に失敗することもあります。逆もあります。)

DNSの名前解決先を母艦(192.167.122.1)に固定できれば良いのかと想像しているのですが、
systemd-resolvedを使用する前提で向き先を固定するには、
Vagrantfileをどのように修正したらよろしいでしょうか。
プロビジョニングそのものを記述いただけると大変たすかります。

皆様のお知恵を拝借いたしたく。よろしくお願いいたします。

エラーメッセージ
control: wget: unable to resolve host address 'www.ubuntulinux.jp'

環境

母艦:Ubuntu 18.04.2 LTS
仮想マシンの制御用ソフト:libvirtd (libvirt) 4.0.0、Vagrant 2.0.2
子1:Ubuntu 18.04.2 LTS (ホスト名:control) 

$ vagrant box list
generic/ubuntu1804 (libvirt, 1.9.10)
generic/ubuntu1804 (libvirt, 1.9.12)

Vagrantfile

Vagrant.configure(2) do |config|

  # control-VM
  config.vm.define "control" do |control|
    control.vm.box = "generic/ubuntu1804"
    control.vm.hostname = "ansible-control"
    control.vm.network "private_network", ip: "192.168.121.101"

    control.vm.provider "libvirt" do |kvm|
      kvm.memory = 512
      kvm.cpus = 2
    end

    control.vm.provision "shell", inline: <<-SHELL
      # NG:DNS
      # systemctl disable systemd-resolved

      cd /tmp
      wget -nv https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg
      wget -nv https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg 
    SHELL
  end

end

エラー状況

pingの状況

母艦から

$ ping -a www.yahoo.jp
PING www.g.yahoo.co.jp (183.79.104.227) 56(84) bytes of data.
64 bytes from 183.79.104.227 (183.79.104.227): icmp_seq=1 ttl=54 time=14.3 ms
64 bytes from 183.79.104.227 (183.79.104.227): icmp_seq=2 ttl=54 time=13.4 ms
64 bytes from 183.79.104.227 (183.79.104.227): icmp_seq=3 ttl=54 time=13.7 ms
64 bytes from 183.79.104.227 (183.79.104.227): icmp_seq=4 ttl=54 time=14.3 ms
^C
--- www.g.yahoo.co.jp ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 13.428/13.969/14.358/0.405 ms


controlから

vagrant@ansible-control:/tmp$ ping 192.168.5.1
PING 192.168.3.1 (192.168.5.1) 56(84) bytes of data.
64 bytes from 192.168.5.1: icmp_seq=1 ttl=63 time=0.760 ms
64 bytes from 192.168.5.1: icmp_seq=2 ttl=63 time=0.675 ms
64 bytes from 192.168.5.1: icmp_seq=3 ttl=63 time=0.684 ms
^C
--- 192.168.5.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2043ms
rtt min/avg/max/mdev = 0.675/0.706/0.760/0.043 ms
vagrant@ansible-control:/tmp$ ping -a www.yahoo.jp
ping: www.yahoo.jp: Temporary failure in name resolution
vagrant@ansible-control:/tmp$ ping 183.79.104.227
PING 183.79.104.227 (183.79.104.227) 56(84) bytes of data.
64 bytes from 183.79.104.227: icmp_seq=1 ttl=53 time=14.0 ms
64 bytes from 183.79.104.227: icmp_seq=2 ttl=53 time=14.2 ms
64 bytes from 183.79.104.227: icmp_seq=3 ttl=53 time=13.7 ms
64 bytes from 183.79.104.227: icmp_seq=4 ttl=53 time=13.8 ms
64 bytes from 183.79.104.227: icmp_seq=5 ttl=53 time=14.1 ms
^C
--- 183.79.104.227 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 13.711/13.991/14.222/0.214 ms


名前解決のステータス

$ systemd-resolve --status
Global
         DNS Servers: 4.2.2.1
                      4.2.2.2
                      208.67.220.220
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 3 (eth1)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: yes
    DNSSEC supported: yes

Link 2 (eth0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: yes
    DNSSEC supported: no
         DNS Servers: 4.2.2.1
                      4.2.2.2
                      208.67.220.220
                      192.168.121.1
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

自己解決しました。
/etc/systemd/resolved.conf を編集し、グローバルと母艦のIPアドレスを参照するようにVagrantfileの編集し、無事起動できました。

    control.vm.provision "shell", inline: <<-SHELL
      # DNS config
      sed -i.bak -e "s/^DNS=.*$/DNS=8.8.8.8 203.119.1.1 150.100.6.8 192.168.122.1/g" /etc/systemd/resolved.conf
      systemctl restart systemd-resolved.service
    SHELL


DNS参照先は IANAのサイト(https://www.iana.org/domains/root/db/jp.html)を
参考にさせてもらいました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 88.82%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る