Cómo cambiar la IP en Zentyal¶
En esta entrada vamos a explicar cómo cambiar la IP de un servidor Zentyal.
Tabla de contenidos
Consideraciones generales¶
Si queremos cambiar la IP del servidor Zentyal, es necesario tener en cuenta qué módulos tenemos habilitados. Si no tenemos los módulos de DNS [1] y Controlador de Dominio [2] habilitados, simplemente tendremos que cambiar la IP en el módulo de Red desde el panel de administración web. Si por el contrario, tenemos los módulos mencionados instalados y habilitados, tendremos que realizar una serie de acciones adicionales para minimizar posibles incidencias.
En el caso de tener el módulo DHCP [3] habilitado con un rango de direcciones IP configurado, al modificar la dirección IP de la interfaz de red a través de la cual Zentyal está sirviendo el módulo DHCP, el sistema elimina automáticamente el rango de direcciones IP configurado para el servicio DHCP.
[1] | DNS: https://doc.zentyal.org/es/dns.html |
[2] | Controlador de Dominio: https://doc.zentyal.org/es/directory.html |
[3] | DHCP: https://doc.zentyal.org/es/dhcp.html |
Sin los módulos DNS y Controlador de Dominio¶
Este es el caso más sencillo de todos, al no tener los los módulos DNS y Controlador de Dominio habilitados.
Entorno del laboratorio¶
El entorno del laboratorio sobre el que haremos las pruebas tiene las siguientes características:
- Módulos instalados → Red, Cortafuegos, Logs, NTP.
- Interfaz de red: eth0 → 10.0.2.15
- Interfaz de red: eth1
- Dirección IP actual eth1: 192.168.10.1
- Dirección IP deseada eth1: 192.168.10.10
Cambio de IP¶
- Nos logeamos en el panel de administración de Zentyal, vamos a: Red -> Interfaces y seleccionaremos la interfaz de red que queremos cambiar:
- Modificamos la IP y guardamos cambios:
Una vez que se hayan guardado los cambios, comprobamos desde la línea de comandos que el cambio se ha realizado correctamente:
Comprobación de la IP:
sudo ip -4 addr show dev eth1
Resultados:
eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.10.10/24 brd 192.168.10.255 scope global eth1 valid_lft forever preferred_lft forever
Truco
En caso de que la IP no haya cambiado o que la interfaz esté caída, tendremos que revisar el archivo de log: /var/log/zentyal/zentyal.log
Con el Controlador de Dominio¶
Este cambio es más complejo, ya que requiere realizar varias acciones previas y posteriores al cambio de IP.
Advertencia
Las acciones requeridas causarán una pérdida temporal de los módulos DNS y Controlador de Dominio.
Entorno del laboratorio¶
El entorno del laboratorio sobre el que haremos las pruebas tiene las siguientes características:
- Módulos instalados: Red, Cortafuegos, Logs, DNS, Controlador de Dominio, Correo, Webmail.
- Interfaz de red: eth0 → 10.0.2.15
- Interfaz de red: eth1
- Dirección IP actual eth1: 192.168.10.1
- Dirección IP deseada eth1: 192.168.10.10
- Usuario administrador del Dominio: administrator
Registros DNS que deberán cambiar desde la IP 192.168.10.1:
Cambio de IP¶
- Nos logeamos en el panel de administración de Zentyal, vamos a: Habilitar módulos, seleccionaremos el módulo de DNS para deshabilitarlo temporalmente:
- Guardamos cambios.
- Vamos a Red -> Interfaces y seleccionaremos la interfaz de red que queremos cambiar:
- Modificamos la IP y guardamos cambios:
Comprobamos los registros DNS para el dominio y el hostname del servidor del módulo DNS desde DNS -> Dominio:
Registros DNS que han debido cambiar a 192.168.10.10:
- Guardamos cambios en caso de haber modificado algún registro del paso anterior.
- Habilitamos el módulo DNS desde Habilitar módulos y guardamos cambios:
Realizamos las siguientes confirmaciones:
Confirmamos que el módulo DNS se haya iniciado correctamente:
sudo zs dns status
Resultados:
Zentyal: status module dns: [ RUNNING ]
Confirmamos que el módulo DNS está escuchando en la nueva IP
sudo ss -tuln | egrep :53
Resultados:
udp UNCONN 0 0 192.168.10.10:53 0.0.0.0:* udp UNCONN 0 0 192.168.10.10:53 0.0.0.0:* udp UNCONN 0 0 10.0.2.15:53 0.0.0.0:* udp UNCONN 0 0 10.0.2.15:53 0.0.0.0:* udp UNCONN 0 0 127.0.1.1:53 0.0.0.0:* udp UNCONN 0 0 127.0.1.1:53 0.0.0.0:* udp UNCONN 0 0 127.0.0.1:53 0.0.0.0:* udp UNCONN 0 0 127.0.0.1:53 0.0.0.0:* tcp LISTEN 0 10 10.0.2.15:53 0.0.0.0:* tcp LISTEN 0 10 10.0.2.15:53 0.0.0.0:* tcp LISTEN 0 10 192.168.10.10:53 0.0.0.0:* tcp LISTEN 0 10 192.168.10.10:53 0.0.0.0:* tcp LISTEN 0 10 127.0.0.1:53 0.0.0.0:* tcp LISTEN 0 10 127.0.0.1:53 0.0.0.0:* tcp LISTEN 0 10 127.0.1.1:53 0.0.0.0:* tcp LISTEN 0 10 127.0.1.1:53 0.0.0.0:*
Confirmamos que los registros DNS modificados se están resolviendo con la nueva IP:
dig zentyal-domain.lan A dig zentyal.zentyal-domain.lan A
Resultados:
### dig zentyal-domain.lan A ; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> zentyal-domain.lan ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65394 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 1e744af8175ad1cb0100000066a7868b2996b70fcfade79c (good) ;; QUESTION SECTION: ;zentyal-domain.lan. IN A ;; ANSWER SECTION: zentyal-domain.lan. 259200 IN A 10.0.2.15 zentyal-domain.lan. 259200 IN A 192.168.10.10 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP) ;; WHEN: Mon Jul 29 14:09:47 CEST 2024 ;; MSG SIZE rcvd: 107 ### dig zentyal.zentyal-domain.lan A ; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> zentyal.zentyal-domain.lan ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34095 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: c1bebc39bdea7b6e0100000066a786ad659f6c0641b09fa1 (good) ;; QUESTION SECTION: ;zentyal.zentyal-domain.lan. IN A ;; ANSWER SECTION: zentyal.zentyal-domain.lan. 259200 IN A 10.0.2.15 zentyal.zentyal-domain.lan. 259200 IN A 192.168.10.10 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP) ;; WHEN: Mon Jul 29 14:10:21 CEST 2024 ;; MSG SIZE rcvd: 115
Truco
Si hay algún dato que creemos incorrecto, tendremos que revisar los archivos de log: /var/log/zentyal/zentyal.log
y /var/log/syslog
- Habilitamos el módulo de Controlador de Dominio desde Habilitar módulos y guardamos los cambios.
Realizamos las siguientes confirmaciones:
Confirmamos que el módulo Controlador de Dominio se haya iniciado correctamente y que el módulo DNS sigue activo:
sudo zs dns status sudo zs samba status
Resultados:
Zentyal: status module dns: [ RUNNING ] Zentyal: status module samba: [ RUNNING ]
Confirmamos que ambos módulos están escuchando en la nueva IP:
sudo ss -tuln | egrep ':(53|139)'
Resultados:
udp UNCONN 0 0 192.168.10.10:53 0.0.0.0:* udp UNCONN 0 0 192.168.10.10:53 0.0.0.0:* udp UNCONN 0 0 10.0.2.15:53 0.0.0.0:* udp UNCONN 0 0 10.0.2.15:53 0.0.0.0:* udp UNCONN 0 0 127.0.1.1:53 0.0.0.0:* udp UNCONN 0 0 127.0.1.1:53 0.0.0.0:* udp UNCONN 0 0 127.0.0.1:53 0.0.0.0:* udp UNCONN 0 0 127.0.0.1:53 0.0.0.0:* tcp LISTEN 0 10 192.168.10.10:53 0.0.0.0:* tcp LISTEN 0 10 192.168.10.10:53 0.0.0.0:* tcp LISTEN 0 50 127.0.1.1:139 0.0.0.0:* tcp LISTEN 0 10 127.0.1.1:53 0.0.0.0:* tcp LISTEN 0 10 127.0.1.1:53 0.0.0.0:* tcp LISTEN 0 50 192.168.10.10:139 0.0.0.0:* tcp LISTEN 0 50 127.0.0.1:139 0.0.0.0:* tcp LISTEN 0 10 127.0.0.1:53 0.0.0.0:* tcp LISTEN 0 10 127.0.0.1:53 0.0.0.0:* tcp LISTEN 0 50 10.0.2.15:139 0.0.0.0:* tcp LISTEN 0 10 10.0.2.15:53 0.0.0.0:* tcp LISTEN 0 10 10.0.2.15:53 0.0.0.0:*
Consultamos vía samba-tool que los registros DNS han sido correctamente modificados:
sudo samba-tool dns query 127.0.0.1 zentyal-domain.lan @ ALL -Uadministrator
Resultados:
Name=, Records=4, Children=0 SOA: serial=34, refresh=900, retry=600, expire=86400, minttl=3600, ns=zentyal.zentyal-domain.lan., email=hostmaster.zentyal-domain.lan. (flags=600000f0, serial=33, ttl=3600) NS: zentyal.zentyal-domain.lan. (flags=600000f0, serial=33, ttl=259200) A: 10.0.2.15 (flags=600000f0, serial=33, ttl=259200) A: 192.168.10.10 (flags=600000f0, serial=33, ttl=259200) Name=_kerberos, Records=1, Children=0 TXT: "zentyal-domain.lan" (flags=f0, serial=9, ttl=259200) Name=_msdcs, Records=0, Children=0 Name=_sites, Records=0, Children=1 Name=_tcp, Records=0, Children=5 Name=_udp, Records=0, Children=3 Name=DomainDnsZones, Records=0, Children=2 Name=ForestDnsZones, Records=0, Children=2 Name=zentyal, Records=2, Children=0 A: 192.168.10.10 (flags=f0, serial=33, ttl=259200) A: 10.0.2.15 (flags=f0, serial=33, ttl=259200)
El dominio resuelve con la nueva IP:
dig @192.168.10.10 zentyal-domain.lan A dig @192.168.10.10 zentyal.zentyal-domain.lan A
Resultados:
### dig @192.168.10.10 zentyal-domain.lan A ; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> @192.168.10.10 zentyal-domain.lan A ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2226 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 45d7a294d52b11f50100000066b1e1cd7c93a16e2ed5352f (good) ;; QUESTION SECTION: ;zentyal-domain.lan. IN A ;; ANSWER SECTION: zentyal-domain.lan. 259200 IN A 192.168.10.10 zentyal-domain.lan. 259200 IN A 10.0.2.15 ;; Query time: 0 msec ;; SERVER: 192.168.10.10#53(192.168.10.10) (UDP) ;; WHEN: Tue Aug 06 10:41:49 CEST 2024 ;; MSG SIZE rcvd: 107 ### dig @192.168.10.10 zentyal.zentyal-domain.lan A ; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> @192.168.10.10 zentyal.zentyal-domain.lan A ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15546 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 329dc989a3157ed80100000066b1e1cd6c163a08fca116b1 (good) ;; QUESTION SECTION: ;zentyal.zentyal-domain.lan. IN A ;; ANSWER SECTION: zentyal.zentyal-domain.lan. 259200 IN A 192.168.10.10 zentyal.zentyal-domain.lan. 259200 IN A 10.0.2.15 ;; Query time: 4 msec ;; SERVER: 192.168.10.10#53(192.168.10.10) (UDP) ;; WHEN: Tue Aug 06 10:41:49 CEST 2024 ;; MSG SIZE rcvd: 115
En caso de que los registros DNS no hayan actualizado correctamente, tendremos que usar la línea de comandos para modificarlos como se detalla en este enlace [4] :
# Registro para el dominio sudo samba-tool dns update 127.0.0.1 zentyal-domain.lan @ A 192.168.10.1 192.168.10.10 -Uadministrator # Registro para el hostname sudo samba-tool dns update 127.0.0.1 zentyal-domain.lan zentyal A 192.168.10.1 192.168.10.10 -Uadministrator
Comprobamos nuevamente los cambios:
sudo samba-tool dns query 127.0.0.1 zentyal-domain.lan zentyal A -Uadministrator dig @192.168.10.10 zentyal-domain.lan A dig @192.168.10.10 zentyal.zentyal-domain.lan A
[4] | Cambio de IP manualmente vía CLI: https://wiki.samba.org/index.php/DNS_Administration#Updating_existing_records |