Bạn có thể truy cập các cổng trên máy chủ thông qua cổng mặc định bên trong hệ điều hành khách. (Thường có IP là 10.0.2.2
.)
Ví dụ: nếu bạn có một máy chủ web chạy trên cổng 8000 trên máy chủ của bạn ...
echo 'Hello, guest!' > hello
python -m SimpleHTTPServer 8000
Bạn có thể truy cập nó từ bên trong Vagrant VM tại 10.0.2.2:8000
(với điều kiện 10.0.2.2
là ip của cổng mặc định của khách):
vagrant ssh
curl http://10.0.2.2:8000/hello # Outputs: Hello, guest!
Để tìm IP của cổng mặc định bên trong hệ điều hành khách, hãy chạy netstat -rn
(hoặc ipconfig
trên máy khách Windows) và tìm hàng có IP đích là 0.0.0.0
(hoặc trường có nhãn "Cổng mặc định" trên 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
Bạn có thể trích xuất IP này theo lập trình với netstat -rn | grep "^0.0.0.0 " | tr -s ' ' | cut -d " " -f2
.
Nguồn: Cách kết nối với máy chủ PostgreSQL từ máy ảo ảo vagrant ; Kết nối với máy chủ từ hệ điều hành khách VirtualBox?