Назад | Перейти на главную страницу

Virtualbox пересылает конкретный ip гостю

У меня есть выделенный сервер с Ubuntu 13.10 установлен и базовая установка с Virtualbox и phpvirtualbox управлять гостевыми ОС на нем. У меня есть два IP-адреса, указывающих на сервер, и я хотел бы использовать один из них исключительно для виртуальной ОС, которая у меня есть с Ubuntu 12.04 в теме.

Это означает, что каждый порт и т. Д. Будет проходить через хост-сервер и перенаправляться прямо на эту гостевую ОС.

Я просмотрел различные сетевые методы на VirtualBox, но мне кажется, что ни один из них не подходит.

Если я использую NAT и переадресацию портов, я могу настроить гостевой компьютер на регистрацию вызовов только на эти порты через этот второй 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-адрес в Windows с такими же настройками, т.е.

address 2.3.4.5
netmask 255.255.255.220
gateway 2.3.4.1

Но он не мог найти сеть

Наконец, я добавил в / etc / vbox / interfaces:

vbox0 vbox br1
vbox1 vbox br1

Я задал этот вопрос на askubuntu.com здесь

https://askubuntu.com/questions/409862/virtualbox-forward-specific-ip-to-guest

Модификации, не стесняйтесь удалять один или два!

Вот способ решить проблему, хотя

После МНОГО проб и ошибок это кажется наиболее надежным вариантом ...

http://wiki.hetzner.de/index.php/Netzkonfiguration_Debian/en#Bridged

Мостовой режим В мостовой конфигурации пакеты отправляются напрямую. Гостевая система ведет себя как бы независимая. Так как это делает MAC-адреса гостевой системы видимыми извне, виртуальный MAC-адрес должен быть запрошен через робота Hetzner и назначен гостевой сетевой карте. Мост получает ту же конфигурацию сети, что и 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

Настройте гостевую ОС в виртуальном боксе для использования мостовой сети и выберите 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

Я бы предложил включить мост вместо использования NAT.

РЕДАКТИРОВАТЬ:

НО, если вы застряли при использовании NAT, вы можете использовать iptables:

iptables -A FORWARD -i eth0 -d VMIPADDRESS -p tcp --sport PORTTOFORWARD --dport DESTINATIONPORT -j ACCEPT

iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

ТАКЖЕ включите пересылку ipv4:

echo 1 > /proc/sys/net/ipv4/ip_forward

РЕДАКТИРОВАТЬ:

Попробуй это:

# Loopback device:
auto lo
iface lo inet loopback

# device: eth0
auto  eth0
iface eth0 inet manual


iface eth0 inet6 static
  address 2a01:4f8:161:9442::2
  netmask 64
  gateway fe80::1

  #create bridge using additional IP
  auto br0
    iface br0 inet static
    address 2.3.4.5
    netmask 255.255.255.220
    gateway 2.3.4.1
    broadcast 2.3.4.7
    bridge_ports eth0 vbox0 vbox1
    up route add -net 1.2.3.6 netmask 255.255.255.220 gw 1.2.3.1 br0

Ты можешь использовать NAT с участием Port Forwarding, чтобы передать все соединения от ОС хоста к гостевой ОС.

Вам нужно будет изменить настройки сети виртуальной машины, установить сетевой адаптер на NAT и изменить параметр переадресации портов. В параметре перенаправления портов виртуальной машины укажите, какой порт вы хотите перенаправить,

Например,

Если хотите порт SSH, укажите

Name : SSH 
Protocol : TCP 
Host IP : <your host ip>
Host Port : <your host SSH port>
Guest IP : <your guest ip>
Guest Port : <your guest port>