Desactivar soporte IPv6 para SSH

Por defecto los servidores Centos y Ubuntu abren sus puertos para conexiones de SSH para direcciones IPv4 e IPv6.

Para permitir el acceso a clientes usando solo direcciones IPv4 ; solo necesitas modificar el archivo /etc/ssh/sshd_config y comentar la linea correspondiente a IPv6.

Antes:

Puerto 22:

javier@centos:~
# netstat -tlpn | grep 22
tcp        0      0 0.0.0.0:22           0.0.0.0:*            LISTEN      990/sshd
tcp6       0      0 :::22                :::*                 LISTEN      990/sshd

Configuracion:

javier@centos:~
#ListenAddress ::
ListenAddress 0.0.0.0

Despues:

javier@centos:~
#ListenAddress ::
ListenAddress 0.0.0.0

Reinicia el servidor SSH.

javier@centos:~
sudo systemctl restart sshd

Y ahora ejecuta netstat para verificar que SSH solo recibira conexiones IPv4.

javier@centos:~
$ sudo netstat -tlpn | grep 22
tcp        0      0 0.0.0.0:22           0.0.0.0:*            LISTEN      30349/sshd

 

Instalar VirtualBox Guest Additions Centos 7/8

Sigue estas instrucciones para instalar Virtual Box Guest Additions con lo que podrás tomar ventaja de cambiar la resolución de la pantalla, compartir el clipboard entre otras cosas.

Vas a necesitar acceso privilegiado (SUDO).

1. Instala el respositorio EPEL

javier@centos:~
$ sudo yum -y install epel-release

2. Ahora instala las dependencias.

javier@centos:~
$ sudo yum install perl gcc dkms kernel-devel kernel-headers make bzip2

3. Accede a tu maquina virtual y en el menu Devices haz click en Insert Guest Additions CD Image…

 

4. Haz click en Run para iniciar la instalación.

 

5. Introduce tu contraseña y haz click en Authenticate.

 

6. La instalación iniciara una vez terminado el proceso presiona la tecla Enter y reinicia la maquina virtual. Listo!

 

Desactivar IPv6 en Centos

IPv6 es la evolución de las direcciones IPv4 que busca eliminar las limitantes que por diseño tienen las direcciones IPv4: el número limitado de direcciones.

En términos generales el límite de direcciones IPv4 es 2^32, en total 4,294,967,296 direcciones IPv4.

El máximo número de direcciones IPv6 es 2^128 algo así como 340 sextillones de direcciones IPv6.

Sigue estos pasos para desactivar el soporte para direcciones IPv6 en tu equipo corriendo Centos 7 u 8.

1. Ejecuta el comando ip a | grep inet6 para identificar la presencia de direcciones IPv6, en el siguiente ejemplo podras ver la referencia a direcciones IPv6.

javier@centos:~
$ ip a | grep inet6
    inet6 ::1/128 scope host
    inet6 fe80::e468:5548:b637:8ee5/64 scope link noprefixroute

2. Ahora necesitas crear el archivo 70-ipv6.conf en la siguiente ubicación: /etc/sysctl.d, puedes usar tu editor de texto favorito ademas de accesso privilegiado (root). En mi caso yo usare VI

javier@centos:~
$ sudo vi /etc/sysctl.d/70-ipv6.conf

     net.ipv6.conf.all.disable_ipv6 = 1
     net.ipv6.conf.default.disable_ipv6 = 1

3. Ahora es necesario modificar parametros del kernel sin reinciar el equipo. Ejecuta el siguiente comando.

javier@centos:~
$ sudo sysctl –load /etc/sysctl.d/70-ipv6.conf

4. Ahora ejecuta nuevamente el comando del paso # 1 para verificar que el soporte a IPv6 no esta activo.

javier@centos:~
$ ip a | grep inet6
$

Estas intrucciones son validas para CentOS 7 y 8.

Como validar que tu servidor de correo procesa SPAM correctamente

La forma mas sencilla de validar que tu servidor de correo procesa el SPAM correctamente es enviando un mensaje de correo con la siguiente linea en el cuerpo del mensahe.

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

El mensaje solo debe contenar esa linea.

Si tu servidor de correo filtra el SPAM correctamente encontraras el mensaje en la carpeta de SPAM o JUNK EMAIL.

Eliminar todos los mensajes de correo de un buzon en Fedora

Eliminar los mensajes de correo de un buzon es mas facil de lo que crees.

Solo necesitas acceder al buzon y correr el comando d * (d seguido de un asterisco), presiona ENTER y listo.

Aqui los detalles.

1. Obten acceso a tu buzon, teclea mail seguido de ENTER, se desplegara una pantalla con correos, seguida de un prompt &.

Linux console | jpacheco@aex-infra ~
[jpacheco@aex-infra ~]$ mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
“/var/spool/mail/jpacheco”: 39723 messages 39719 unread
1 logwatch@aex-infra.a Thu Feb 20 03:14 177/6005 “Logwatch for aex-infr”
>U 2 logwatch@aex-infra.a Fri Feb 21 03:06 242/8971 “Logwatch for aex-infr”
U 3 logwatch@aex-infra.a Sat Feb 22 03:48 149/4913 “Logwatch for aex-infr”
U 4 logwatch@aex-infra.a Sun Feb 23 03:07 259/10508 “Logwatch for aex-infr”
U 5 logwatch@aex-infra.a Mon Feb 24 03:13 203/8006 “Logwatch for aex-infr”
U 6 logwatch@aex-infra.a Tue Feb 25 03:14 139/4729 “Logwatch for aex-infr”
7 logwatch@aex-infra.a Wed Feb 26 03:30 161/5705 “Logwatch for aex-infr”
U 8 logwatch@aex-infra.a Thu Feb 27 03:31 188/7288 “Logwatch for aex-infr”
U 9 logwatch@aex-infra.a Fri Feb 28 03:20 163/6014 “Logwatch for aex-infr”
U 10 logwatch@aex-infra.a Sat Mar 1 03:38 175/6550 “Logwatch for aex-infr”
U 11 logwatch@aex-infra.a Sun Mar 2 03:30 183/7327 “Logwatch for aex-infr”
U 12 logwatch@aex-infra.a Mon Mar 3 03:27 153/5206 “Logwatch for aex-infr”
U 13 logwatch@aex-infra.a Tue Mar 4 03:12 140/4877 “Logwatch for aex-infr”
U 14 logwatch@aex-infra.a Wed Mar 5 03:45 143/4877 “Logwatch for aex-infr”
U 15 logwatch@aex-infra.a Thu Mar 6 03:17 135/4328 “Logwatch for aex-infr”
U 16 logwatch@aex-infra.a Fri Mar 7 03:18 146/4757 “Logwatch for aex-infr”
U 17 logwatch@aex-infra.a Sat Mar 8 03:13 121/3944 “Logwatch for aex-infr”
U 18 logwatch@aex-infra.a Sun Mar 9 03:47 196/6591 “Logwatch for aex-infr”
U 19 logwatch@aex-infra.a Mon Mar 10 03:34 128/4172 “Logwatch for aex-infr”
U 20 logwatch@aex-infra.a Tue Mar 11 03:12 163/5823 “Logwatch for aex-infr”
&

2. Ahora, borra todos los correos, teclea: d * y luego presiona ENTER. Nota que no habra ningun mensaje o indicador de que se estan eliminando los mensajes de correo.

Linux console | jpacheco@aex-infra ~
[jpacheco@aex-infra ~]$ mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
“/var/spool/mail/jpacheco”: 39723 messages 39719 unread
1 logwatch@aex-infra.a Thu Feb 20 03:14 177/6005 “Logwatch for aex-infr”
>U 2 logwatch@aex-infra.a Fri Feb 21 03:06 242/8971 “Logwatch for aex-infr”
U 3 logwatch@aex-infra.a Sat Feb 22 03:48 149/4913 “Logwatch for aex-infr”
U 4 logwatch@aex-infra.a Sun Feb 23 03:07 259/10508 “Logwatch for aex-infr”
U 5 logwatch@aex-infra.a Mon Feb 24 03:13 203/8006 “Logwatch for aex-infr”
U 6 logwatch@aex-infra.a Tue Feb 25 03:14 139/4729 “Logwatch for aex-infr”
7 logwatch@aex-infra.a Wed Feb 26 03:30 161/5705 “Logwatch for aex-infr”
U 8 logwatch@aex-infra.a Thu Feb 27 03:31 188/7288 “Logwatch for aex-infr”
U 9 logwatch@aex-infra.a Fri Feb 28 03:20 163/6014 “Logwatch for aex-infr”
U 10 logwatch@aex-infra.a Sat Mar 1 03:38 175/6550 “Logwatch for aex-infr”
U 11 logwatch@aex-infra.a Sun Mar 2 03:30 183/7327 “Logwatch for aex-infr”
U 12 logwatch@aex-infra.a Mon Mar 3 03:27 153/5206 “Logwatch for aex-infr”
U 13 logwatch@aex-infra.a Tue Mar 4 03:12 140/4877 “Logwatch for aex-infr”
U 14 logwatch@aex-infra.a Wed Mar 5 03:45 143/4877 “Logwatch for aex-infr”
U 15 logwatch@aex-infra.a Thu Mar 6 03:17 135/4328 “Logwatch for aex-infr”
U 16 logwatch@aex-infra.a Fri Mar 7 03:18 146/4757 “Logwatch for aex-infr”
U 17 logwatch@aex-infra.a Sat Mar 8 03:13 121/3944 “Logwatch for aex-infr”
U 18 logwatch@aex-infra.a Sun Mar 9 03:47 196/6591 “Logwatch for aex-infr”
U 19 logwatch@aex-infra.a Mon Mar 10 03:34 128/4172 “Logwatch for aex-infr”
U 20 logwatch@aex-infra.a Tue Mar 11 03:12 163/5823 “Logwatch for aex-infr”
& d *

3. Sal de tu buzon de correo tecleando quit seguido de ENTER, entra de nuevo a tu buzon y listo.

Linux console | jpacheco@aex-infra ~
.
.
.
U 19 logwatch@aex-infra.a Mon Mar 10 03:34 128/4172 “Logwatch for aex-infr”
U 20 logwatch@aex-infra.a Tue Mar 11 03:12 163/5823 “Logwatch for aex-infr”
& d *
& quit

[jpacheco@aex-infra ~]$ mail
No mail for jpacheco

Como obtener la lista de tarjetas de red instaladas en un servidor corriendo Fedora Core

Obiviamente, ademas de usar la interfaz gráfica puedes recurrir a la consola de GNU/Linux para obtener la lista de tarjetas de red instaladas en tu sistema.

Sigue estos dos sencillos pasos:

1. Obten acceso tipo root

Linux console | jpacheco@aex-proxy1 ~
[jpacheco@aex-proxy1 ~]$ su
Password:
[root@aex-proxy1 ~]#

2. Ejecuta el comando dmesg para obtener los mensajes de control del Kernel de GNU/Linux de tu equipo corriendo Fedora Core, agrega el modificardor | grep eth para obtener los mensajes relacionados con las interfaces de red.

Linux console | jpacheco@aex-proxy1 ~
[root@aex-proxy1 ~]# dmesg | grep eth
[ 7.752281] r8169 0000:01:00.0 eth0: RTL8168e/8111e at 0xf7e66000, e8:de:27:02:ca:3f, XID 0c200000 IRQ 50
[ 7.752284] r8169 0000:01:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
[ 8.204309] e1000e 0000:00:19.0 eth1: (PCI Express:2.5GT/s:Width x1) 00:25:64:d6:2b:39
[ 8.204312] e1000e 0000:00:19.0 eth1: Intel(R) PRO/1000 Network Connection
[ 8.204354] e1000e 0000:00:19.0 eth1: MAC: 8, PHY: 8, PBA No: 8021FF-0FF
[ 8.533102] systemd-udevd[396]: renamed network interface eth1 to em1
[ 8.640123] systemd-udevd[399]: renamed network interface eth0 to p1p1

Fijate como la salida de dmesg, muestra el nombre real de las interfaces en este caso em1 y p1p1

Ejecuta el comando ifconfig para ver la lista de tarjetas de red y su configuración en el sistema.

Linux console | jpacheco@aex-proxy1 ~
[root@aex-proxy1 ~]# ifconfig
em1: flags=4163 mtu 1500
inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::225:64ff:fed6:2b39 prefixlen 64 scopeid 0x20 ether 00:25:64:d6:2b:39 txqueuelen 1000 (Ethernet)
RX packets 2505 bytes 234071 (228.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1970 bytes 228640 (223.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 21 memory 0xf7ae0000-f7b00000

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 53 bytes 5940 (5.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 53 bytes 5940 (5.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

p1p1: flags=4099 mtu 1500
ether e8:de:27:02:ca:3f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

em1 – es la interfaz que en este momento esta activa y cuenta con la dirección IP 192.168.1.2, mascara de subred 255.255.255.0 (o 192.168.0.2/24 – lo explicaré otro dia con mas calma)
lo – interface de red de localhost o loopback IP 127.0.0.1 es decir tu equipo
p1p1 – otra interface de red física pero esta aún no ha sido configurada

Post relacionados:
Topologías de red
Conceptos de redes
Dispositivos de red :: Switch
Dispositivos de red :: Concentrador o ‘hub’
Redes de computadoras
Direcciones IPv4
Modelo de Referencia OSI

Squid Proxy Cache Instalación en Fedora Core

Squid-cacheSquid Proxy Cache es un servidor que actúa como intermediario entre una red e Internet para lo cual guarda en cache peticiones recurrentes a servidored web y de DNS, asi mismo acelera el acceso a un servidor web y proveé de seguridad mediante el filtrado del tráfico de Internet.

El proceso de instalación en Fedora Core es por demás sencillo, nuevamente recurriremos a yum. Y como ya es sabido, requerimos de acceso tipo root para la instalación.

Instalación

1. Accedemos a nuestro servidor y obtenemos acceso tipo root.

Linux console | jpacheco@aex-proxy1 ~
[jpacheco@aex-proxy1 ~]$ su
Password:
[root@aex-proxy1 ~]#

2. Ejecutaremos la instalación usando: yum como se muestra a continuación.

Linux console | root@aex-proxy1 ~
[root@aex-proxy1 ~]$ yum -y install squid
Loaded plugins: langpacks, refresh-packagekit
Resolving Dependencies
–> Running transaction check
—> Package squid.i686 7:3.3.13-1.fc20 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
squid i686 7:3.3.13-1.fc20 updates 2.5 M

Transaction Summary
================================================================================
Install 1 Package

Total download size: 2.5 M
Installed size: 8.7 M
Downloading packages:
squid-3.3.13-1.fc20.i686.rpm | 2.5 MB 00:07
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction (shutdown inhibited)
Installing : 7:squid-3.3.13-1.fc20.i686 1/1
Verifying : 7:squid-3.3.13-1.fc20.i686 1/1

Installed:
squid.i686 7:3.3.13-1.fc20

Complete!

[root@aex-proxy1 ~]#

3. Para asegurarnos de que SQUID arrancara cada vez que iniciemos nuestro equipo usaremos systemctl.

Linux console | root@aex-proxy1 ~
[root@aex-proxy1 ~]$ systemctl enable squid.service
ln -s ‘/usr/lib/systemd/system/squid.service’ ‘/etc/systemd/system/multi-user.target.wants/squid.service’
[root@aex-proxy1 ~]#

Los siguientes comandos te sirven para controlar el servidor:

systemctl start squid.service <- Arranca SQUID systemctl status squid.service <- Muestra el estado de SQUID systemctl stop squid.service <- Detiene la ejecución de SQUID

Listo, Squid esta instalado y listo para arrancar automaticamente al encender el servidor.

Posts relacionados:
Squid Proxy Cache | TCP_MISS/304 TCP_MISS/200

Eliminar carpeta en Windows con espacio al final del nombre

Si por alguna extraña razón no puedes borrar una carpeta en Microsoft Windows, esto puede pasar porque los sistemas operativos de Mirosoft no “saben” como manejar los “espacios” al final del nombre.

Esto me paso recientemente cuando en mi Mac cree una carpeta llanada: “Sesion 10 ” (notese el espacio al final del nombre), OwnCloud, no tuvo problemas en sincrinizar la carpeta al servidor (fedora), de igual forma el cliente de OwnCloud sincronizó la carpeta en mi computadora que corre Windows 8.1.

El problema se me presento al tratar de borrar la carpeta, solo recibia el mensaje: “El archivo no existe”.

Asi que para eliminar la carpeta puedes intentar con las siguientes opciones:

1. Usando rutas UNC.

Command Prompt | rd “\\.\C:\Carpeta\Sesion 10 “
C:/> rd “\\.\C:\Carpeta\Sesion 10 ”

2. Agregando una diagonal invertida [\] al final

Command Prompt | rd “Sesion 10 \”
C:/> rd “Sesion 10 \”
Command Prompt | rd “\\.\C:\Carpeta\Sesion 10 \”
C:/> rd “\\.\C:\Carpeta\Sesion 10 \”

3. Usando los nobres de archivo 8.3, si es que esta opcion esta activa en el sistema.

Command Prompt | rd sesion~1″
C:/> rd sesion~1

¿Como cambiar la contraseña de root en MySQL?

Si por alguna razón, olvidaste la contraseña de root de tu servidor MySQL, en este post te explico como recuperarla. Como siempre este post aplica para distribuciones GNU/Linux basadas en RedHat.

Sintoma

Al intentar conectarte al servidor MySQL recibes un mesaje de errror 1045, como se muestra a continuación:

Linux console | jpacheco@aex-infra ~
[jpacheco@aex-infra ~]$ mysql -u jpacheco -p
Enter password:
ERROR 1045 (28000): Access denied for user ‘jpacheco’@’localhost’ (using password: YES)

Pre-reqisitos

– Acceso de root en el servidor ya que es necesario detener los servicios de MySQL y arrancar el servicio de MySQL manualmente.

Procedimiento

Para solucionar este problema sigue estos ocho sencillos pasos.

1. Obten acceso de root en el servidor

Linux console | jpacheco@aex-infra ~
[jpacheco@aex-infra ~]$ su
Password:
[root@aex-infra jpacheco]#

2. Ahora hay que detener el servicio MySQL Server

Linux console | root@aex-infra /
[root@aex-infra jpacheco]# systemctl stop mysqld.service

3. A continuación, arrancaremos MySQL en modo seguro usando: safe_mysqld --skip-grant-tables“.

Linux console | root@aex-infra /
[root@aex-infra jpacheco]# safe_mysqld –skip-grant-tables
140906 13:33:11 mysqld_safe Logging to ‘/var/log/mysqld.log’.
140906 13:33:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

El proceso anterior deberá seguir ejecutandose, por lo que necesitaras abrir una nueva consola (con acceso a root) y ejecutar en ella el comando: mysql -u root mysql

Linux console | root@aex-infra /
[root@aex-infra ~]# mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.5.35 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

Nota como MySQL server no requirio de una contraseña.

4. Ahora, asignaremos una nueva contraseña.

Linux console | root@aex-infra /
mysql> UPDATE mysql.user SET Password=PASSWORD(‘contraseña‘) WHERE User=’root’;
Query OK, 3 rows affected (0.06 sec)
Rows matched: 4 Changed: 3 Warnings: 0

mysql>

Cambia, la palabra contraseña por la nueva contraseña de root de tu servidor MySQL.

5. Un par de comandos, FLUSH PRIVILEGES; y quit; antes de continuar.

Linux console | root@aex-infra /
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> quit;
Bye

6. Debemos terminar el proceso safe_mysqld --skip-grant-tables que se ejecuta en la otro consola, para esto usaremos el comando: kill $(cat /var/run/mysqld/mysqld.pid)

Linux console | root@aex-infra /
[root@aex-infra ~]# kill $(cat /var/run/mysqld/mysqld.pid)

En la otra consola nos aparecera un mensaje confirmando que MySQL se ha detenido.

Linux console | root@aex-infra /
[root@aex-infra jpacheco]# safe_mysqld –skip-grant-tables
140906 13:33:11 mysqld_safe Logging to ‘/var/log/mysqld.log’.
140906 13:33:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140906 13:51:19 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

7. Arrancamos MySQL server.

Linux console | root@aex-infra /
[root@aex-infra jpacheco]# systemctl start mysqld.service

8. Finalmente, habras recuperado la contraseña de root de tu servidor MySQL y podras acceder a MySQL server usando: mysql -u root -p sin problemas.

Posts similares:
MySQL como cambiar / asignar la contraseña inicial
MySQL | Adding new user accounts to MySQL server

DynDNS – Instalación de script de actualización en Fedora Core

El servicio de resolucion de nombres de dominio (DNS) no es mas que la traduccion que se hace de un nombre de dominio, por ejemplo: jpacheco.mx a una dirección IP en este caso:  67.205.17.168.

Para los no versados en este asunto, el mundo del internet no usa los nombres de dominio, sino  en realidad usa las direcciones IP. En el caso del dominio jpacheco.mx este cuenta con una dirección IP estática – que no cambia, por lo que el servicio de DNS no requiere de mayor complicación. Cada vez que alguien quiere acceder a jpacheco.mx un servidor de DNS responde con la dirección IP antes mencionada.

¿Que pasa en aquellos casos donde contamos con una dirección IP dinámica como las que ofrece las compañias telefónicas o de cable?

Aquí la cosa cambia, digamos que se complica un poco más y es donde entra la gestión dinámica de nombres de dominio, servicio que ofrece DynDNS .

DynDNS ofrece un servicio de resolucion dínamica de nombres de dominio de ahí el nombre del sitio: Dynamic Domain Name System.

Con cada cambio de dirección IP en la conexíon a internet, el script de actualización de DynDNS reporta el cambio de IP y a su vez DynDNS se encarga de iniciar la propagación de  la nueva direccón IP por los servidores de DNS de todo el mundo, para que los visitantes de puedan acceder a este blog por el nombre de dominio y no por la IP, al final del día, es más sencillo recordar un nombre de dominio que una dirección IP, ¿no lo crees?

Este procesode instalación aplica para las distribuciones GNU/Linux de la rama RedHa.

Pre-requisitos

– Acceso root
– Antes de instalar el script de actualización de DynDNS necesitas instalar el soporte de Perl para SSL, utiliza Yum para tal efecto.

Linux console | root@aex-infra:~/
[root@aex-infra ~]# yum -y install perl-IO-Socket-SSL

Instalación

1. Descargar y descomprimir el código fuente del script:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# wget http://cdn.dyndns.com/ddclient.tar.gz
[root@aex-infra ~]# tar -xzvf ddclient.tar.gz
[root@aex-infra ~]# cd ddclient-3.7.3/

2. Creamos las carpetas para donde se almacenaran los archivos de configuración:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# mkdir /etc/ddclient
[root@aex-infra ~]# mkdir /var/cache/ddclient

3. Copiamos los archivos de configuración a la carpeta correspondiente, nota como le cambiamos el nombre al archivo sample-etc_ddclient.conf al tiempo que lo copiamos a su nueva ubicación:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# cp ddclient /usr/local/sbin
[root@aex-infra ~]# cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf

4. Preparamos el script para que corra al iniciar nuestro equipo:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient
[root@aex-infra ~]# chkconfig –add ddclient

5. Hacemos un poco de limpieza borrando la carpeta que se creo al momento de descomprimir el código fuente en el paso # 1:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# cd ..
[root@aex-infra ~]# rm -rf ddclient-3.7.3/

6. Editamos el archivo de configuración (/etc/ddclient/ddclient.conf) usando nuestro editor de texto favorito (emacs – por supuesto):

Linux console | root@aex-infra:~/
[root@aex-infra ~]# emacs /etc/ddclient/ddclient.conf

Para que quede de la siguiente manera:

use=web
login=usuariodeDynDNS
password=passworddeDynDNS
server=members.dyndns.org,
protocol=dyndns2
nombre.de.dominio

7. Finalmente, iniciamos ddclient (demonio):

Linux console | root@aex-infra:~/
[root@aex-infra ~]# /etc/init.d/ddclient start

Para conocer el estado de tu ddclient puedes usar el siguiente comando:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# ddclient -daemon=0 -debug -verbose -noquiet

El cual te regresara una salida similar a:

DEBUG: proxy =
DEBUG: url = http://checkip.dyndns.org/
DEBUG: server = checkip.dyndns.org
DEBUG: get_ip: using web, http://checkip.dyndns.org/ reports 189.231.143.23

Si lo deseas, puedes agregar el modificar -verbose para obtener una salida mas detallada o puedes usar otra variante donde solo te muestra la información que realmente necesitas conocer:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# ddclient -daemon=0 -verbose -noquiet

Que manda una salida similar a esta:

CONNECT: checkip.dyndns.org
CONNECTED: using HTTP
SENDING: GET / HTTP/1.0
SENDING: Host: checkip.dyndns.org
SENDING: User-Agent: ddclient/3.7.3
SENDING: Connection: close
SENDING:
RECEIVE: HTTP/1.1 200 OK
RECEIVE: Content-Type: text/html
RECEIVE: Server: DynDNS-CheckIP/1.0
RECEIVE: Connection: close
RECEIVE: Cache-Control: no-cache
RECEIVE: Pragma: no-cache
RECEIVE: Content-Length: 106
RECEIVE:
RECEIVE: Current IP CheckCurrent IP Address: 189.231.143.23
SUCCESS: jpacheco.net: skipped: IP address was already set to 189.231.143.23.
SUCCESS: dominio.jpacheco.net: skipped: IP address was already set to 189.231.143.23.