У меня есть выделенный сервер с Ubuntu 13.10
и базовой установкой с Virtualbox
и phpvirtualbox
для управления гостевыми ОС на нем. У меня есть два IP-адреса, указывающих на сервер, и я хотел бы использовать один из них исключительно для виртуальной операционной системы с Ubuntu 12.04
на ней.
Это означает, что каждый порт и т. Д. Будет проходить через хост-сервер и перенаправляться прямо на эту гостевую ОС.
Я рассмотрел различные сетевые методы в VirtualBox, но ни один из них мне не подходит.
Если я использую NAT и переадресацию портов, я могу настроить гостевой ПК так, чтобы он регистрировал звонки на эти порты только через этот 2-й IP, что отлично. Однако я не могу использовать любые стандартные порты, которые уже используются на хост-ПК, такие как SSH или 80, так как хост-компьютер использует их на обоих IP-адресах
Как я могу заставить хост-ОС просто передавать все на определенный гостевая ОС для определенного IP?
Я сделал это неправильно, и мне нужно использовать другой тип хостинга?
РЕДАКТИРОВАТЬ:
Из исследований и комментариев кажется, что мостом должен быть путь вперед, но я опять застрял, вот мой файл / etc / network / interfaces ..
# Loopback device:
auto lo
iface lo inet loopback
# device: eth0
auto eth0
iface eth0 inet static
address 1.2.3.4
broadcast 1.2.3.5
netmask 255.255.255.200
gateway 1.2.3.1
# default route to access subnet
up route add -net 1.2.3.6 netmask 255.255.255.220 gw 1.2.3.1 eth0
iface eth0 inet6 static
address 2a01:4f8:161:9442::2
netmask 64
gateway fe80::1
#create bridge using additional IP
auto br1
iface br1 inet static
address 2.3.4.5
netmask 255.255.255.220
gateway 2.3.4.1
broadcast 2.3.4.7
bridge_ports br1 vbox0 vbox1
Сервер - это Hetzner EX с дополнительным IP-адресом, который находится на том же MAC-адресе (я могу получить другой MAC-адрес от них, если это необходимо?)
С помощью вышеуказанных настроек я установил свой Win7 гостевая ОС должна быть подключена к br1 и установить статический ip в окнах с теми же настройками, т.е.
address 2.3.4.5
netmask 255.255.255.220
gateway 2.3.4.1
Но он не мог подобрать сеть.
Наконец, я добавил в / etc / vbox / interfaces:
vbox0 vbox br1
vbox1 vbox br1
После МНОГО проб и ошибок это, кажется, самый надежный вариант ...
http://wiki.hetzner.de/index.php/Netzkonfiguration_Debian/en#Bridged
В мостовой конфигурации пакеты отправляются напрямую. Гостевая система ведет себя как будто независимая. Поскольку это делает MAC-адреса гостевой системы видимыми извне, виртуальный MAC-адрес должен запрашиваться через робота Хетцнера и назначаться гостевой сетевой карте. Мост получает ту же конфигурацию сети, что и eth0. Конфигурация eth0 опущена без замены.
Получите отдельные MAC-адреса для каждого из дополнительных IP-адресов
Затем используйте это для хостов /etc/network/interfaces..
# remove or disable configuration for eth0
#auto eth0
#iface eth0 inet static
#
auto br0
iface br0 inet static
address (Main IP)
netmask (like eth0, e.g: 255.255.255.254)
gateway (same as that for the main IP)
bridge_ports eth0
bridge_stp off
bridge_fd 1
bridge_hello 2
bridge_maxage 12
Настройте гостевую ОС в virtualbox на использование мостовой сети и выберите br0, затем в дополнительных настройках установите mac сетевого адаптера на MAC-адрес, который Hetzner дал вам для нового IP (без каких-либо :)
Затем в гостевой ОС используйте эту ..
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address (ADD IP 1)
broadcast (FOR ADD IP 1)
netmask (FOR ADD IP 1)
gateway (MAIN IP)
dns-nameservers 8.8.8.8
Я следовал этим инструкциям с небольшим первоначальным успехом - br0 не появлялся на моей коробке Хетцнера.
Я нашел, что решение было:
sudo apt-get install bridge-utils
brctl addbr br0
Вам также может понадобиться удалить запись по умолчанию в /etc/udev/rules.d/70-persistent.net.rules
,
Конечно, вы должны увидеть, какой адрес Mac был выделен Вы Гетцнером (в Роботе) и затем:
VBoxManage modifyvm <VMName> --macaddress1 xxxxxxxxxx