TFTP ALG
El ALG del Protocolo trivial de transferencia de archivos (TFTP) procesa los paquetes TFTP que inician la solicitud al puerto de destino UDP 69 y abre una puerta para permitir el retorno de paquetes desde la dirección inversa al puerto que envía la solicitud. La compatibilidad con firewall de estado y servicios NAT requiere que configure el ALG TFTP para el puerto de destino UDP 69.
Use el Explorador de características para confirmar la compatibilidad de la plataforma y el lanzamiento de características específicas.
Revise la sección Comportamiento de ALG TFTP específico de la plataforma para obtener notas relacionadas con su plataforma.
Descripción del ALG TFTP
- Visión general
- Paquetes TFTP
- Sesión TFTP
- Descripción de la conversación TFTP ALG
- Descripción de la compatibilidad de IPv6 con TFTP ALG
Visión general
El Protocolo trivial de transferencia de archivos (TFTP) es un protocolo simple utilizado para la transferencia de archivos (RFC 1350). TFTP se implementa sobre UDP, con el puerto de destino 69 como el puerto conocido. La puerta de enlace de capa de aplicación (ALG) TFTP procesa paquetes TFTP que inician la solicitud y crea agujeros de alfiler para permitir la devolución de paquetes desde la dirección inversa.
En el procesamiento de flujo hay dos sesiones para una conversación TFTP, una es la sesión de control TFTP creada por un paquete de solicitud de lectura (RRQ) o solicitud de escritura (WRQ); la otra es la sesión de datos TFTP creada por un paquete DATA (para RRQ) o un paquete de confirmación (ACK) (para WRQ).
En un firewall de Junos OS, la sesión de control TFTP se permite mediante la política de aplicación junos-tftp. La sesión de datos se permite a través del orificio abierto TFTP ALG desde cualquier puerto del servidor al TID (puerto) del cliente cuando se recibe el paquete de sesión de control. No se requiere ninguna traducción NAT, porque la traducción NAT ya se ha realizado y la información está disponible en la estructura de datos de la sesión.
Paquetes TFTP
Cualquier transferencia comienza con una solicitud para leer o escribir un archivo. Un paquete de datos de menos de 512 bytes señala la finalización de una transferencia.
TFTP admite cinco tipos de paquetes:
Solicitud de lectura (RRQ)
Solicitud de escritura (WRQ)
Datos (DATOS)
Reconocimiento (ACK)
Error (ERROR)
Sesión TFTP
El ALG TFTP se basa en UDP, que es un protocolo de transporte sin estado. En un firewall, el ALG TFTP actúa como una sesión UDP con tiempo de espera. Si no hay ninguna sesión de actualización de paquetes, la sesión finaliza después de agotar el tiempo de espera. Aunque el cliente y el servidor TFTP determinan la terminación de una conversación TFTP, a veces no son conscientes de la sesión en Fireware. Por lo tanto, el cliente y el servidor podrían solicitar una nueva conversación TFTP en este escenario.
La sesión TFTP ALG puede llevarse a cabo de cualquiera de las siguientes maneras:
Cuando la sesión de control TFTP alcanza el tiempo de espera, la sesión no finaliza si la sesión de datos aún está activa.
Una sesión TFTP puede terminar o corromperse por los comandos o
clear security flow session alllaclear specific sessionCLI, independientemente de si la sesión de datos está en curso o no.Si llega una nueva solicitud de sesión TFTP y llega a la sesión existente, el ALG TFTP volverá a abrir el agujero de alfiler para la nueva solicitud.
Si el agujero de alfiler ya existe, el ALG TFTP no volverá a abrir el agujero de alfiler y no habrá ninguna caída de paquetes.
El ALG TFTP no descartará ningún paquete.
Descripción de la conversación TFTP ALG
De forma predeterminada, los servidores TFTP escuchan las solicitudes entrantes de los clientes TFTP en el puerto 69. Un cliente TFTP elige su puerto de identificador de túnel de origen (TID) y envía su solicitud inicial al servidor. En respuesta, el servidor utiliza el TID elegido como puerto de origen y envía una respuesta al TID del cliente como puerto de destino. A continuación, los dos puertos TID se utilizan para el resto de la transferencia de datos.
Read file conversation steps:
El host A (cliente) envía un paquete RRQ al host B (servidor) con el TID de A como origen y el puerto 69 como destino.
El host B (servidor) envía un paquete DATA al host A (cliente) con el TID de B como origen y el TID de A como destino.
El host A (cliente) envía un paquete ACK al host B (servidor) con el TID de A como origen y el TID de B como destino.
La conversación sobre los paquetes DATA y ACK continúa hasta que se completa la transferencia de datos de archivos.
Write file conversation steps:
El host A (cliente) envía un paquete WRQ al host B (servidor) con el TID de A como origen y el puerto 69 como destino.
El host B (servidor) envía un paquete ACK al host A (cliente) con el TID de B como origen y el TID de A como destino.
El host A (cliente) envía un paquete DATA al host B (servidor) con el TID de A como origen y el TID de B como destino.
El host B (servidor) envía un paquete ACK al host A (cliente) con el TID de B como origen y el TID de A como destino.
Descripción de la compatibilidad de IPv6 con TFTP ALG
La puerta de enlace de la capa de aplicación (ALG) del Protocolo trivial de transferencia de archivos (TFTP) se ha mejorado para admitir la conversación TFTP IPv6 e IPv4, que tiene direcciones IPv6 e IPv4 tanto para la dirección IP de origen como para la dirección IP de destino.
TFTP ALG procesa los paquetes que inician la solicitud de enrutamiento y crean agujeros de alfiler para permitir el retorno de paquetes desde la dirección inversa al puerto que envió la solicitud.
La sesión de datos se configura mediante el primer paquete del cliente al servidor. TFTP ALG supervisa el primer paquete y abre un agujero de alfiler desde cualquier puerto del servidor hasta el cliente. Este proceso ayuda a que los paquetes devueltos desde el servidor y los paquetes de datos posteriores pasen.
Ejemplo: configuración del ALG TFTP
El ALG TFTP procesa los paquetes TFTP que inician la solicitud y abre una puerta para permitir el retorno de paquetes desde la dirección inversa al puerto que envía la solicitud.
En este ejemplo, se muestra cómo configurar el ALG TFTP para que pase a través del tráfico TFTP con un grupo NAT de origen en dispositivos de Juniper Networks.
Requisitos
Configure ARP de proxy para todas las direcciones IP del grupo NAT de origen.
Comprender los conceptos básicos de TFTP ALG. Consulte Descripción de TFTP ALG.
Visión general
En este ejemplo, el ALG TFTP está configurado para monitorear y permitir el tráfico TFTP, transfiriendo archivos entre el cliente y el servidor ubicados en lados opuestos de un dispositivo de Juniper Networks.
Configuración
Configuración de un grupo de origen NAT, un conjunto de reglas y una política
Configuración rápida de CLI
Para configurar rápidamente esta sección del ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit desde el [edit] modo de configuración.
set security nat source pool pool1 address 10.10.10.1/32 to 10.10.10.10/32 set security zones security-zone green address-book address sa1 1.1.1.0/24 set security zones security-zone red address-book address da1 2.2.2.0/24 set security nat source rule-set rs1 from zone green set security nat source rule-set rs1 to zone red set security nat source rule-set rs1 rule r1 match source-address 1.1.1.0/24 set security nat source rule-set rs1 rule r1 match destination-address 2.2.2.0/24 set security nat source rule-set rs1 rule r1 then source-nat pool pool1
set security policy from-zone green to-zone red policy pol1 match destination-address da1 set security policy from-zone green to-zone red policy pol1 match source-address sa1 set security policy from-zone green to-zone red policy pol1 match application junos-tftp set security policy from-zone green to-zone red policy pol1 then permit
Si no está seguro de la dirección IP del cliente TFTP y del servidor, puede reemplazar "da1" y "sa1" por "cualquiera".
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar un grupo NAT de origen:
Cree un grupo de origen NAT.
[edit security] user@host# set nat source pool pool1 address 10.10.10.1/32 to 10.10.10.10/32
Configure las entradas de la libreta de direcciones de la zona de seguridad.
[edit security zones security-zone] user@host# set green address-book address sa1 1.1.1.0/24 user@host# set red address-book address da1 2.2.2.0/24
Cree un conjunto de reglas de origen NAT.
[edit security nat source rule-set rs1] user@host# set from zone green user@host# set to zone red user@host# set rule r1 match source-address 1.1.1.0/24 user@host# set rule r1 match destination-address 2.2.2.0/24 user@host# set rule r1 then source-nat pool pool1
Configurar una directiva
[edit security policies from-zone green to-zone red policy pol1] user@host# set match source-address sa1 user@host# set match destination-address da1 user@host# set match application junos-tftp user@host# set then permit
Resultados
Desde el modo de configuración, confirme la configuración introduciendo los show security nat comandos y show security policies . Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
[edit]
user@host# show security nat
source {
pool pool1 {
address {
10.10.10.1/32 to 10.10.10.10/32;
}
}
rule-set rs1 {
from zone green;
to zone red;
rule r1 {
match {
source-address 1.1.1.0/24;
destination-address 2.2.2.0/24;
}
then {
source-nat {
pool {
pool1;
}
}
}
}
}
[edit]
user@host# show security policies
from-zone green to-zone red {policy pol1 {
policy pol1 {
match {
source-address sa1;
destination-address da1;
application [junos-tftp];
}
then {
permit;
}
}
}
default-policy {
permit-all;
}
Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
Comprobación del conjunto de reglas y el grupo de orígenes NAT
Propósito
Compruebe que el grupo de orígenes NAT y el conjunto de reglas usados para admitir el ALG TFTP funcionan correctamente.
Acción
Desde el modo operativo, ingrese el show security nat static rule r1 comando.
Comprobación de TFTP ALG
Propósito
Compruebe que el ALG TFTP esté habilitado.
Acción
Desde el modo operativo, ingrese el show security alg status comando.
user@host> show security alg status DNS : Enabled FTP : Enabled H323 : Enabled TFTP : Enabled
Significado
El resultado muestra el estado de TFTP ALG de la siguiente manera:
Habilitado: muestra que el ALG TFTP está activado.
Deshabilitado: muestra que el ALG TFTP está desactivado.
Comportamiento de TFTP ALG específico de la plataforma
Use el Explorador de características para confirmar la compatibilidad de la plataforma y el lanzamiento de características específicas.
Use la tabla siguiente para revisar los comportamientos específicos de la plataforma para su plataforma:
| Plataforma |
Diferencia |
|---|---|
| Serie SRX |
|