web-dev-qa-db-fra.com

Cant ping une virtualbox créée en utilisant NAT

J'ai donc créé sur ma machine hôte (Ubuntu 17.10) une machine virtuelle avec VirtualBox + Vagrant + Ansible.

Vagrant.configure("2") do |config|

  config.vm.box = "centos-7.3-x86_64_latest.box"
  config.vm.box_url = "http://nas.my-compamy.intern/centos-7.3-x86_64_latest.box"

  config.vm.hostname = "login.my-cloud.dev"
  config.vm.network "private_network", ip: "192.168.33.240"

  # enable to use synced folders
  # config.vm.synced_folder "/my/local/path", "/var/www/cce_login", disabled: true

  config.ssh.forward_agent = true
  config.ssh.keep_alive = true
  config.ssh.username = "vagrant"
  config.ssh.password = "vagrant"

  config.vm.provider :virtualbox do |v|
    # workaround as some virtualbox version seem to disconnect the NAT adapter
    v.customize ['modifyvm', :id, '--cableconnected1', 'on']

    v.memory = 1024
    v.cpus = 2
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    v.customize ["modifyvm", :id, "--name", "login.cce-cloud.dev"]
    v.customize ["modifyvm", :id, "--accelerate3d", "off"]
    v.customize ["modifyvm", :id, "--accelerate2dvideo", "off"]
    v.customize ["modifyvm", :id, "--cpuexecutioncap", "75"]
    v.customize ["modifyvm", :id, "--largepages", "on"]
  end

  config.vm.provision "ansible" do |ansible|
    ansible.playbook = "ansible/site.yml"
    ansible.verbose = "vvv"
  end

end

J'apporte cette machine via

$ vagrant up --provision

Après tout cela, je peux me connecter à SSH via Vagrant comme ceci.

$ vagrant ssh

mais lorsque je veux l'utiliser depuis MySQL Workbench, un accès FTP ou SSH direct, j'obtiens une erreur. Je ne peux même pas cingler la machine .

$ ping 192.168.33.240

PING 192.168.33.240 (192.168.33.240) 56(84) bytes of data.
From 192.168.33.1 icmp_seq=1 Destination Host Unreachable
From 192.168.33.1 icmp_seq=2 Destination Host Unreachable
From 192.168.33.1 icmp_seq=3 Destination Host Unreachable

N'ayant pas la permission de modifier le fichier Vagrantfile à partir de l'équipe DevOps, j'ai supposé que l'erreur devait se situer quelque part dans la configuration de mon ordinateur hôte, mais je n'arrive pas à comprendre le problème.

$ ifconfig 

enxdc9b9cee07b2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.111.198  netmask 255.255.255.0  broadcast 192.168.111.255
        inet6 fe80::f0ad:1d52:8e55:7fc7  prefixlen 64  scopeid 0x20<link>
        ether dc:9b:9c:ee:07:b2  txqueuelen 1000  (Ethernet)
        RX packets 11159  bytes 4878538 (4.8 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8289  bytes 2106425 (2.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<Host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1607  bytes 173261 (173.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1607  bytes 173261 (173.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vboxnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.33.1  netmask 255.255.255.0  broadcast 192.168.33.255
        inet6 fe80::800:27ff:fe00:0  prefixlen 64  scopeid 0x20<link>
        ether 0a:00:27:00:00:00  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 170  bytes 18067 (18.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Comment puis-je modifier la configuration de mon système d'exploitation hôte afin qu'il atteigne le système virtuel?

Remarque: le enxdc9b9cee07b2 est ma connexion câblée. Je sais que c'est généralement eth0 mais j'utilise un adaptateur pour un port USB

Mettre à jour

Plus d'informations

enter image description here

enter image description here

enter image description here

1

J'ai finalement trouvé la solution moi-même.

Apparemment, la version pré-installée avec Ubuntu n’est pas le DEB officiel d’Oracle.

Ce que j'ai fait est de sauvegarder mes machines virtuelles dans un dossier de sauvegarde temporaire, puis de supprimer Vagrant et Virtualbox, puis télécharger le fichier deb officiel depuis leur site Web.

Une fois que j'ai démarré les machines, elles fonctionnaient sans problème.

0

Les seules configurations réseau permettant à l'hôte de communiquer avec l'hôte VM sont les modes hôte uniquement et ponté. Il existe un tableau ici qui indique les différents types de réseau et s’il peut accéder à l’hôte, à d’autres ordinateurs virtuels, à Internet, etc. Seul le mode ponté permet d’obtenir un accès complet au réseau, mais tire généralement une adresse IP de votre serveur DHCP. que vous ne voulez probablement pas dans cette situation.

Vous pouvez contourner ce problème en disposant de 2 réseaux pour répondre à vos besoins, NAT et hôte uniquement.

0
rtaft