Home Vagrant How To Find Vagrant Machine IP Address From Host

How To Find Vagrant Machine IP Address From Host

By sk
12K views

Generally, we can find the IP address of a Linux machine using ip command or ifconfig command in the older Linux distributions. It doesn't matter whether it is a physical or a virtual machine. If we have access to the system, we could easily view its IP address with ip or ifconfig commands. How do you find a Vagrant machine IP address, without logging into it?

One way to find the IP address of a Vagrant box is to first log in to the Vagrant machine via ssh using command:

$ vagrant ssh

And then run use ip or ifconfig or hostname commands:

$ ip a

Or,

$ ifconfig

Or,

$ hostname -I

This is the usual way to find the IP address of a Vagrant machine.

However, it is not necessary though. We can actually obtain the local network IP address for a VM running on Vagrant, without even having to ssh into it.

Find Vagrant machine IP address

First, you need to find the ID of the running Vagrant virtual machine using command:

$ vagrant global-status

Sample output:

id       name    provider state   directory                           
----------------------------------------------------------------------
f4904ad  default libvirt shutoff /home/sk/Vagrant/Archlinux          
831f9c0  default libvirt shutoff /home/sk/Vagrant/Gentoo             
3587422  default libvirt shutoff /home/sk/Vagrant/Rhel8              
b2279ad  default libvirt running /home/sk/Vagrant/Almalinux8         
 
The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date (use "vagrant global-status --prune" to prune invalid
entries). To interact with any of the machines, you can go to that
directory and run Vagrant, or you can use the ID directly with
Vagrant commands from any directory. For example:
"vagrant destroy 1a2b3c4d"

As you see in the above output, AlmaLinux vagrant box is currently running and its ID is b2279ad.

To find this Vagrant machine's IP address, simply run:

$ vagrant ssh-config b2279ad

Sample output:

Host default
  HostName 192.168.122.143
  User vagrant
  Port 22
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/sk/Vagrant/Almalinux8/.vagrant/machines/default/libvirt/private_key
  IdentitiesOnly yes
  LogLevel FATAL
Find Vagrant Machine IP Address
Find Vagrant Machine IP Address

As you can see in the above output, the IP address of AlmaLinux 8 machine running on Vagrant is 192.168.122.143.

Similarly, you can find the other running Vagrant boxes' IP address as well.

For more details about Vagrant command usage, refer the following guide:

Bonus tip

I came across a discussion in Stack overflow. There are many solutions given to find the IP address of Vagrant box in that thread.

One of the easiest way is to go to the Vagrant machine's project directory and run the following command:

$ vagrant ssh -c "hostname -I | cut -d' ' -f2" 2>/dev/null

Hope this helps.

You May Also Like

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. By using this site, we will assume that you're OK with it. Accept Read More