Como obter o endereço IP de entrada do virtualbox

5

Eu configurei um servidor http (apache) sob VB e encaminho a porta do host usando a ferramenta disponível no VB. Minha rede VB é NAT conectada com o host.

No entanto, ao fazer isso, o log de acesso de http mostra apenas o mesmo endereço IP para cada conexão. (de 10.x.x.x que é o endereço IP do host).

Existe alguma maneira de ver o endereço IP real? Eu tentei configurar um log do iptables no host, mas ele não mostra os dados (apenas src, dest.ttl .. você sabe ..)

    
por iKid 18.04.2012 / 00:49

2 respostas

2

Sua VM está por trás do NAT em sua configuração e você realmente acessa o servidor da web por meio do encaminhamento de porta, portanto não é possível revelar os IPs dos clientes usando apenas o virtualbox. Uma coisa que você pode fazer é configurar um servidor web leve em seu host (como o nginx ou o lighttpd) que escutará 80 portas na sua rede enquanto trabalha no modo proxy reverso para sua porta encaminhada, para que sua VM funcione como um backend nessa configuração. Para obter o endereço IP do cliente, este servidor da Web deve passar algumas variáveis adicionais, como X-Real-IP , Host , X-Forwarded-For (aqui está o exemplo virtualhost para nginx supondo que sua VM encaminha sua porta 80 para 8080 local):

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header X-Real-IP $remote_arrd;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
    }
}
    
por 18.04.2012 / 08:37
2

Você pode definir o NAT na sua VM com

vboxmanage --nataliasmode1 proxyonly

para desativar o aliasing e mudar o NAT para o modo transparente.

Veja aqui para saber mais: link

    
por 10.04.2015 / 01:08