Мне нужно иметь возможность настроить свою виртуальную машину для доступа с хоста (моего ноутбука) без маршрутизации через Интернет.
Прямо сейчас у меня есть машина virtualbox с hostonly адаптером vboxnet0
и NAT
. Виртуальная машина имеет статический IP-адрес 192.168.56.50. Я хочу, чтобы все запросы с хоста на IP-адрес 192.168.56.50 направлялись прямо на машину с виртуальной коробкой (с 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
После перезагрузки я мог подключиться к ВМ с хоста, и у моей ВМ был Интернет.