Configurar un servidor push

Configurar un servidor push consiste en dos tareas básicas: configurar el acceso rsync (el normal, para replicación pull) y configurar los mecanismos de activación por ssh (para hacer push a la replicación pull).

(Para más información sobre lo que es un servidor push, lea la explicación de la replicación push.)

Configurando rsync

Instale rsync 2.1.1 o superior. Si su sitio está ejecutando Debian, sólo instale el último paquete de rsync.

Cree el archivo rsyncd.conf y ponga algo similar a esto en él:

uid = nobody
gid = nogroup
max connections = 25
socket options = SO_KEEPALIVE

[debian]
  path = /svr/debian/mirror
  comment = Archivo FTP de Debian (~250 GB)
  auth users = authorized_account1,authorized_account2,authorized_accountN
  read only = true
  secrets file = /etc/rsyncd/debian.secrets

Añada una entrada para cada sitio del que esté haciendo push en el archivo /etc/rsyncd/debian.secrets:

authorized_account1:una_contraseña
authorized_account2:otra_contraseña
authorized_accountN:contraseña

Ahora ha dado acceso a los sitios de réplica de flujo de bajada al archivo de su máquina.

Probablemente quiere iniciar el demonio rsync desde inetd. Para hacer esto, tiene que añadir el servicio en el archivo /etc/services (si no está ya allí), algo así como:

rsync           873/tcp

Para activar el demonio desde inetd, añada lo siguiente a su archivo /etc/inetd.conf:

rsync      stream      tcp         nowait      root /usr/bin/rsync rsyncd --daemon

(Recuerde enviar a inetd una señal HUP para decirle que vuelva a leer su archivo de configuración tras modificar el archivo.)

Configurando el mecanismo de disparo de ssh

Cree una nueva clave ssh para la cuenta que va a usar réplica de Debian. Asegúrese de que no sobreescribe su clave original ssh usando la opción -f, por ejemplo:

ssh-keygen -f ~/.ssh/identidad.misitio

Asegúrese de que la nueva clave pública (~/.ssh/identidad.misitio.pub) contiene esto al inicio, siendo DIRECCIONIP la IP de su réplica de origen:

no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="~/bin/ftpsync",from="DIRECCIONIP"

Necesita configurar un script que contacte con los sitios de réplica de flujo de bajada. El archivo comprimido ftpsync contien el script runmirrors que gestiona por usted todas las tareas necesarias. Simplemente cambie su ftpsync.conf para incluir la opción HUB=true, copie el runmirrors.conf.sample a runmirrors.conf y runmirrors.mirror.sample a runmirrors.mirror y configure el fichero de configuración para ajustarse a su sistema. Entonces, liste todas las réplicas de flujo de bajada dentro de runmirrors.mirror y el dúo ftpsync/runmirror hará por usted todo el trabajo pesado.

El efecto será que su sistema intentará hacer ssh a sus sitios de réplica de flujo de bajada después de que su propia réplica se actualice, para que puedan iniciar sus propias actualizaciones. Esto asume que usted dio a los operadores de las réplicas de flujo de bajada la clave ssh que le dijo a runmirrors que usara, y que ellos la añadieron a sus propios ficheros ~/.ssh/authorized_keys tal y como se describió arriba.

Si tiene algún problema con esto, póngase en contacto con nosotros.