Apache HTTP Server Bind por endereço MAC

1

Eu tenho duas portas ethernet na minha máquina, ambas recebendo seus endereços IP via DHCP.

Eu gostaria de executar essencialmente dois servidores da Web na máquina. Tecnicamente, gostaria de executar o Apache em uma combinação endereço / porta e o Node.js escutando na porta 80 na outra porta ethernet.

Toda a documentação do Apache que eu encontrei menciona usando a diretiva Listen para especificar qual endereço / porta o Apache deveria escutar. O único problema é que meus endereços IP são dinâmicos, e eu não quero me preocupar em mudar a configuração toda vez que meu IP muda.

Existe alguma maneira de informar ao Apache para vincular-se a um endereço MAC específico?

Tenho certeza de que a resposta é não, considerando que a função bind parece exigir um endereço IP, a menos que seja inteligente o suficiente para obter um nome de porta ou MAC e procurar o IP associado.

    
por Steve 27.09.2011 / 14:53

2 respostas

1

Os servidores não servem apenas para serem executados em IPs dinâmicos. Eu não acredito que você possa obter o apache para ouvir em um endereço MAC, mas eu posso sugerir dois possíveis ao redor do trabalho:

  1. os dois serviços da web são executados em portas diferentes, em vez de IPs diferentes - EASY
  2. hackear o script de inicialização do apache para que ele detecte os endereços IP nas duas placas e edite o arquivo de configuração antes de iniciar o servidor - MESSY HACK
por 27.09.2011 / 15:46
1

TCP / IP é algo no OSI-Layer 3 e 4. Considerando que os endereços MAC estão no OSI-Layer 2.

E os sockets de ligação só podem funcionar no nível TCP / IP e não têm acesso à Camada 2. Então, o que você está tentando fazer não é possível do jeito que você quer que seja.

Você pode resolver isso especificando concessões estáticas de DHCP para o seu MAC para que o MAC sempre obtenha um IP fixo fora do pool DHCP.

    
por 27.09.2011 / 16:20