Preparar su laboratorio para practicar los objetivos del examen de ingeniería RHCE

Este considero que es uno de los temas mas fundamentales para comenzar su preparacion. Porque como he mencionado en otras ocaciones, muchos estidiantes de desaniman cuando no tienen el entorno apropiado para realizar todas sus practicas.

Es importante antes de continuar que haya seguido al pie de la letra el post acerca “Como construir nuestro propio laboratorio de practicas FreeIPA“, ya que este es la base para continuar.

Para entender mas que vamos a necesitar, quiero decir que va a necesitar usted como aspirante a RHCE, vamos a explicar un poco cuantos recursos utilizaremos.

En nuestra laptop o PC de escritorio, vamos a tener tres maquinas virtuales, de las cuales una es el servidor IPA. Las dos restantes van a ser las clientes, que en su momento dado una actuara como servidor de algunos servicios como: Samba, NFS, iSCIS, Apache; etc. Pero el server IPA se va a encargar de un minimo detalle que sera el de la “authentication”. Ya que ambos clientes van a estar enrolados a servidor IPA. Y aqui ya entramos en un detalle importante, como enrolar el servidor cliente al servidor IPA. Por aqui vamos a comenzar, y para esto como mencione anteriormente, necesitamos ademas del servidor FreeIPA, otra dos maquinas virtuales.

Los detalles de mi entorno son los siguientes:

Servidor IPA: labrhelserver.home.cert.com 192.168.4.50
Cliente 1: labsystem1.home.cert.com 192.168.4.60
Cliente 2: labsystem2.home.cert.com 192.168.4.70

Se preguntara, porque utilizamos dos servidores clientes. El motivo es porque no queremos cargarlo todo sobre el server IPA, ya que este esta haciendo suficiente.

Los recursos de cada maquina virtual son iguales: 1GB de ram, 1CPU, 7GB hard drive, y algo muy importante, 3 interfaces de red en los clientes; ya que cuando estemos practicado como hacer “temaing” y “bounding”, vamos a necesitar tener estos recursos listos.

Entonces no perdamos mas tiempo y comenzaremos a enrolar nuestro primer cliente. Es importante aclarar que estos clientes ya deben tener la configuracion de un repositorio establecida, yo recomiendo utilizar un repositorio local en la misma maquina virtual, o u repositorio que usted tenga en su red local.

Primero debemos agregar el servidor cliente en nuestro IPA. Entonces debemos iniciar sesion en en nuestro servidor IPA “https://labrhelserver.home.cert.com/ipa/ui/” y en “Host” agregar nuestro servidor cliente.

Si cuando intentan agregar el host les muestra un error interno. Esto es debido a que cuando instalamos el servidor FreeIPA no se creo correctamente la zona inversa. Esto lo podemos solucionar navegando a “Network Services”, y en “DNS” elejimos “DNS ZONES”. Entonces procedemos a agregar una nueva zona inversa. Pueden tener una idea mas clara en las imagenes a continuacion:

Cliente 1:

Ahora vamos a instalar el paquete necesario para unirnos al servidor IPA:

[root@labsystem1 ~]# yum install -y ipa-client
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package ipa-client.x86_64 0:4.4.0-12.el7 will be installed
--> Processing Dependency: ipa-client-common = 4.4.0-12.el7 for package: ipa-client-4.4.0-12.el7.x86_64
--> Processing Dependency: ipa-common = 4.4.0-12.el7 for package: ipa-client-4.4.0-12.el7.x86_64
--> Processing Dependency: python2-ipaclient = 4.4.0-12.el7 for package: ipa-client-4.4.0-12.el7.x86_64
--> Processing Dependency: certmonger >= 0.78 for package: ipa-client-4.4.0-12.el7.x86_64

...
...

Entonces ya terimnada la instalacion de este paquete continuamos ejecutando el siguiente comando para terminar la union al servidor.

[root@labsystem1 ~]# ipa-client-install --mkhomedir --enable-dns-updates --force-ntpd
Discovery was successful!
Client hostname: labsystem1.home.cert.com
Realm: HOME.CERT.COM
DNS Domain: home.cert.com
IPA Server: labrhelserver.home.cert.com
BaseDN: dc=home,dc=cert,dc=com

Continue to configure the system with these values? [no]:

Como ven nos muestra un resumen de los datos que se van a utilizar para la union. Aqui verificamos que toda la informacion este correcta y respondemos “yes”

Continue to configure the system with these values? [no]: yes
Synchronizing time with KDC...
Attempting to sync time using ntpd. Will timeout after 15 seconds
User authorized to enroll computers: admin
Password for admin@HOME.CERT.COM: password
Successfully retrieved CA cert
Subject: CN=Certificate Authority,O=HOME.CERT.COM
Issuer: CN=Certificate Authority,O=HOME.CERT.COM
Valid From: Sat Jun 24 04:45:10 2017 UTC
Valid Until: Wed Jun 24 04:45:10 2037 UTC

Enrolled in IPA realm HOME.CERT.COM
Created /etc/ipa/default.conf
New SSSD config will be created
Configured sudoers in /etc/nsswitch.conf
Configured /etc/sssd/sssd.conf
Configured /etc/krb5.conf for IPA realm HOME.CERT.COM
trying https://labrhelserver.home.cert.com/ipa/json
Forwarding 'schema' to json server 'https://labrhelserver.home.cert.com/ipa/json'
trying https://labrhelserver.home.cert.com/ipa/session/json
Forwarding 'ping' to json server 'https://labrhelserver.home.cert.com/ipa/session/json'
Forwarding 'ca_is_enabled' to json server 'https://labrhelserver.home.cert.com/ipa/session/json'
Systemwide CA database updated.
Adding SSH public key from /etc/ssh/ssh_host_rsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ecdsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ed25519_key.pub
Forwarding 'host_mod' to json server 'https://labrhelserver.home.cert.com/ipa/session/json'
SSSD enabled
Configured /etc/openldap/ldap.conf
NTP enabled
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config
Configuring home.cert.com as NIS domain.
Client configuration complete.
[root@labsystem1 ~]#

Como ven nos preguntan el nombre de usuario y clave autorizada para realizar esta tarea. El usuario por defecto es admin y la clave la establecimos en la instalacion de FreeIPA.

Ahora vamos a crear las credenciales del servicio NFS para este servidor. Para esto debemos iniciar un “ticket”. Esto lo logramos en nuestro servidor IPA de la siguiente forma:

[root@labrhelserver ~]# kinit admin
Password for admin@HOME.CERT.COM: password
[root@labrhelserver ~]#

Entonces continuamos agregando el “Principal name”:

[root@labrhelserver ~]# ipa service-add
Principal name: nfs/labsystem1.home.cert.com
----------------------------------------------------------
Added service "nfs/labsystem1.home.cert.com@HOME.CERT.COM"
----------------------------------------------------------
Principal name: nfs/labsystem1.home.cert.com@HOME.CERT.COM
Principal alias: nfs/labsystem1.home.cert.com@HOME.CERT.COM
Managed by: labsystem1.home.cert.com
[root@labrhelserver ~]#

Ahora en nuestro cliente “labsystem1” vamos a ejecutar lo siguiente para obtener nuestro “krb5.keytab”

[root@labsystem1 ~]# ipa-getkeytab -s labrhelserver.home.cert.com -p nfs/labsystem1.home.cert.com -k /etc/krb5.keytab
Keytab successfully retrieved and stored in: /etc/krb5.keytab
[root@labsystem1 ~]# kinit -k nfs/labsystem1.home.cert.com
[root@labsystem1 ~]# klist -k
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
1 host/labsystem1.home.cert.com@HOME.CERT.COM
1 host/labsystem1.home.cert.com@HOME.CERT.COM
1 nfs/labsystem1.home.cert.com@HOME.CERT.COM
1 nfs/labsystem1.home.cert.com@HOME.CERT.COM
[root@labsystem1 ~]#

Como pueden ver ya tenemos nuestro primer cliente agregado correctamente al servidor IPA, Lo mismo hay que hacer con el cliente 2. Con la unica diferencia del ultimo comando que ejecutamos en el cliente 1, quedaria de la siguiente forma:
ipa-getkeytab -s labrhelserver.home.cert.com -p host/labsystem2.home.cert.com@HOME.CERT.COM -k /etc/krb5.keytab

Despues de esto, es muy importante copiar “/etc/krb5.keytab” para el el ftp dentro del server IPA. Para tener nuestro keytab listo y accesible para nuestras practicas. Esto lo hacemos de la siguiente forma:

[root@labsystem1 ~]# scp /etc/krb5.keytab labrhelserver.home.cert.com:/var/ftp/pub/labsystem1.keytab
Password:
krb5.keytab 100% 376 0.4KB/s 00:00
[root@labsystem1 ~]#

Y no se olviden de cambiarle los permisos en el servidor:

[root@labrhelserver ~]# cd /var/ftp/pub/
[root@labrhelserver pub]# ll
total 8
-r--r--r--. 1 root root 1317 Jun 23 22:17 ca.crt
-rw-------. 1 root root 376 Jun 24 11:53 labsystem1.keytab
[root@labrhelserver pub]# chmod 444 labsystem1.keytab
[root@labrhelserver pub]# ll
total 8
-r--r--r--. 1 root root 1317 Jun 23 22:17 ca.crt
-r--r--r--. 1 root root 376 Jun 24 11:53 labsystem1.keytab
[root@labrhelserver pub]#

De esta forma lo podemos descargar con el comando “wget”

[root@labsystem1 ~]# wget -O probando ftp://labrhelserver.home.cert.com/pub/labsystem1.keytab
--2017-06-24 11:56:01-- ftp://labrhelserver.home.cert.com/pub/labsystem1.keytab
=> ‘probando’
Resolving labrhelserver.home.cert.com (labrhelserver.home.cert.com)... 192.168.4.50
Connecting to labrhelserver.home.cert.com (labrhelserver.home.cert.com)|192.168.4.50|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD (1) /pub ... done.
==> SIZE labsystem1.keytab ... 376
==> PASV ... done. ==> RETR labsystem1.keytab ... done.
Length: 376 (unauthoritative)

100%[===========================================================================================>] 376 --.-K/s in 0s

2017-06-24 11:56:01 (23.0 MB/s) - ‘probando’ saved [376]

[root@labsystem1 ~]# ls -ls probando
4 -rw-r--r--. 1 root root 376 Jun 24 11:56 probando
[root@labsystem1 ~]#

De esta forma ya tienen verificado que todo esta funcionando perfecto.

Cliente 2:

Ahora vamos a continuar con la configuracion en el cliente 2. No se olvide de agregar este servidos en “Host” de la misma forma que agregamos el cliente 1.

[root@labsystem2 ~]# yum install -y ipa-client
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package ipa-client.x86_64 0:4.4.0-12.el7 will be installed
--> Processing Dependency: ipa-client-common = 4.4.0-12.el7 for package: ipa-client-4.4.0-12.el7.x86_64
--> Processing Dependency: ipa-common = 4.4.0-12.el7 for package: ipa-client-4.4.0-12.el7.x86_64
--> Processing Dependency: python2-ipaclient = 4.4.0-12.el7 for package: ipa-client-4.4.0-12.el7.x86_64
--> Processing Dependency: certmonger >= 0.78 for package: ipa-client-4.4.0-12.el7.x86_64
--> Processing Dependency: python-gssapi >= 1.1.2 for package: ipa-client-4.4.0-12.el7.x86_64
--> Processing Dependency: sssd >= 1.14.0 for package: ipa-client-4.4.0-12.el7.x86_64
...
...

Despues de esto, pues procedemos a enrolarnos en el servidor IPA

[root@labsystem2 ~]# ipa-client-install --mkhomedir --enable-dns-updates --force-ntpd
Discovery was successful!
Client hostname: labsystem2.home.cert.com
Realm: HOME.CERT.COM
DNS Domain: home.cert.com
IPA Server: labrhelserver.home.cert.com
BaseDN: dc=home,dc=cert,dc=com

Continue to configure the system with these values? [no]: yes
Synchronizing time with KDC...
Attempting to sync time using ntpd. Will timeout after 15 seconds
User authorized to enroll computers: admin
Password for admin@HOME.CERT.COM: password
Successfully retrieved CA cert
Subject: CN=Certificate Authority,O=HOME.CERT.COM
Issuer: CN=Certificate Authority,O=HOME.CERT.COM
Valid From: Sat Jun 24 04:45:10 2017 UTC
Valid Until: Wed Jun 24 04:45:10 2037 UTC

Enrolled in IPA realm HOME.CERT.COM
Created /etc/ipa/default.conf
New SSSD config will be created
Configured sudoers in /etc/nsswitch.conf
Configured /etc/sssd/sssd.conf
Configured /etc/krb5.conf for IPA realm HOME.CERT.COM
trying https://labrhelserver.home.cert.com/ipa/json
Forwarding 'schema' to json server 'https://labrhelserver.home.cert.com/ipa/json'
trying https://labrhelserver.home.cert.com/ipa/session/json
Forwarding 'ping' to json server 'https://labrhelserver.home.cert.com/ipa/session/json'
Forwarding 'ca_is_enabled' to json server 'https://labrhelserver.home.cert.com/ipa/session/json'
Systemwide CA database updated.
Adding SSH public key from /etc/ssh/ssh_host_rsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ecdsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ed25519_key.pub
Forwarding 'host_mod' to json server 'https://labrhelserver.home.cert.com/ipa/session/json'
SSSD enabled
Configured /etc/openldap/ldap.conf
NTP enabled
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config
Configuring home.cert.com as NIS domain.
Client configuration complete.
[root@labsystem2 ~]#

Ahora debemos continuar en el servidor IPA, por lo que iniciamos sesion o simplemente nos logeamos via ssh:

$ ssh labrhelserver -l root
Password:
Last login: Sat Jun 24 10:53:04 2017 from gateway
[root@labrhelserver ~]# kinit admin
Password for admin@HOME.CERT.COM: password
[root@labrhelserver ~]# ipa service-add
Principal name: nfs/labsystem2.home.cert.com
----------------------------------------------------------
Added service "nfs/labsystem2.home.cert.com@HOME.CERT.COM"
----------------------------------------------------------
Principal name: nfs/labsystem2.home.cert.com@HOME.CERT.COM
Principal alias: nfs/labsystem2.home.cert.com@HOME.CERT.COM
Managed by: labsystem2.home.cert.com
[root@labrhelserver ~]#

Ahora debemos regresar al cliente 2:

[root@labsystem2 ~]# kinit admin
Password for admin@HOME.CERT.COM: password
[root@labsystem2 ~]# ipa-getkeytab -s labrhelserver.home.cert.com -k /etc/krb5.keytab -p host/labsystem2.home.cert.com@HOME.CERT.COM
Keytab successfully retrieved and stored in: /etc/krb5.keytab
[root@labsystem2 ~]# scp /etc/krb5.keytab labrhelserver.home.cert.com:/var/ftp/pub/labsystem2.keytab
Password:
krb5.keytab 100% 378 0.4KB/s 00:00
[root@labsystem2 ~]#

Y listo, ya tenemos el cliente 2 enrolado en el servidor IPA. Y tambien el archivo krb5.keytab fue copiado al ftp, para tenerlo listo al igual que el del cliente 1.

[root@labrhelserver ~]# cd /var/ftp/pub/
[root@labrhelserver pub]# ll
total 8
-r--r--r--. 1 root root 1317 Jun 23 22:17 ca.crt
-r--r--r--. 1 root root 376 Jun 24 11:53 labsystem1.keytab
[root@labrhelserver pub]# ll
total 12
-r--r--r--. 1 root root 1317 Jun 23 22:17 ca.crt
-r--r--r--. 1 root root 376 Jun 24 11:53 labsystem1.keytab
-rw-------. 1 root root 378 Jun 24 15:43 labsystem2.keytab
[root@labrhelserver pub]# chmod 444 labsystem2.keytab
[root@labrhelserver pub]# ll
total 12
-r--r--r--. 1 root root 1317 Jun 23 22:17 ca.crt
-r--r--r--. 1 root root 376 Jun 24 11:53 labsystem1.keytab
-r--r--r--. 1 root root 378 Jun 24 15:43 labsystem2.keytab
[root@labrhelserver pub]#

Despues de esto solo nos queda comanzar con las practicas para el examen de ingeniería RHCE.

1 thought on “Preparar su laboratorio para practicar los objetivos del examen de ingeniería RHCE”

Leave a Reply

Your email address will not be published. Required fields are marked *