Arquivo /etc/hosts para uma máquina multi-homed e multi-domínio?

Arquivo /etc/hosts para uma máquina multi-homed e multi-domínio?

Eu tenho um servidor (debian) com duas interfaces de rede nas quais gostaria de hospedar vários serviços e domínios; não está totalmente claro para mim como o arquivo hosts deve ser configurado. Exemplo:

eth0, bound to WAN interface 1.2.3.4:
   mail.example.com
   www.example.com
eth0:1, bound to WAN interface 1.2.3.5:
   www.other-domain.com
eth1, bound to LAN 192.168.1.123:
   some-clever-hostname

Qual deve ser a aparência do meu arquivo hosts? (incluindo localhost,localhost.localdomain, etc.) Devo usar DNS para algumas dessas entradas? Quais?

Obrigado!

EDIT: E se eu não conseguisse utilizar um servidor DNS, por exemplo, em um ambiente de teste?

Responder1

Colocando elocalhost/etc/hostname

127.0.0.1 localhost.localdomain localhost

está /etc/hostsbem. Os mapeamentos podem ser definidos no DNS e você pode definir o restante explicitamente (o Apache terá o ServerName configurado dentro de hosts virtuais, etc.).

Responder2

Sistemas multi-homed versus sistemas multi-domínio no Linux (ou Windows, ou qualquer outra máquina usando TCP/IP), duas coisas muito distintas.

Sistemas Multidomínio:

O servidor em si precisa apenas de um nome de host e funciona muito melhor se não for o nome do servidor web. Independentemente de você estar atrás de um roteador NAT, ele precisa apontar para o endereço IP público que identifica o servidor, não para o endereço IP privado. Com vários endereços IP, ele precisa apontar para o endereço IP primário do servidor. Em seguida, poste o nome de host fornecido para ser resolvido no DNS. As empresas maiores podem ter um sistema de numeração. servidor001, servidor002, servidor003, etc.

12.34.56.78 server001.mydomain.com server001
127.0.0.1 localhost.localdomain.local localhost

Adicionar .local a localhost.localdomain não é obrigatório, mas é um pré-requisito para configurar sistemas multi-homed. Costumo adicioná-lo apenas por hábito. Qualquer outro domínio será tratado através do servidor web se configurado corretamente. Além dos servidores web, desde que o endereço IP DNS aponte para o servidor (e-mail, ect) que é tudo o que é necessário. Se você estiver atrás de um roteador NAT, poderá configurar um nome de host interno com .local. Na maioria das vezes isso não é necessário, mas pode resolver alguns problemas em sistemas mais difíceis.

12.34.56.78 server001.mydomain.com server001
10.0.0.78 server001.mydomain.local server001
127.0.0.1 localhost.localdomain.local localhost

Sistemas Multi-Homed:

É aqui que você tem fisicamente várias placas de rede conectadas a redes separadas. O mais comum seria uma rede pública em uma interface, uma rede privada segura em outra interface. Por exemplo, você pode ter serviços da Web na interface pública e um banco de dados seguro em um servidor separado em uma interface privada. Isso funcionará sem configurar um sistema multihomed, mas limpará uma tonelada de conexões SYN TIMEOUT se estiver sob carga pesada. Então, digamos que temos um servidor web (server001) em 12.34.56.50: 10.0.0.50 e um servidor de banco de dados interno (server002) em 10.0.0.51. Ambos os servidores precisarão ser mapeados um para o outro em /etc/hosts usando a diretiva .local

/etc/hosts server001

12.34.56.50 server001.mydomain.com server001
127.0.0.1 localhost.localdomain.local localhost
10.0.0.50 server.001.mydomain.local server001
10.0.0.51 server002.mydomain.local server002

/etc/hosts server002

10.0.0.1 server002.mydomain.local server002
127.0.0.1 localhost.localdomain.local localhost
10.0.0.50 server.001.mydomain.local server001

informação relacionada