คุณสามารถเข้าถึงพอร์ตบนเครื่องโฮสต์ผ่านเกตเวย์เริ่มต้นภายในระบบปฏิบัติการของแขก (ซึ่งโดยทั่วไปจะมี IP เป็น10.0.2.2
)
ตัวอย่างเช่นหากคุณมีเว็บเซิร์ฟเวอร์ที่ทำงานบนพอร์ต 8000 บนเครื่องโฮสต์ของคุณ ...
echo 'Hello, guest!' > hello
python -m SimpleHTTPServer 8000
คุณสามารถเข้าถึงได้จากภายใน Vagrant VM ที่10.0.2.2:8000
(ที่ให้ไว้10.0.2.2
คือ ip ของเกตเวย์เริ่มต้นของแขก):
vagrant ssh
curl http://10.0.2.2:8000/hello # Outputs: Hello, guest!
ในการค้นหา IP ของเกตเวย์เริ่มต้นภายในระบบปฏิบัติการของแขกให้เรียกใช้netstat -rn
(หรือipconfig
บนผู้เยี่ยมชม Windows) และมองหาแถวที่มี IP ปลายทางเป็น0.0.0.0
(หรือฟิลด์ที่ชื่อ "เกตเวย์เริ่มต้น" บน Windows):
$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.33.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
คุณสามารถแยก IP นี้โดยทางโปรแกรมด้วยnetstat -rn | grep "^0.0.0.0 " | tr -s ' ' | cut -d " " -f2
ไฟล์.
แหล่งที่มา: วิธีการเชื่อมต่อกับโฮสต์ PostgreSQL จากเครื่อง VirtualBox คนจรจัด ; เชื่อมต่อกับเครื่องโฮสต์จาก VirtualBox guest OS หรือไม่