Encaminhamento de porta no Mountain Lion

1

Isso tem que ser algo que pode ser feito. Eu procurei e encontrei muitas respostas que afirmam fazer o que eu quero, mas eu não consigo juntar as coisas. Então ...

Estou executando uma máquina virtual do Linux no Mountain Lion. A VM executa o Apache. Eu preciso redirecionar todo o tráfego que chega na porta 80 do host para a porta 80 do convidado. Eu posso acessar o site da VM do host usando: http://192.168.100.2/

Também consigo acessar o servidor Apache Mountain Lion padrão de outras máquinas na rede local usando: http://10.0.42.22/

(Provando que a porta 80 está aberta no host. E sim, eu tentei desligar a instalação do Mac OS do Apache sem sucesso)

Preciso que outras máquinas na rede consigam acessar o servidor que está sendo executado na VM pelo último endereço ( http://10.0.42.22/ ).

Eu tentei ipfw do host:

ipfw add 100 forward 192.168.100.2,80 ip from any to any 80 in

Depois de fazer isso, as máquinas no tempo limite da rede local tentando alcançar http://10.0.42.22/ em vez de alcançar o Mac OS "It Works!" tela, que me diz que "algo" aconteceu, mas infelizmente, algo não é que o encaminhamento para o convidado está funcionando.

Eu também tentei adicionar ao /etc/pf.conf:

rdr on en1 inet proto tcp from any to any port 80 -> 192.168.100.2 port 80

Seguido por:

pfctl -f /etc/pf.conf

O que resulta nesta saída:

No ALTQ support in kernel ALTQ related functions disabled

Qual é a mesma coisa que consigo ao recarregar o pfctl com a configuração padrão. Isso não tem efeito (as máquinas na rede local recebem a tela padrão "It Works!" Do Mac OS Apache). Eu também tentei usar os dois acima juntos, com os resultados sendo o mesmo que usar apenas o truque ipfw.

Eu li e tentei muitas combinações de ipfw e pfctl, mas nenhuma obteve resultados diferentes ou parece mais correta do que eu mencionei acima.

Eu fiz exatamente isso por quase duas décadas com o BSD e vários tipos de Linux como host, mas parece que não consigo trabalhar com um host Mac OS. Eu estou esperando que eu tenha esquecido algo estúpido e / ou simples e que alguém aí possa apontar o que é.

    
por Chris Ostmo 27.12.2012 / 15:39

2 respostas

1

Já tentou encerrar a instância do Apache Mountain Lion e configurar um túnel ssh ?

sudo bash
nohup ssh -L 80:192.168.100.2:80 -N -i ~someUser/.ssh/id_dsa [email protected] &

Ou, alternativamente, usando a instância do Apache Mountain Lion para reverter as solicitações de proxy para a VM, por exemplo,

ProxyRequests Off
ProxyPass        /  http://192.168.100.2/
ProxyPassReverse /  http://192.168.100.2/
<Proxy *>
  Order Deny,Allow
  Allow from all
</Proxy>

Cole o texto acima em seu: /private/etc/apache2/httpd.conf e reinicie o Apache.

    
por 27.12.2012 / 17:26
2

Estou chegando um pouco atrasado para responder sua pergunta. Sua solução ipfw deve funcionar, mas não como você escreveu a regra e, como você não dá muita informação sobre sua configuração, eu suponho que você perdeu algumas coisas:

  • você definiu o scopedroute como 0 (usando sysctl)
  • você definiu o encaminhamento para 1 (usando sysctl)
  • você ativou o firewall
  • você nat entre as duas redes
  • você deve encaminhar apenas pacotes provenientes de sua rede local, mas o IP do destino
por 16.02.2013 / 22:12