Virtualbox encaminhar ip específico para convidado

2

Eu tenho um servidor dedicado com Ubuntu 13.10 instalado e uma instalação básica com Virtualbox e phpvirtualbox para gerenciar os sistemas operacionais convidados nele. Eu tenho dois endereços IP apontando para o servidor e gostaria de usar um deles apenas para um SO virtual com Ubuntu 12.04 .

Isso significa que todas as portas, etc., passariam pelo servidor host e seriam encaminhadas diretamente para esse sistema operacional convidado.

Eu olhei os diferentes métodos de rede no VirtualBox, mas nenhum parece ser para mim.

Se eu usar o NAT e o encaminhamento de porta, posso configurar o PC convidado para registrar apenas chamadas para essas portas através desse segundo IP, o que é ótimo. No entanto, eu não posso usar quaisquer portas padrão que já estão em uso no PC host, como SSH ou 80 como o PC host usa-los em ambos os IPs

Como posso fazer com que o sistema operacional host passe tudo para um sistema operacional convidado específico para um IP específico?

Eu fiz isso errado e preciso usar um tipo de hospedagem diferente?

EDITAR:

A partir de pesquisas e comentários, parece que a ponte deve ser o caminho a seguir, mas novamente eu estou preso, aqui está o meu arquivo / 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

O servidor é um Hetzner EX com um IP adicional no mesmo endereço MAC (posso obter um MAC diferente deles, se necessário?)

Com as configurações acima, eu configurei meu sistema operacional Win7 como ponte para br1 e configurei o ip nas janelas para ser estático com as mesmas configurações, ou seja,

address 2.3.4.5
netmask 255.255.255.220
gateway 2.3.4.1

Mas não conseguiu pegar uma rede

Por fim, adicionei ao / etc / vbox / interfaces:

vbox0 vbox br1
vbox1 vbox br1
    
por fiscme 23.01.2014 / 01:38

3 respostas

1

Eu fiz esta pergunta em askubuntu.com aqui

link

Mods, sinta-se à vontade para excluir um ou outro!

Aqui está a maneira de resolver o problema embora

Depois de muita tentativa e erro, esta parece ser a opção mais confiável ...

link

Bridged With a bridged configuration, packets are sent directly. The guest system behaves as if independent. As this makes the MAC addresses of the guest system visible from the outside, a virtual MAC address needs to be requested via the Hetzner Robot and assigned to the guest network card. The bridge gets the same network configuration as eth0. The configuration of eth0 is omitted without replacement.

Obtenha endereços MAC separados para cada um dos IPs adicionais

Em seguida, use isso para os hosts / 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

Configure o SO Convidado no VirtualBox para usar uma rede em ponte e selecione br0. Em configurações avançadas, defina o mac do adaptador de rede para o endereço MAC que a Hetzner forneceu para o novo IP (sem qualquer:)

Em seguida, no sistema operacional convidado, use isto ...

# 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
    
por 08.02.2014 / 23:42
1

Eu sugeriria a ativação de bridging em vez de usar o NAT.

EDITAR:

MAS se você estiver preso usando o NAT, você pode usar o 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

TAMBÉM, habilite o encaminhamento de ipv4:

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

EDITAR:

Tente isto:

# 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
    
por 24.01.2014 / 00:50
0

Você pode usar NAT com Port Forwarding para passar todas as conexões do sistema operacional do host para o sistema operacional convidado.

Você precisará editar a configuração de rede da máquina virtual, definir o adaptador de rede como NAT e editar a opção de encaminhamento de porta. Na opção de encaminhamento de porta da VM, especifique qual porta você deseja encaminhar,

Por exemplo,

Se desejar porta SSH, especifique

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> 
    
por 23.01.2014 / 03:42