ckaserer.tftp

gplv3
Mantenimiento

Un rol de Ansible para instalar un servidor TFTP (Protocolo de Transferencia de Archivos Trivial) en RHEL/CentOS 7. Específicamente, las responsabilidades de este rol son:

  • instalar los paquetes necesarios
  • gestionar la configuración
  • gestionar la configuración de SELinux

Para más documentación relevante sobre TFTP, consulta:

Requisitos

ninguno.

Variables del Rol

Las siguientes variables pueden ser configuradas por el administrador:

Variable Predeterminado Comentarios (tipo)
tftp_anon_write falso Booleano que especifica si SELinux permite modificar archivos.
tftp_config /usr/lib/systemd/system/tftp.service Ruta al archivo de unidad systemd para tftp
tftp_group root Grupo del tftp_root_directory
tftp_home_dir falso Booleano que especifica si SELinux
tftp_mode 0755 Permisos del tftp_root_directory
tftp_root_directory /var/lib/tftpboot Ruta al directorio raíz servido por tftp.
tftp_server_args --secure Argumentos de línea de comandos que se pasarán al ejecutable del servidor
tftp_server_foreman_support falso Habilita el soporte de Foreman creando un tftpd.map adecuado
tftp_setype tftpdir_rw_t Contexto de SELinux para el directorio raíz de tftp
tftp_user root Propietario del tftp_root_directory

Dependencias

Sin dependencias.

Ejemplo de Playbook

Consulta el playbook de prueba

Pruebas

Las pruebas para este rol se proporcionan en forma de un entorno Vagrant que se mantiene en una rama separada, tests. Utilizo git-worktree(1) para incluir el código de prueba en el directorio de trabajo. Instrucciones para ejecutar las pruebas:

  1. Obtener la rama de pruebas: git fetch origin tests
  2. Crear un Git worktree para el código de prueba: git worktree add tests tests (nota: esto requiere al menos Git v2.5.0). Esto creará un directorio tests/.
  3. cd tests/
  4. vagrant up creará una máquina virtual y aplicará el segundo de los dos playbooks de prueba disponibles enumerados a continuación.

Los playbooks de prueba:

  • test-minimal.yml aplica el rol a una máquina virtual, con configuraciones predeterminadas (no se configuran variables del rol).

  • test.yml aplica el rol a una máquina virtual, cambiando algunos valores predeterminados. Este playbook también coloca un archivo llamado README en el directorio raíz de TFTP. Después de aplicar este playbook, deberías poder obtener ese archivo desde tu sistema host (suponiendo que el cliente tftp esté instalado):

    $ tftp 127.0.0.1 6969 -c get README
    

El puerto TFTP (69) en la máquina virtual se reenvía a través de la interfaz NAT al puerto 6969 en tu sistema host, por eso usamos 127.0.0.1 y el número de puerto en la línea de comandos.

Contribuciones

Se agradecen problemas, solicitudes de características, ideas y se pueden publicar en la sección de Problemas. También son bienvenidas las solicitudes de extracción. Preferiblemente, crea una rama temática y, al enviar, combina tus commits en uno solo (con un mensaje descriptivo).

Licencia

BSD

Información del Autor

Bert Van Vreckem (bert.vanvreckem@gmail.com)

Contribuciones de:

Acerca del proyecto

Installs and configures a TFTP (Trivial File Transfer Protocol) server on RHEL/CentOS 7 and Ubuntu

Instalar
ansible-galaxy install ckaserer.tftp
Licencia
other
Descargas
146.7k
Propietario
Anything related to Containers, CI/CD or general automation is fair game for him - give him a terminal and he is happy.