
Мне нужно настроить мою машину virtualbox для доступа с хоста (моего ноутбука) без маршрутизации через Интернет. Сейчас у меня есть машина virtualbox с адаптером hostonly vboxnet0
и NAT
. Виртуальная машина имеет статический IP-адрес 192.168.56.50. Я хочу, чтобы все запросы с хоста на IP-адрес 192.168.56.50 направлялись напрямую на машину virtualbox (с IP-адресом 192.168.56.50). Я не могу использовать мостовой интерфейс, поскольку Интернет на хосте ограничен и не всегда сохраняется.
решение1
Проблема была в том, что у меня не было правильной маршрутизации на виртуальной машине. Мой первый интерфейс (только хост) имеет конфигурацию:
/etc/sysconfig/network-scripts/ifcfg-eth0:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPV6_PRIVACY="no"
IPADDR=192.168.56.50
NETMASK=255.255.255.0
PEERDNS=no
DNS1=8.8.8.8
DNS2=8.8.4.4
ZONE=public
Мой второй интерфейс (NAT) имеет следующую конфигурацию:
/etc/sysconfig/network-scripts/ifcfg-eth1:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
DEVICE=eth1
ONBOOT=yes
PEERDNS=no
Итак, у моей виртуальной машины был Интернет, но я не мог подключиться к виртуальной машине с хоста. После этого я попробовал добавить GATEWAY=192.168.56.1
в eth0
и это исправило проблему с хостом (я мог подключиться к виртуальной машине с хоста), но у меня не было Интернета. Вот почему я удалил GATEWAY=192.168.56.1
и eth0
добавил ручной маршрут для интерфейса только для хоста.
/etc/sysconfig/network-scripts/route-eth0:
192.168.56.0/24 via 192.168.56.1 dev eth0
После перезагрузки я смог подключиться к виртуальной машине с хоста, и на моей виртуальной машине появился Интернет.