
Tengo un servidor (debian) con dos interfaces de red en el que me gustaría alojar múltiples servicios y dominios; No tengo del todo claro cómo se debe configurar el archivo de hosts. Ejemplo:
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
¿Cómo debería verse mi archivo de hosts? (incluido localhost,localhost.localdomain, etc.) ¿Debo usar DNS para algunas de estas entradas? ¿Cuáles?
¡Gracias!
EDITAR: ¿Qué pasa si no puedo utilizar un servidor DNS, por ejemplo, en un entorno de prueba?
Respuesta1
Poner ylocalhost
/etc/hostname
127.0.0.1 localhost.localdomain localhost
adentro /etc/hosts
está bien. Las asignaciones se pueden configurar en DNS y usted puede configurar el resto explícitamente (Apache tendrá el nombre del servidor configurado dentro de los hosts virtuales, etc.).
Respuesta2
Los sistemas con múltiples servidores versus los sistemas con múltiples dominios en Linux (o Windows, o cualquier otra máquina que use TCP/IP), son dos cosas muy distintas.
Sistemas multidominio:
El servidor en sí solo necesita un nombre de host y funciona mucho mejor si no es el nombre del servidor web. Independientemente de si está detrás de un enrutador NAT, este debe apuntar a la dirección IP pública que identifica el servidor, no a la dirección IP privada. Con varias direcciones IP, debe apuntar a la dirección IP principal del servidor. Luego publique el nombre de host proporcionado para resolverlo en DNS. Las empresas más grandes pueden tener un sistema de numeración. servidor001, servidor002, servidor003, etc.
12.34.56.78 server001.mydomain.com server001
127.0.0.1 localhost.localdomain.local localhost
Agregar .local a localhost.localdomain no es necesario, pero sí es un requisito previo para configurar sistemas con múltiples servidores. Tiendo a agregarlo simplemente por costumbre. Cualquier otro dominio se manejará a través del servidor web si se configura correctamente. Más allá de los servidores web, siempre que la dirección IP DNS apunte al servidor (correo electrónico, etc.) es todo lo que se necesita. Si está detrás de un enrutador NAT, puede configurar un nombre de host interno con .local. La mayoría de las veces esto no es necesario, pero puede resolver algunos problemas en sistemas más difíciles.
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 de viviendas múltiples:
Aquí es donde físicamente tienes varias tarjetas de red conectadas a redes separadas. Lo más común sería una red pública en una interfaz y una red privada segura en otra interfaz. Por ejemplo, puede tener servicios web en la interfaz pública y una base de datos segura en un servidor separado en una interfaz privada. Esto funcionará sin configurar un sistema multitarjeta, pero eliminará un montón de conexiones SYN TIMEOUT si se encuentra bajo una carga pesada. Entonces, digamos que tenemos un servidor web (server001) en 12.34.56.50: 10.0.0.50 y un servidor de base de datos interno (server002) en 10.0.0.51. Ambos servidores deberán asignarse entre sí en /etc/hosts usando la directiva .local.
/etc/servidor de hosts001
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/servidor de hosts002
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