Seltsame Netzwerkprobleme mit Vagrant, VirtualBox, Ansible und Ubuntu Server Box

7

Wir verwenden Vagrant und Ansible, um VirtualBox- Maschinen bereitzustellen .

Es funktioniert gut, aber vor kurzem haben wir damit begonnen , einige seltsamen Netzwerkprobleme mit Aufgaben zu begegnen, die den Internetzugang benötigen, wie: apt-get update, composer update, gem installusw. Diese Probleme von Zeit zu Zeit auftauchen und sie sind instabil. Manchmal kann keine Verbindung zu einem Server hergestellt werden, oder der Domänenname wird nicht aufgelöst.

Interessanterweise ist es, wenn ich über SSH ( vagrant ssh) eine Verbindung zur Box selbst herstelle und solche Befehle manuell erteile, wie sudo apt-get update; sudo apt-get dist-upgrade- es funktioniert die ganze Zeit gut.

Hier ist der Beispielfehler mit NPM:

failed: [localhost] => {"cmd": "/usr/bin/npm install --global npm-check-updates", "failed": true, "rc": 1}
stderr: npm http GET https://registry.npmjs.org/npm-check-updates
npm http GET https://registry.npmjs.org/npm-check-updates
npm http GET https://registry.npmjs.org/npm-check-updates
npm ERR! network getaddrinfo ENOTFOUND
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

Hier ist der Beispielfehler mit APT:

failed: [localhost] => {"failed": true, "parsed": false}
invalid output was: SUDO-SUCCESS-qryiheatxowjxtcfbzrnzercnnwxtmyv
Traceback (most recent call last):
  File "/home/vagrant/.ansible/tmp/ansible-tmp-1405611978.79-161922279792225/apt", line 1762, in <module>
    main()
  File "/home/vagrant/.ansible/tmp/ansible-tmp-1405611978.79-161922279792225/apt", line 492, in main
    cache.update()
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 440, in update
    raise FetchFailedException(e)
apt.cache.FetchFailedException: W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/Release.gpg  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/Release.gpg  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/main/i18n/Translation-en_US  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/main/i18n/Translation-en  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/main/i18n/Translation-en_US.UTF-8  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/universe/i18n/Translation-en_US  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/universe/i18n/Translation-en  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/universe/i18n/Translation-en_US.UTF-8  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/i18n/Translation-en_US  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/i18n/Translation-en  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/i18n/Translation-en_US.UTF-8  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/universe/i18n/Translation-en_US  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/universe/i18n/Translation-en  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/universe/i18n/Translation-en_US.UTF-8  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/main/source/Sources  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/universe/source/Sources  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/main/binary-i386/Packages  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/universe/binary-i386/Packages  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/source/Sources  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/universe/source/Sources  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-i386/Packages  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, W:Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/universe/binary-i386/Packages  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
, E:Some index files failed to download. They have been ignored, or old ones used instead.

Softwareversionen :

  • ansible 1.6.6
  • Vagrant 1.6.3
  • VirtualBox 4.3.14

Wir verwenden das folgende Feld:

http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-i386-vagrant-disk1.box

Host-Betriebssystem ist Ubuntu 14.04 .

Wir stoßen auf solche Probleme mit unterschiedlichen Computern in absolut unterschiedlichen Netzwerken (unterschiedlichen Städten).

Was kann der Grund dafür sein? Wie debuggen wir es und beheben es?

Update Nr. 1

Vagrantfile:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# "2" is an API version here.
Vagrant.configure("2") do |config|

  config.vm.box = "trusty32"
  config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-i386-vagrant-disk1.box"

  config.vm.hostname = "wa.local"
  config.vm.network "private_network", ip: "192.168.2.2"

  # Using NFS for now, cause native sharing is broken
  config.vm.synced_folder ".", "/vagrant", nfs: true

  # Provisioning
  config.vm.provision "ansible" do |ansible|
    ansible.host_key_checking = false
    ansible.inventory_path = "ansible/inventory.ini"
    ansible.playbook = "ansible/vagrant.yml"
    ansible.limit = "all"
  end

  # Provider Configuration: VirtualBox
  config.vm.provider :virtualbox do |vb|
    # Setting RAM to 1 GB
    vb.memory = 1024
    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  end

end

Update Nr. 2

Das Problem ist vorerst weg. Ich weiß immer noch nicht, warum es überhaupt passiert ist. Vielleicht hat die Zeile vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"], die ich kürzlich zu Vagrantfile hinzugefügt habe, geholfen.

Danke für alle Vorschläge!

Slava Fomin II
quelle
Kannst du dein Vagrantfile posten?
MSumulong
@ MSumulong, ich habe meine Frage aktualisiert.
Slava Fomin II
Haben Sie eine funktionierende IPv6-Internetverbindung über diese Boxen? Wenn nicht, sollten Sie untersuchen, warum Ihre Boxen ubuntu.com über einen AAAA-Eintrag auflösen, und / oder versuchen, ipv6 auf der Box zu deaktivieren und erneut zu testen.
sjw
Danke @sjw für deinen Vorschlag! Das ist eine interessante Idee. Ich werde versuchen, dies zu untersuchen, wenn dieses Problem erneut auftritt.
Slava Fomin II
Ich habe das gleiche Problem, und nein, das Deaktivieren von IPv6 hat dieses Problem nicht
behoben

Antworten:

1

Haben Sie Intrusion Prevention-Geräte oder Firewalls, die Probleme verursachen könnten? Ich habe gesehen, dass Automatisierungsmethoden Regeln auslösen, die zur Bekämpfung von Bots entwickelt wurden. Zahlreiche Verbindungen können als Port-Scans, Brute-Force-Versuche usw. falsch interpretiert werden. IDS / IPS / Firewalls werden dann Pakete verwerfen, was dazu führt, dass seltsame Dinge ohne klare Logik fehlschlagen. Diese Regeln werden nicht ausgelöst, wenn Sie Dinge manuell ausführen, sodass bei der Fehlerbehebung alles in Ordnung zu sein scheint.

Christopher Karel
quelle
Danke für Ihre Antwort! Das ist sicher eine interessante Idee. Ich glaube jedoch nicht, dass wir eines dieser Sicherheitssysteme haben.
Slava Fomin II
0

5 Jahre später und Versionen bis

  • Vagrant 2.2.4
  • Virtualbox 6.0.8

Ich habe immer noch die gleichen Probleme. vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]ist bereits in der Vagrant-Datei und im Moment bin ich völlig ratlos, was ich sonst noch tun soll

Nach dem, was ich bisher vermutet habe, scheint es sich um ein DNS-Problem in der VM zu handeln

Dominik Ehrenberg
quelle
Also haben wir tiefer gegraben und dies scheint ein Problem im Zusammenhang mit IPv6 und DS-Lite zu sein. Wenn Sie einen Anbieter haben, der DS-lite verwendet, prüfen Sie, ob Sie ihn deaktivieren oder VPN verwenden können, um Ihren gesamten Datenverkehr durch ihn zu
leiten