Saya punya konfigurasi ini:
config.vm.network "public_network", ip: "192.168.56.101", :mac => "0022334455DA"
Dan setelah vagrant up
ifconfig mencetak:
eth0 Link encap:Ethernet HWaddr 08:00:27:12:96:98
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe12:9698/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1141 errors:0 dropped:0 overruns:0 frame:0
TX packets:861 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:115407 (115.4 KB) TX bytes:98490 (98.4 KB)
eth1 Link encap:Ethernet HWaddr 00:22:33:44:55:da
inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::222:33ff:fe44:55da/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:319 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19236 (19.2 KB) TX bytes:648 (648.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Tapi saya masih tidak bisa mengakses server di 192.168.56.101
komputer saya atau yang lain di jaringan saya. Ketika konfigurasi itu, private_server
saya bisa mengakses alamat dari mesin saya.
ip route show
default via 10.0.2.2 dev eth0
default via 10.0.2.2 dev eth0 metric 100
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15
192.168.56.0/24 dev eth1 proto kernel scope link src 192.168.56.101
Ketika vm sedang berjalan, konfigurasi jaringan VB menunjukkan dua koneksi:
Adapter 1
Attached to: NAT
Adapter 2
Attached to: Bridged Adapter
Name: Intel Ethernet Connection
Jadi saya kira eth0 adalah NAT dan eth1 adalah koneksi yang dijembatani? yang Intel Ethernet Connection
merupakan kabel ethernet saya terhubung ke router.
Juga ketika saya membuka jaringan dan pusat berbagi, ia memberi tahu saya ada jaringan yang tidak dikenal dengan 2 koneksi: VirtualBox Host-Only Network
dan VirtualBox Host-Only Network #2
. Yang membingungkan karena saya sebenarnya mengatur Vagrant untuk menggunakan jaringan publik.
sumber
Jawaban:
Menggunakan ifconfig , saya menemukan bahwa netmask yang ditetapkan untuk mesin tamu berbeda dari antarmuka penghubung tuan rumah, jadi saya harus menentukannya secara manual. Setelah saya melakukan itu, VM dapat diakses di luar sistem host. Inilah entri Vagrantfile saya:
sumber
Jika saya harus menebak dari sejumlah kecil informasi ini, saya akan menunjuk ke tabel routing ... 10.0.2.15 eth0 nic mentransfer jauh lebih banyak data.
sumber
ip route show
dari vm akan menjadi awal yang baik ... maka kita perlu tahu apa yang dilampirkan oleh jaringan ini: "10.0.2.15 ditambahkan melalui perangkat lunak visualisasi yang dibagikan melalui host yang berada di router / modem dan 192.168. 56.101 adalah adaptor yang dihubungkan ke router / modem "dll.