Eu tenho um host do Windows 7 lidando com um convidado debian do VirtualBox com nat. Este convidado está executando alguns serviços da web acessíveis externamente por meio de redirecionamento de porta.
Preciso fornecer acesso externo a esses serviços por meio de URLs, mas não posso contar com uma resolução de DNS adequada, então tenho que propagar o IP do host para o ambiente convidado. Como eu poderia fazer isso com o mínimo impacto no host?
Alguns esclarecimentos: "externo", "acesso externo" refere-se a navegadores hospedados no mesmo nível do host, ou seja. eles não podem confiar apenas no endereço do host.
Um desenho vale mais que mil palavras:
+--------------+ External
| Windows Host | network +---------------------+
| +----+ | | Web client |
| | | NAT | +----------------+ |
| | ------------------------> Page generated | |
| | | | | |by VM with URLs | |
| | VM | | | |to host | |
| | | | | +--------|-------+ |
| | | FWD | | |
| | <--------------------------------+ |
| | | | +---------------------+
| +----+ |
+--------------+
Responder1
Uma maneira de conseguir isso é o truque por trás de sites comowhatsmyip.com. tudo que você precisa é de um servidor web em sua rede que envie o endereço IP de onde recebe uma solicitação de volta ao cliente.
Lembre-se, como você está usando NAT, o servidor vê o endereço do roteador NAT (neste caso, o host da VM) como endereço de origem.
Para fazer isso, você pode criar um script php (ou seja whatsmyip.php
,) na raiz da web do seu servidor web, como
//whatsmyip.php
<?php
//Gets the IP address
$ip = getenv("REMOTE_ADDR") ;
Echo "$ip;
?>
e acesse-o do seu convidado comohttp://webserver/whatsmyip.php
(fonte:Thoughtco.com )
Agora você só precisa avaliar essa resposta no seu serviço
Responder2
Levando em conta a resposta de Guntbert, isso envolve:
- Use um servidor Web de terceiros na rede "externa" para hospedar um respondedor de endereço remoto, conforme descrito na resposta fornecida.
- Durante a fase de inicialização da VM (e/ou periodicamente de acordo com o contexto da rede), navegue nela para buscar o endereço externo do host windows
- Use o endereço recuperado para falsificar URLs durante a construção de páginas.