Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo configurar DNS en Solaris 9?

¿Cómo configurar DNS en Solaris 9?

No estoy seguro si estás preguntando sobre la configuración del cliente o la configuración del servidor, las responderé por separado.

Configuración del cliente SolarisDNS:

archivo/etc/resolv.conf

Registra la dirección y el nombre de dominio del servidor DNS

Palabras clave :

Nombre de dominio

servidor de nombres

# more /etc/resolv.conf

servidor de nombres 172.16.255.3

nombre de dominio amanecer.com.cn

Archivo

/etc/nsswitch.conf

Información de registro, como el orden en el que se buscan los nombres de host

# más /etc/nsswitch.conf

#

# /etc/nsswitch.dns:

#

# Uno se puede copiar al archivo de muestra para /etc/nsswitch.conf; usa

# DNS para búsquedas de host y ningún otro servicio de nombres.

#

# Esto solo se usará si

# el nombretoaddr_libs transferido por "inet" en el archivo /etc/netconfig tiene "-" "hosts : " y "servicios:" en el archivo.

contraseña: archivo

grupo: archivo

# También debe configurar el archivo /etc/resolv.conf para los nombres DNS

# Consulta del servidor. Consulte resolv.conf(4).

hosts: archivos dns

ipnodes: archivos

...

...

configura esto El registro de hosts en el archivo está configurado como hosts: archivos dns

comando .nslookup

Se usa para consultar el servidor DNS

Se usa para verificar la configuración del cliente

Se utiliza para descargar la base de datos DNS

# nslookup

Servidor predeterminado: dirección ns.zhjhzptt.net.cn

. 202.96.96.68

> www.sun.com

Servidor: ns.zjhzptt.net.cn.

Dirección: 202.96.96.68

Respuesta no autorizada:

Nombre: www.sun.com

Dirección: 192.18.97.241

>

Al iniciar , nslookup apunta al servidor local de forma predeterminada. La respuesta incluye el nombre y la dirección del servidor de destino. > es el mensaje, lo que significa que puede comenzar a enviar consultas o configuraciones del servicio de nombres.

Configuración de DNS chroot seguro en Solaris:

Aunque mi entorno es RedHat, este artículo se aplica a Solaris 8/9/10. Instalación de Bind 9

Aunque el paquete rpm se proporciona en el Red Hat AS3 que estoy usando, para comodidad de otros usuarios, lo instalaremos desde el código fuente.

Primero, instale Bind 9 desde la página de inicio de ISC (ame { null; };

categoría lame-servers { LAMER_log; };

categoría seguridad { SEC_log; };

estadísticas de categoría { STAT_ log };

};

// Análisis de raíz

zona "." escriba sugerencia;

archivo "named.root";

};

// resolución de localhost

zona "localhost" {< / p>

escriba mASter;

archivo "named. localhost";

notificar no;

};

/ /análisis inverso localhost

zona "0.0.127.in-addr.arpa" {

tipo mASter;

archivo "named.127..0.0" ;

notificar no;

};

Después de eso, crea un enlace simbólico en el directorio /etc

ln -s / chroot/named/etc/named.conf /etc/named.conf

Bueno, el siguiente paso es configurar los archivos nombrados.root, nombrados.local y nombrados.127.0.0. Tenga en cuenta que. estos tres archivos. La ubicación real de los archivos está en /chroot/named/conf.

Primero cree Named.root

dig @a.root-servers.net ns > /chroot/named/conf/named.root #Este es el uso en redhat, porque. el solaris predeterminado usado por Sky Edge (estoy usando 2.6) no tiene el comando dig, por lo que en solaris usamos

cd /chroot/named/conf

ftp ftp:/ /ftp.rs.internic.local

$TTL 86400

@ EN SOA @ root (

42; versión

3H; Tiempo de actualización 3 horas

15M; Tiempo de reintento 15 minutos

1W; Duración máxima una semana

1D); >

EN A 127.0.0.1

seguido de nombrado.127.0.0.0

; nombrado.127.0.0

$TTL 86400

@ EN SOA localhost. (El root.localhost aquí es en realidad root@localhost. En la configuración de DNS, reemplace @ con.

1; Versión

28800; Actualizar , las unidades aquí y a continuación están deliberadamente en minutos, que son diferentes de lo escrito anteriormente, solo para más ejemplos

14400 Retry

3600000 Duración máxima

p>

86400 ) ; TTL mínimo

IN NS localhost.

1 IN PTR localhost.

4. Establecer permisos

En De hecho, este paso es la esencia de cualquier servicio chroot. Cómo dividir los permisos con tanta precisión que los servicios no puedan ejecutarse, o tan grandes que amenacen la seguridad de otros programas, es una cuestión que requiere una cuidadosa consideración.

a. Dado que nuestro objetivo es permitir que el programa vinculante se ejecute como el usuario designado, se le debe permitir leer la configuración, no escribir el archivo de configuración, y preferiblemente otros programas no pueden cambiar nuestros archivos de configuración. Solo puede ser modificado por root y leído por usuarios designados. Para cumplir con este requisito, naturalmente pensaríamos en cambiar el propietario del archivo a raíz, configurar el usuario del grupo como nombrado y luego dividir los permisos lenta y cuidadosamente.

cd /chroot/named

chown -R root.named .

A continuación, considere los permisos de los archivos y subdirectorios individuales. root requiere permisos de lectura/escritura en archivos, nombrado requiere permisos de lectura en archivos y los subdirectorios requieren permisos de ejecución para ingresar. Por lo tanto, es necesario establecer los siguientes permisos.

#Otorgar permisos de lectura/escritura a root en archivos y permisos de lectura con nombre en grupos

find .-type f -print |

p>

#Otorga permisos de lectura/escritura y ejecución a roo en el directorio, y permisos de lectura/ejecución en el grupo nombrado (la ejecución se utiliza para ingresar al siguiente directorio)

buscar.- escriba d - print |*.conf

# El subdirectorio "secundarios" es el subdirectorio del servidor secundario donde el servidor DNS sirve como servidor primario.

Este servidor DNS necesita utilizar el subdirectorio "secundarios" como servidor secundario, actualizando información del servidor primario y creando nuevos archivos en él. Por lo tanto, sus permisos deben establecerse específicamente. En este directorio, los grupos y usuarios con nombre deben tener permisos de lectura. No necesitan ser usuarios raíz y no desean que otros usuarios accedan a ellos.

chown root.named conf/secundarios/ #Establece el usuario en el directorio secundario como root y el grupo como nombrado

chmod ug=rwx,o= conf/secundarios/ #Grant root y nombrado tienen acceso completo a los siguientes archivos

toque conf/secundarios/.empty # Eliminar archivos antiguos

busque conf/secundarios/ -tipo f -print xargs chown nombrado.

busque conf/secundarias/ -type f -print | Permisos en el directorio var/ (donde se genera el demonio de proceso llamado.pid).

chown root.root var/ #Aquí es donde puedes eliminar el nombre,

chmod u=rwx,og=x var/ #root puede leer y escribir estas configuraciones, Otros usuarios puede realizar estas configuraciones. De hecho, la razón por la que creamos un DNS chroot y nos tomamos la molestia de crear un directorio separado es para evitar que name acceda al archivo /var real.

chown root.named var/run/ #Debido a que en el estado de ejecución, necesita nombrado para escribir el archivo nombrado.pid, por lo que necesita cambiar el grupo a nombrado para limitar los permisos

chmod ug=rwx,o=rx var/run/ #El usuario/grupo tiene permisos de lectura/escritura/ejecución y otros usuarios pueden leer/ejecutar normalmente. Los usuarios pueden leer/ejecutar en él. Esta configuración es principalmente para facilitarnos la escritura de un shell para determinar el estado actual de DNS.

chown root.named logs/ #Directorio de registro, no es necesario explicar el motivo para configurarlo

chmod ug=rwx,o=rx logs/ #Es mejor para permitir que otros vean los registros y facilitar la instalación de programas de terceros en el futuro

5. Inicie y ejecute bind 9

¡Emocionante! Es hora de comenzar nuestra primera ejecución de Bind 9.

Ejecute el siguiente comando

/usr/local/sbin/named -t /chroot/named -u llamado -c /etc/named.conf

Luego ps -fCnamed para ver si hay resultados similares

UID PID PPID C STIME TTY TIME CMD

named 14023 1 0 May27 00:00:00 /usr/local/sbin? / nombrado -t /chroot/named -u llamado -c /etc/named.conf

Este resultado demuestra que fue exitoso, ¡¡¡felicidades!!!!

Cada vez que escribes así, te sentirás muy cansado, así que escribamos un shell (en realidad, el shell es realmente bueno, pero no es interesante explicarlo sistemáticamente, así que trato de escribirlo en cada artículo) Úsalo y poco a poco descubrirás sus beneficios)

vi /chroot/named.start

#Multi-cpu -t /chroot/named -u nombrado -c /etc /named.conf

Este es el resultado.

#Multi-cpu Recuerde agregar el parámetro "-n" para habilitar la CPU múltiple, también leí sobre esto en otro lugar

#

# comando con nombre formato: con nombre [-c archivo configurado] [-d nivel de depuración] [-f|-g] [-n número de CPU]

# [-p puerto - el valor predeterminado es 53] [-s] [ - t directorio chroot] [-n número de cpu]

# [-p puerto - el valor predeterminado es 53] [-s] [-t directorio chroot] [-n número de cpu]

#El valor predeterminado es 53] [-s] [-t directorio chroot] [-u La identidad del usuario que ejecuta este comando]

cd /chroot/named

#Ensure que los archivos de depuración se pueden escribir como nombrado

tocar nombrado.run #Crear archivo

chown llamado.named.run #Establecer el propietario del archivo en nombrado.nombre

chmod ug=rw,o=r nombrado.run #Establecer permisos en 664

# Utilice /etc/named.conf como archivo de configuración y ejecute el programa nombrado como se indica en el directorio chroot/named

#El /etc/named. /etc/named.conf aquí es el archivo que usamos ln -s para vincular, consulte la sección anterior

/ usr/ local/sbin/named -t /chroot/named -u llamado -c /etc/named.conf

Luego use sh /chroot/named.start para ejecutar el comando, y luego podrá usar /etc/resolv Probado usando su propia dirección DNS en .conf. Por supuesto, también puede usar el comando dig para verificar (personalmente creo que el comando dig es mejor que nslookup, pero no está disponible de manera predeterminada en Solaris 2.6).

6. Instalación y uso de la herramienta de control rndc

rndc=dnc remoto. Los amigos que han instalado bind 8 antes saben que hay una herramienta ndc, y en bind 9, esta. es aún más Se agregaron más funciones de control remoto. No es apropiado decir "agregar", porque rdnc no se modifica con ndc, sino que se reescribe un software de control de DNS a través del protocolo tcp. (¿Cuál es el punto de esto? Pregúntele a sus amigos administradores de sistemas/hosting web. DNS generalmente se usa para hosts independientes. Sería mucho más conveniente si el archivo de configuración pudiera recargarse de forma remota).

rndc debería leer /usr/local/etc/rndc.conf como archivo de configuración, pero como estamos instalando el DNS de chroot, es necesario cambiar rndc.conf a /chroot/named/etc/rndc .conf. Aquí se explica cómo escribir el archivo rndc.conf.

opciones {

servidor predeterminado localhost; //configurar local primero

clave predeterminada "rndckey" //nombre de la clave

};

servidor localhost {

clave "rndckey"; //nombre de la clave

}; /named/etc/rndc.key";//Contiene el valor de rndckey en este archivo porque este valor se usa tanto en rndc.conf como en named.conf. La razón de esto es que se usa tanto en rndc.conf como en nombrado.conf, e incluirlo facilita la escritura de shells automáticos

Por la misma razón, en /chroot/named/etc/named. las declaraciones requeridas en conf

controles {

inet 127.0.0.0.1 permiten { localhost } claves { rndckey } //permitir conexiones de host local

};

include "/etc/rndc.key";

El siguiente paso es generar el archivo /chroot/named/etc/rndc.key, que es una lista larga de utiliza clave de cifrado codificada en base-64. Esta es una larga cadena de claves cifradas usando codificación bASe-64. Usamos el comando DNSsec-keygen para generarla:

cd /chroot/named/etc

/usr/local. /sbin/DNSsec-keygen -a HMAC-MD5 -b 256 -n HOST rndc

Genera un archivo similar a Krndc. El valor de retorno es similar a Krndc.+157+30481, lo que indica que los archivos Krndc.+157+30481.key y Krndc.+157+30481.private se han creado correctamente en el directorio actual.

cat Krndc.+157+30481.pantalla privada

Formato de clave privada: v1.2

Algoritmo: 157 (HMAC_MD5)

Clave: aoqaT1r9Oz29DIj3VPn6+ teHcvBudGAc17qLM4nPOqA=

Aquí, la cadena después de Clave es la clave que queremos, cópiala y elimina el archivo temporal

rm Krndc.+157+30481.*

vi /chroot/named/etc/rndc.key

clave "rndckey" {

algoritmo "hmac-md5";

secreto " aoqaT1r9Oz29DIj3VPn6+teHcvBudGAc17qLM4nPOqA=";

};

Una vez completada la configuración, realice 2 conexiones suaves

ln -s /chroot/named/etc / rndc.conf /usr/local/etc/rndc.conf

ln -s /chroot/named/etc/rndc.conf /etc/rndc.conf

OK, continúa Ven hacia abajo y vuele sobre el nombre actualmente en ejecución, obligándolo a volver a leer el archivo de configuración

ps -fCnamed

UID PID PPID C STIME TTY TIME CMD

llamado 14023 1 0 27 de mayo? 00:00:00 /usr/local/sbin/named -t /chroot/named -u llamado -c /etc/named.

kill -1 14023 #14023 se nombra Número de proceso, en cuanto al rol de -1, elimínelo usted mismo

Ahora veamos si rndc está funcionando normalmente

/usr/local/sbin/rndc status Felicitaciones, si La situación real es similar a la siguiente

Número de regiones: 2

Nivel de depuración: 0

Archivos en ejecución: 0

rndc detener

echo "done"

;;

recargar)

# Recargar configuración

echo -n " Recargar nombre: "

rndc recargar

echo "hecho"<

;;

estado)

# Mostrar el estado actual

rndc status

;;

*)

echo "/etc/init.d/named {inicio |detener|estado|recargar}"