Table of Contents
Configuración del servidor NFS con autenticación basada en Kerberos para clientes Linux-Parte 7
En el último artículo de esta serie, revisamos cómo configurar un recurso compartido de Samba en una red que puede constar de varios tipos de sistemas operativos. Ahora, si necesita configurar el uso compartido de archivos para un grupo de clientes similares a Unix, automáticamente pensará en el Sistema de archivos de red. o NFS. para abreviar.


En este artículo, lo guiaremos a través del proceso de uso de la autenticación basada en Kerberos. para recursos compartidos NFS. Se asume que ya ha configurado un servidor NFS y un cliente. De lo contrario, consulte instalar y configurar el servidor NFS, que enumerará los paquetes necesarios que deben instalarse y explicará cómo realizar las configuraciones iniciales en el servidor antes de continuar.
Además, querrá para configurar SELinux y firewalld para permitir el intercambio de archivos a través de NFS.
El siguiente ejemplo asume que su recurso compartido NFS. está ubicado en /nfs. en box2.
# semanage fcontext-a-t public_content_rw_t “/nfs(/.*)?” # restorecon-R/nfs # setsebool-P nfs_export_all_rw on # setsebool-P nfs_export_all_ro on
(donde la bandera -P. indica persistencia entre reinicios).
freestar.config.enabled_slots. push
Por último, no olvide:
Crear un grupo NFS y configurar el directorio compartido de NFS
1.. Cree un grupo llamado nfs. y agregue el usuario nfsnobody. luego cambie los permisos del directorio /nfs. a 0770. y su propietario de grupo a nfs. Por lo tanto, nfsnobody. (que se asigna a las solicitudes del cliente) tendrá permisos de escritura en el recurso compartido) y no necesitará usar no_root_squash. en /etc/exporta el archivo.
# groupadd nfs # usermod-a-G nfs nfsnobody # chmod 0770/nfs # chgrp nfs/nfs
2.. Modifique el archivo de exportación ( /etc/export. de la siguiente manera para permitir solo el acceso desde box1. utilizando la seguridad Kerberos. ( sec = krb5. .
Nota. que el valor de anongid. se ha establecido en el GID. de el grupo nfs. que creamos anteriormente:
exporta-Agregar NFS Share/nfs box1 (rw, sec = krb5, anongid = 1004)
3.. Vuelva a exportar (-r). todos los (-a). los recursos compartidos de NFS. Agregar verbosidad a la salida (-v). es una buena idea ya que proporcionará información útil para solucionar problemas del servidor si algo sale mal:
# exportfs-arv
4 .. Reinicie y habilite el servidor NFS y los servicios relacionados. Tenga en cuenta que no tiene que habilitar nfs-lock. y nfs-idmapd. porque los otros servicios los iniciarán automáticamente al arrancar:
# systemctl restart rpcbind nfs-server nfs-lock nfs-idmap # systemctl enable rpcbind nfs-server Entorno de prueba y otros requisitos previos
En esta guía usaremos el siguiente entorno de prueba:
- Máquina cliente [ box1: 192.168.0.18.
- Servidor NFS/Kerberos [box2: 192.168.0.20]. (también conocido como Centro de distribución de claves. o KDC. para abreviar).
Nota. que Kerberos
Como puede ver, el servidor NFS. y el KDC. están alojados en la misma máquina para simplificar, aunque puede configurarlos en máquinas separadas si tienes más disponible. Ambas máquinas son miembros del dominio mydomain.com. Por último, pero no menos importante, Kerberos. requiere al menos un esquema básico de resolución de nombres y el servicio Network Time Protocol para estar presente en tanto cliente como servidor, ya que la seguridad de la autenticación Kerberos se basa en parte en las marcas de tiempo de los tickets. Para configurar la resolución de nombres, usaremos el archivo /etc/hosts. en tanto cliente como servidor: archivo de host: agregue DNS para el dominio 192.168.0.18 box1.mydomain.com box1 192.168.0.20 box2.mydomain.com box2 En RHEL 7. chrony. es el software predeterminado que se utiliza para la sincronización NTP. # yum install chrony # systemctl start chronyd # systemctl enable chronyd Para asegurarse de que chrony. en realidad está sincronizando la hora de su sistema con los servidores de tiempo. Es posible que desee ejecutar el siguiente comando dos o tres veces y asegurarse de que el desplazamiento se acerque a cero: # seguimiento de chronyc Para configurar el KDC. instale los siguientes paquetes tanto en el servidor. como en el cliente. (omita el paquete del servidor en el cliente): # yum update && yum install krb5-server krb5-workstation pam_krb5 Una vez instalado, edite los archivos de configuración (/etc/krb5.conf. y /var/kerberos/krb5kdc/kadm5.acl. y reemplace todas las instancias de ejemplo.com. (minúsculas y mayúsculas) con midominio.com de la siguiente manera. Ahora cree la base de datos Kerberos. (tenga en cuenta que esto puede llevar un tiempo ya que requiere cierto nivel de entropía en su sistema. Para acelerar las cosas, abrí otra terminal y ejecuté ping-f localhost. durante 30-45 segundos): # kdb5_util create-s A continuación, habilite Kerberos. a través del firewall. e inicie/habilite los servicios relacionados. Importante. nfs-secure. también debe iniciarse y habilitarse en el cliente: # firewall-cmd–permanent–add-service = kerberos # systemctl start krb5kdc kadmin nfs-secure # systemctl enable krb5kdc kadmin nfs-secure A continuación, con la herramienta kadmin.local. cree un administrador principal para root: # kadmin.local # addprinc root/admin Y agregue el Kerberos. servidor a la base de datos: # addprinc-randkey host/box2.mydomain.com Lo mismo con el servicio NFS. tanto para el cliente ( box1. como para el servidor ( casilla 2. . Tenga en cuenta que en la captura de pantalla siguiente olvidé hacerlo para box1. antes de salir: # addprinc-randkey nfs/box2.mydomain.com # addprinc-randkey nfs/box1.mydomain.com Y salir. escribiendo salir. y presionando Enter: Luego obtenga en y en caché el ticket de concesión de tickets de Kerberos para root/admin: # kinit root/admin # klist El El último paso antes de usar Kerberos. es almacenar en un archivo keytab. (en el servidor) los principales que están autorizados para usar la autenticación Kerberos: # kadmin.local # ktadd host/box2.mydomain.com # ktadd nfs/box2.mydomain.com # ktadd nfs/box1.mydomain.com Finalmente, monte el recurso compartido y realice una prueba de escritura: # mount-t nfs4-o sec = krb5 box2:/nfs/mnt # echo “Hola de Tec mint.com “>/mnt/greeting.txt Ahora desmontemos. el share, cambie el nombre del archivo keytab. en el cliente (para simular que no está presente) e intente montar el recurso compartido nuevamente: # umount/mnt # mv/etc/krb5.keytab/etc/krb5.keytab.orig Ahora puede utilizar el recurso compartido NFS. con Kerberos-autenticación basada en.
Sincronizar la hora del servidor con Chrony
Instalar y configurar Kerberos
Crear base de datos Kerberos
Agregue Kerberos al servidor NFS
Cache Kerberos
Montar NFS Share
Montar Desmontar Kerberos NFS Share