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 é.