У меня Vagrant VirtualBox VM под управлением Debian Linux. Я хочу подключиться изнутри виртуальной машины к другому хосту в моей частной сети (скажем, 192.168.25.111).

Моя сеть внутри виртуальной машины выглядит так:

$ 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

Я нашел много информации о том , как разрешить подключение в к виртуальной машине, но ничего о том , как подключить от VM к узлам сети.

1 ответ1

0

Хорошо, я нашел ответ. Оказывается это тривиально легко. Просто установите сетевой мостовой адаптер. Это позволит вашей виртуальной машине находиться в вашей локальной сети и общаться с внешним миром.

Vagrant.configure(2) do |config|
  config.vm.network "public_network", use_dhcp_assigned_default_route: true
end

Это отражается в моем netstat , показывая новый адаптер (eth1):

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.10.8    0.0.0.0         UG        0 0          0 eth1
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 eth1

Взято отсюда: https://www.vagrantup.com/docs/networking/public_network.html

В моем конкретном случае мне также пришлось настроить VPN, чтобы затем подключиться к нужному серверу, но это также возможно в мостовой сети.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .