Vamos a hablar un poco de la versión ADCD z/OS V2R4 December Edition of 2020. También veremos cómo configurar el TCPIP en esta versión y regenerar los certificados de z/OSMF y ZOWE para que funcionen correctamente.
Las versiones ADCD son los sistemas z/OS que se distribuyen con el ZDPT (para partners) e IBM Z Development and Test Environment (para clientes).
En el siguiente enlace se encuentra el contenido de la nueva versión:
ADCD z/OS V2R4 December Edition of 2020
Además, las versiones ZD&T (más enfocadas al desarrollo, pero sirven perfectamente para aprender y practicar “la parte de sistemas”) tienen algunos cambios y, además, incluyen este software adicional:
Modified ADCD z/OS V2R4 December Edition of 2020
Aquí se detalla la configuración SMS de versiones ZD&T:
Los productos que más me interesan de esta versión (y los que más probaré) son:
-
- z/OSMF 2.4
- IBM Z NetView 6.3.0
- IBM Z System Automation 4.2
- IBM Z WORKLOAD SCHEDULER 9.5
- ZOWE
- IBM CL/SUPERSESSION FOR Z/OS 2.1.0
- OMEGAMON
- IBM Z Open Automation Utilities 1.1.0
- IBM Z Monitoring Suite 1.1.1
La disponibilidad de las nuevas versiones de ADCD para los que tenemos el producto ZD&T es de unos 3-4 meses posterior al lanzamiento para los partners.
Para mi gusto, estas versiones son un poco “enrevesadas” en cuanto a las librerías PARMLIB y PROCLIB, pero bueno, podría ser una futura entrada del blog en intentar hacer un proceso mediante jobs que simplifique un poco esta situación.
Otra cosa que le faltan a la versión ADCD de ZD&T es la posibilidad de acceder a las PTFs que haya disponibles. Para los partners que usan ZPDT esto si es posible, para los clientes, no.
Para la configuración TCPIP con ZD&T podéis consultar esta entrada del blog:
IBM Z Development and Test Environment - Configurando OSA y TCPIP en z/OS
En mi caso, la definición del fichero de configuración es la siguiente (path F0):
name awsosa 0010 --path=F0 --pathtype=OSD
device 404 osa osa
device 405 osa osa
device 406 osa osa
Para saber el parámetro del “path”, podemos utilizar el comando find_io. De esta forma podemos saber cuál debemos usar. Los que empiezan por A* se usan para la comunicación entre el emulador y el sistema Ubuntu.
En este caso, el path que da “acceso a mi red” es el F0. Es posible que tengamos dos redes, por ejemplo, una con cable y otra WIFI, y el parámetro que tengamos que usar sea F1 porque estamos utilizando la red WIFI en vez de estar conectados por cable. Por este motivo, lo mejor es utilizar el comando find_io para evitar errores y ver qué red usamos.
Una vez hemos arrancado el sistema, tenemos que hacer la configuración en TCPIP.
Para saber qué configuración se usa (profile), miramos la tarea TCPIP.
En este caso, usa: ADCD.Z24C.TCPPARMS(PROF2)
Si miramos ese miembro, veremos que incluye otros ficheros.
En este caso, tenemos que editar el miembro: ADCD.Z24C.TCPPARMS(ZPDTDEV1)
** Podemos confirmar que se usa en la tarea TCPIP.
La configuración que utilizo es la siguiente:
DEVICE PORTA MPCIPA
LINK ETH1 IPAQENET PORTA
HOME 10.1.1.2 ETH1
DEVICE PORTB MPCIPA
LINK ETH2 IPAQENET PORTB
HOME 192.168.1.12 ETH2
BEGINRoutes
; Destination SubnetMask FirstHop LinkName Size
ROUTE 192.168.1.0 255.255.255.0 = ETH2 MTU 1500
ROUTE 10.0.0.0 255.0.0.0 = ETH1 MTU 1500
; Destination First Hop LinkName Size
ROUTE DEFAULT 192.168.1.1 ETH2 MTU 1500
ENDRoutes
START PORTA
START PORTB
** NOTA:
Si la velocidad de transferencia por FTP es lenta, hay que hacer lo siguiente en el Sistema Operativo (Ubuntu, en mi caso):
sudo apt-get install ethtool
Para saber el nombre del dispositivo de red:
ifconfig
Comando:
sudo ethtool -K eth0 gro off
O si el nombre del dispositivo es "eno1", como es mi caso, comando:
sudo ethtool -K eno1 gro off
El siguiente paso es cambiar el nombre del dominio del sistema. En mi caso, lo llamaré emuframezos.com.
Para ello tenemos que editar el miembro de la DD “SYSTCPD”.
Editamos el parámetro DOMAINORIGIN.
Ya tendríamos modificada la tarea TCPIP. Ahora podemos reiniciar la tarea TCPIP para que coja los cambios o usar el comando:
V TCPIP,procname,CMD=OBEYFILE,DSN=profile
Por ejemplo:
V TCPIP,TCPIP,CMD=OBEYFILE,DSN=ADCD.Z24C.TCPPARMS(PROF2)
Ahora vamos a cambiar la configuración de la tarea RESOLVER. Para saber qué ficheros de configuración utiliza, usaremos el comando:
F RESOLVER,DISPLAY
Debemos modificar los ficheros de “GLOBALTCPIPDATA” y “GLOBALIPNODES”.
En el fichero, “/etc/resolv.conf” (GLOBALTCPIPDATA), pondré los DNS de Google para resolver nombres de dominio:
nsinteraddr 8.8.8.8
nsinteraddr 8.8.4.4
En el fichero, “/etc/hosts” (GLOBALIPNODES), ponemos el nombre del dominio y la IP asociada.
Una vez modificado, refrescamos la configuración del RESOLVER. Comando:
F RESOLVER,REFRESH
Al haber hecho estas modificaciones de IP y dominio, hay que volver a generar los certificados de z/OSMF y ZOWE para que funcionen correctamente. Además, los de z/OSMF caducan en Agosto de 2021. Así aprendemos a generarlos de nuevo.
En este post antiguo, se cuenta de forma más detalla la parte de los certificados (está en español, pero podéis usar el traductor):
z/OS Management Facility 2.3 - z/OSMF - Instalación
Comprobamos el estado de los certificados con los siguientes comandos de TSO:
Para ver el “keyring”:
RACDCERT LISTRING(IZUKeyring.IZUDFLT) ID(IZUSVR)
Para los certificados del usuario IZUSVR:
RACDCERT LIST ID(IZUSVR)
Para ver un certificado concreto:
RACDCERT LIST (LABEL('zOSMFCA')) CERTAUTH
RACDCERT LIST (LABEL('DefaultzOSMFCert.IZUDFLT')) ID(IZUSVR)
Muy importante el estado “TRUST”. Si no es TRUST, no funcionará por mucho que lo tengamos añadido.
Ahora eliminamos estos dos certificados con los comandos:
RACDCERT DELETE (LABEL('zOSMFCA')) CERTAUTH
RACDCERT DELETE (LABEL('DefaultzOSMFCert.IZUDFLT ')) ID(IZUSVR)
Y luego, refrescar la configuración:
SETROPTS RACLIST(DIGTCERT, DIGTRING) REFRESH
Ahora buscamos el job SYS1.SAMPLIB(IZUSEC) y lo copiamos a una librería nuestra.
Debemos quitar todo menos lo siguiente:
/* Create the CA certificate for the z/OSMF server */
RACDCERT CERTAUTH GENCERT +
SUBJECTSDN(CN('z/OSMF CertAuth for Security Domain') +
OU('IZUDFLT')) WITHLABEL('zOSMFCA') +
TRUST NOTAFTER(DATE(2023/05/17))
RACDCERT ADDRING(IZUKeyring.IZUDFLT) ID(IZUSVR)
/* Create the server certificate for the z/OSMF server */
/* Change HOST NAME in CN field into real local host name */
/* Usually the format of the host name is 'XXXX.XXX.XXX.XXX' */
RACDCERT ID( IZUSVR ) GENCERT SUBJECTSDN(CN('HOST NAME') +
O('IBM') OU('IZUDFLT')) WITHLABEL('DefaultzOSMFCert.IZUDFLT'), +
SIGNWITH(CERTAUTH LABEL('zOSMFCA')) NOTAFTER(DATE(2023/05/17))
RACDCERT ALTER(LABEL('DefaultzOSMFCert.IZUDFLT')) ID(IZUSVR) TRUST
RACDCERT ID( IZUSVR ) CONNECT (LABEL('DefaultzOSMFCert.IZUDFLT') +
RING(IZUKeyring.IZUDFLT) DEFAULT)
RACDCERT ID( IZUSVR ) CONNECT (LABEL('zOSMFCA') +
RING(IZUKeyring.IZUDFLT) CERTAUTH)
En mi caso, he modificado la fecha de validez de “2023/05/17” a “2025/05/17”. Y modificado el parámetro “HOST NAME” por “S0W1.EMUFRAMEZOS.COM”.
Además, añadiremos el “refresh”:
SETROPTS RACLIST(DIGTCERT, DIGTRING) REFRESH
** Se puede descargar el job al principio de la entrada.
Una vez termine correctamente el job, comprobamos que tenemos los nuevos certificados.
Ahora vamos a centrarnos en ZOWE. Debemos cambiar la configuración para modificar la IP y el dominio.
Para saber la instancia que se está usando, tenemos que revisar la tarea ZWESVSTC de la librería ADCD.Z24C.PROCLIB.
Veremos que la ruta de la instancia es: /apps/zowe/v10/server/zwe1sv/
Dentro de usa ruta tenemos que editar el fichero “instance.env”. Ajustamos los parámetros:
ZOSMF_HOST, ZOWE_EXPLORER_HOST y ZOWE_IP_ADDRESS.
El siguiente enlace es que usaré para volver a generar los certificados de ZOWE. Es muy sencillo: modificar un fichero de parámetros y ejecutar un proceso.
Configuring Zowe certificates in UNIX files
En la ruta /usr/lpp/zowe/bin/, se encuentra el ejecutable “zowe-setup-certificates.sh” y el fichero de parámetros “zowe-setup-certificates.env”.
Para crear los certificados podemos usar dos comandos:
Si queremos que use el fichero de parámetros del mismo directorio, usaremos:
/usr/lpp/zowe/bin/zowe-setup-certificates.sh
Si queremos usar el fichero de parámetros de otro directorio, usaremos:
/usr/lpp/zowe/bin/zowe-setup-certificates.sh -p ruta/zowe-setup-certificates.env
Pero antes, tenemos que editar el fichero de configuración “zowe-setup-certificates.env”.
Para esta versión, como ya he investigado, mi recomendación es que vayáis a la ruta “/apps/zowe/v10/security/”.
En esa ruta se encuentra el fichero de configuración que usaron para la instalación, por lo tanto, es más rápido.
En mi caso, lo copié a la ruta “/apps/zowe/” porque sino el comando era muy largo.
Lo editamos y ajustamos los parámetros.
Ahora vamos a OMVS (TSO OMVS). Y vamos a la ruta /usr/lpp/zowe/bin/ (comando: cd). Ejecutamos el comando:
./zowe-setup-certificates.sh -p /apps/zowe/zowe-setup-certificates.env
En mi sistema, la ejecución tardó bastantes minutos. Podemos dar intro de vez en cuando para ver si termina.
Aquí finaliza esta entrada. ¡Espero que os sirva de ayuda!