ALG Applications
Configuration des propriétés des applications
Pour configurer les propriétés des applications, incluez l’instruction application
au niveau de la [edit applications]
hiérarchie :
[edit applications] application application-name { application-protocol protocol-name; child-inactivity-timeout seconds; destination-port port-number; gate-timeout seconds; icmp-code value; icmp-type value; inactivity-timeout value; protocol type; rpc-program-number number; snmp-command command; source-port port-number; ttl-threshold value; uuid hex-value; }
Vous pouvez regrouper des objets d’application en configurant l’instruction application-set
; pour plus d’informations, voir Configuration des ensembles d’applications.
Cette section comprend les tâches suivantes pour configurer les applications :
- Configuration d’un protocole d’application
- Configuration du protocole réseau
- Configuration du code et du type ICMP
- Configuration des ports source et de destination
- Configuration de la période d’inactivité
- Configuration d’une application IKE ALG
- Configuration DU SIP
- Configuration d’une commande SNMP pour la correspondance des paquets
- Configuration d’un numéro de programme RPC
- Configuration du seuil TTL
- Configuration d’un identifiant unique universel
Configuration d’un protocole d’application
L’instruction application-protocol
vous permet de spécifier quels protocoles d’application pris en charge (ALG) configurer et inclure dans un ensemble d’applications pour le traitement des services. Pour configurer les protocoles applicataires, incluez l’instruction application-protocol
au niveau de la [edit applications application application-name]
hiérarchie :
[edit applications application application-name] application-protocol protocol-name;
Le tableau 1 affiche la liste des protocoles pris en charge. Pour plus d’informations sur des protocoles spécifiques, voir Descriptions ALG.
Nom du protocole |
Valeur CLI |
Commentaires |
---|---|---|
Protocole Bootstrap (BOOTP) |
|
Prend en charge BOOTP et le protocole DHCP (Dynamic Host Configuration Protocol). |
Appel RPC (Distributed Computing Environment) |
|
Requiert la valeur |
Carte des ports RPC DCE |
|
Requiert la valeur |
Système de noms de domaine (DNS) |
|
Requiert que l’instruction |
Exec |
|
Exige que l’instruction |
FTP |
|
Exige que l’instruction |
H.323 |
|
– |
IKE ALG |
|
Exige que l’instruction |
Protocole ICMP (Internet Control Message Protocol) |
|
Exige que l’instruction |
Protocole Internet Inter-ORB |
|
– |
IP |
|
– |
Connectez-vous |
|
– |
Netbios |
|
Exige que l’instruction |
Netshow |
|
Exige que l’instruction |
Protocole de tunnelisation point à point |
|
– |
Realaudio |
|
– |
Protocole RTSP (Real-Time Streaming Protocol) |
|
Exige que l’instruction |
PROTOCOLE UDP (RPC User Datagram Protocol) ou TCP |
|
Requiert la valeur |
Mappage des ports RPC |
|
Requiert la valeur |
Shell |
|
Exige que l’instruction |
Protocole d’initiation de session |
|
– |
SNMP |
|
Exige que l’instruction |
SQLNet |
|
Exige que l’instruction |
Programme Talk |
|
|
Trace route |
|
Exige que l’instruction |
TFTP (Trivial FTP) |
|
Exige que l’instruction |
WinFrame |
|
– |
Vous pouvez configurer des passerelles au niveau des applications (ALG) pour ICMP et tracer le routage sous des règles de pare-feu à états, NAT ou CoS lorsque deux fois le NAT est configuré dans le même ensemble de services. Ces ALG ne peuvent pas être appliquées aux flux créés par le protocole PGCP (Packet Gateway Controller Protocol). Le NAT de deux fois ne prend pas en charge d’autres ALG. Le NAT applique uniquement l’adresse IP et les en-têtes TCP ou UDP, mais pas la charge utile.
Pour plus d’informations sur la configuration de deux nats, voir Présentation de l’adressage réseau Junos Address Aware.
Configuration du protocole réseau
L’instruction protocol
vous permet de spécifier les protocoles réseau pris en charge pour une définition d’application. Pour configurer les protocoles réseau, incluez l’énoncé protocol
au niveau de la [edit applications application application-name]
hiérarchie :
[edit applications application application-name] protocol type;
Vous spécifiez le type de protocole en tant que valeur numérique ; pour les protocoles les plus couramment utilisés, les noms de texte sont également pris en charge dans l’interface de ligne de commande (CLI). Le tableau 2 présente la liste des protocoles pris en charge.
Type de protocole réseau |
Valeur CLI |
Commentaires |
---|---|---|
En-tête d’authentification (AH) IP Security (IPsec) |
|
– |
Protocole EGP (External Gateway Protocol) |
|
– |
Charge utile de sécurité encapsulation IPsec (ESP) |
|
– |
Encapsulation de routage générique (GR) |
|
– |
ICMP |
|
Requiert une |
ICMPv6 |
|
Requiert une |
Protocole IGMP (Internet Group Management Protocol) |
|
– |
IP dans IP |
|
– |
OSPF |
|
– |
PIM (Protocol Independent Multicast) |
|
– |
Protocole de réservation des ressources (RSVP) |
|
– |
TCP |
|
Requiert une ou |
UDP |
|
Requiert une ou |
Pour obtenir la liste complète des valeurs numériques possibles, voir RFC 1700, Nombres assignés (pour Internet Protocol Suite).
Ip version 6 (IPv6) n’est pas pris en charge en tant que protocole réseau dans les définitions d’applications.
Par défaut, la fonctionnalité NAT à deux reprises peut affecter les en-têtes IP, TCP et UDP intégrés à la charge utile des messages d’erreur ICMP. Vous pouvez inclure les protocol tcp
déclarations et protocol udp
avec l’instruction d’application pour deux configurations NAT. Pour plus d’informations sur la configuration de deux nats, voir Présentation de l’adressage réseau Junos Address Aware.
Configuration du code et du type ICMP
Le code et le type ICMP fournissent des spécifications supplémentaires, associées au protocole réseau, pour la correspondance des paquets dans une définition d’application. Pour configurer les paramètres ICMP, incluez les icmp-code
déclarations et icmp-type
au niveau de la [edit applications application application-name]
hiérarchie :
[edit applications application application-name] icmp-code value; icmp-type value;
Vous ne pouvez inclure qu’un seul code ICMP et une seule valeur de type. L’instruction application-protocol
doit avoir la valeur icmp
. Le tableau 3 affiche la liste des valeurs ICMP prises en charge.
Déclaration CLI |
Description |
---|---|
|
Cette valeur ou mot-clé fournit des informations plus spécifiques que Au lieu de la valeur numérique, vous pouvez spécifier l’un des synonymes de texte suivants (les valeurs de champ sont également répertoriées). Les mots clés sont regroupés par type ICMP auquel ils sont associés : problème de paramètres : redirection : dépassement de temps : inaccessible : |
|
Normalement, vous spécifiez cette correspondance conjointement avec l’instruction Au lieu de la valeur numérique, vous pouvez spécifier l’un des synonymes de texte suivants (les valeurs de champ sont également répertoriées) : |
Si vous configurez une interface avec un filtre de pare-feu d’entrée qui comprend une action de rejet et avec un ensemble de services qui comprend des règles de pare-feu à états, le routeur exécute le filtre de pare-feu d’entrée avant que les règles de pare-feu à états ne soient exécutées sur le paquet. Par conséquent, lorsque le moteur de transfert de paquets envoie un message d’erreur ICMP via l’interface, les règles de pare-feu dynamiques peuvent abandonner le paquet car il n’était pas visible dans le sens d’entrée.
Les solutions de contournement possibles sont d’inclure un filtre de table de transfert pour effectuer l’action de rejet, car ce type de filtre est exécuté après le pare-feu dynamique dans le sens d’entrée, ou d’inclure un filtre de service de sortie pour empêcher les paquets ICMP générés localement d’aller vers le service de pare-feu à états.
Configuration des ports source et de destination
Le port source et de destination TCP ou UDP fournit des spécifications supplémentaires, en conjonction avec le protocole réseau, pour la correspondance des paquets dans une définition d’application. Pour configurer les ports, incluez les destination-port
déclarations et source-port
au niveau de la [edit applications application application-name]
hiérarchie :
[edit applications application application-name] destination-port value; source-port value;
Vous devez définir un port source ou de destination. Normalement, vous spécifiez cette correspondance conjointement avec l’instruction protocol
de correspondance pour déterminer quel protocole est utilisé sur le port; pour les contraintes, voir le tableau 1.
Vous pouvez spécifier une valeur numérique ou l’un des synonymes de texte répertoriés dans le tableau 4.
Nom du port |
Numéro de port correspondant |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pour plus d’informations sur les critères de correspondance, consultez le Guide de l’utilisateur des stratégies de routage, des filtres de pare-feu et du contrôle du trafic.
Configuration de la période d’inactivité
Vous pouvez spécifier un délai d’inactivité des applications. Si le logiciel n’a détecté aucune activité pendant la durée, le flux devient invalide lorsque le timer expire. Pour configurer un délai d’expiration, incluez l’instruction inactivity-timeout
au niveau de la [edit applications application application-name]
hiérarchie :
[edit applications application application-name] inactivity-timeout seconds;
La valeur par défaut est de 14 400 secondes. La valeur que vous configurez pour une application remplace toute valeur globale configurée au niveau de la [edit interfaces interface-name service-options]
hiérarchie; pour plus d’informations, voir Configuration des paramètres de délai d’expiration par défaut pour les interfaces de services.
Configuration d’une application IKE ALG
Avant la version 17.4R1 de Junos OS, la traduction des adresses réseau traversales (NAT-T) n’est pas prise en charge pour la suite junos VPN Site Secure de fonctionnalités IPsec sur les routeurs MX Series. L’ALG IKE permet de transmettre des paquets IKEv1 et IPsec via des filtres NAPT-44 et NAT64 entre des pairs IPsec qui ne sont pas conformes au NAT-T. Cet ALG ne prend en charge que le mode tunnel ESP. Vous pouvez utiliser l’application junos-ike
IKE ALG prédéfinie, qui dispose de valeurs prédéfinies pour le port de destination (500), le délai d’inactivité (14 400 secondes), le délai d’expiration de la porte (120 secondes) et le délai d’inactivité des sessions ESP (800 secondes). Si vous souhaitez utiliser l’ALG IKE avec des valeurs différentes de l’application prédéfinie junos-ike
, vous devez configurer une nouvelle application IKE ALG.
Pour configurer une application IKE ALG :
Spécifiez un nom pour l’application.
[edit applications] user@host# set application junos-ike
Spécifiez l’ALG IKE.
[edit applications application junos-ike] user@host# set application-protocol ike-esp-nat
Spécifiez le protocole UDP.
[edit applications application junos-ike] user@host# set protocol udp
Spécifiez 500 pour le port de destination.
[edit applications application junos-ike] user@host# set destination-port 500
Spécifiez le nombre de secondes que la session IKE est inactive avant sa suppression. La valeur par défaut est de 14 400 secondes.
[edit applications application junos-ike] user@host# set inactivity-timeout seconds
Spécifiez le nombre de secondes qui peuvent passer après qu’IKE a établi l’association de sécurité entre le client IPsec et le serveur et avant que le trafic ESP ne démarre dans les deux sens. Si le trafic ESP n’a pas commencé avant cette valeur d’expiration, les portes ESP sont supprimées et le trafic ESP est bloqué. La valeur par défaut est de 120 secondes.
[edit applications application junos-ike] user@host# set gate-timeout seconds
Spécifiez le délai d’inactivité de session ESP (trafic de données IPsec) en quelques secondes. Si aucun trafic de données IPsec n’est transmis à la session ESP pendant ce temps, la session est supprimée. La valeur par défaut est de 800 secondes.
[edit applications application junos-ike] user@host# set child-inactivity-timeout seconds
Configuration DU SIP
Le protocole SIP (Session Initiation Protocol) est un protocole généralisé pour la communication entre les points de terminaison impliqués dans les services Internet tels que la téléphonie, le fax, la visioconférence, la messagerie instantanée et l’échange de fichiers.
Junos OS fournit des services ALG conformément à la norme décrite dans la RFC 3261, SIP : Protocole d’initiation de session. Les flux SIP sous Junos OS sont tels que décrits dans la RFC 3665, Exemples de flux d’appel de base SIP (Session Initiation Protocol).
Avant d’implémenter l’ALG SIP Junos OS, vous devez connaître certaines limites, dont il est question dans Les limitations SIP ALG de Junos OS
L’utilisation du NAT en conjonction avec l’ALG SIP entraîne des changements dans les champs d’en-tête SIP en raison de la traduction des adresses. Pour une explication de ces traductions, reportez-vous à l’interaction SIP ALG avec la traduction des adresses réseau.
Pour implémenter sip sur des interfaces de services adaptatives, vous configurez l’instruction application-protocol
au niveau de la [edit applications application application-name]
hiérarchie avec la valeur sip
. Pour plus d’informations sur cette déclaration, voir Configuration d’un protocole d’application. En outre, vous pouvez configurer deux autres déclarations pour modifier la façon dont sip est mis en œuvre :
Vous pouvez permettre au routeur d’accepter tous les appels SIP entrants pour les équipements de terminaux qui se trouvent derrière le pare-feu NAT. Lorsqu’un équipement derrière le pare-feu s’enregistre auprès du proxy qui se trouve à l’extérieur du pare-feu, l’AS ou le PIC multiservices conserve l’état d’enregistrement. Lorsque l’instruction
learn-sip-register
est activée, le routeur peut utiliser ces informations pour accepter les appels entrants. Si cette instruction n’est pas configurée, aucun appel entrant n’est accepté ; seuls les équipements derrière le pare-feu peuvent appeler les équipements en dehors du pare-feu.Pour configurer l’enregistrement SIP, incluez l’instruction
learn-sip-register
au niveau de la[edit applications application application-name]
hiérarchie :[edit applications application application-name] learn-sip-register;
Note:Cette
learn-sip-register
déclaration ne s’applique pas au MX-SPC3 de services de nouvelle génération.Vous pouvez également inspecter manuellement le registre SIP en publiant la
show services stateful-firewall sip-register
commande; pour plus d’informations, consultez les bases du système d’exploitation junos et la référence des commandes des services. Lashow services stateful-firewall sip-register
commande n’est pas prise en charge pour les services de nouvelle génération.Vous pouvez spécifier un délai d’attente pour la durée des appels SIP qui sont mis en attente. Lorsqu’un appel est mis en attente, il n’y a aucune activité et les flux peuvent s’expirer après l’expiration de la période configurée
inactivity-timeout
, ce qui entraîne une rupture de l’état de l’appel. Pour éviter cela, lorsqu’un appel est mis en attente, le timer de flux est réinitialisé ausip-call-hold-timeout
cycle afin de conserver l’état et les flux d’appel plus longtemps que lainactivity-timeout
période.Note:Cette
sip-call-hold-timeout
déclaration ne s’applique pas au MX-SPC3 de services de nouvelle génération.Pour configurer un délai d’expiration, incluez l’instruction
sip-call-hold-timeout
au niveau de la[edit applications application application-name]
hiérarchie :[edit applications application application-name] sip-call-hold-timeout seconds;
La valeur par défaut est de 7 200 secondes et la plage est de 0 à 36 000 secondes (10 heures).
Interaction SIP ALG avec la traduction d’adresses réseau
Le protocole NAT (Network Address Translation) permet à plusieurs hôtes d’un sous-réseau privé de partager une seule adresse IP publique pour accéder à Internet. Pour le trafic sortant, NAT remplace l’adresse IP privée de l’hôte du sous-réseau privé par l’adresse IP publique. Pour le trafic entrant, l’adresse IP publique est reconvertie en adresse privée et le message est acheminé vers l’hôte approprié dans le sous-réseau privé.
L’utilisation du NAT avec le service SIP (Session Initiation Protocol) est plus complexe, car les messages SIP contiennent des adresses IP dans les en-têtes SIP ainsi que dans le corps SIP. Lorsque vous utilisez nat avec le service SIP, les en-têtes SIP contiennent des informations sur l’appelant et le récepteur, et l’équipement traduit ces informations pour les masquer au réseau externe. Le corps SIP contient les informations SDP (Session Description Protocol), qui comprennent les adresses IP et les numéros de port pour la transmission du support. L’équipement traduit les informations SDP pour allouer des ressources à l’envoi et à la réception des médias.
Le remplacement des adresses IP et des numéros de port dans les messages SIP dépend de la direction du message. Pour un message sortant, l’adresse IP privée et le numéro de port du client sont remplacés par l’adresse IP publique et le numéro de port du pare-feu Juniper Networks. Pour un message entrant, l’adresse publique du pare-feu est remplacée par l’adresse privée du client.
Lorsqu’un message d’invitation est envoyé à travers le pare-feu, la passerelle de couche application (ALG) SIP collecte des informations à partir de l’en-tête du message dans une table d’appel, qu’elle utilise pour transférer les messages suivants vers le bon terminal. Lorsqu’un nouveau message arrive, par exemple un ACK ou 200 OK, l’ALG compare les champs « From:, To: et Call-ID: » avec la table d’appel pour identifier le contexte d’appel du message. Si un nouveau message d’invitation qui correspond à l’appel existant, l’ALG le traite comme un REINVITE.
Lorsqu’un message contenant des informations SDP arrive, l’ALG alloue les ports et crée un mappage NAT entre eux et les ports du SDP. Comme le SDP nécessite des ports séquentiels pour les canaux RTP (Real-Time Transport Protocol) et RTCP (Real-Time Control Protocol), l’ALG fournit des ports pairs consécutifs. S’il ne parvient pas à trouver une paire de ports, il écarte le message SIP.
Cette rubrique contient les sections suivantes :
Appels sortants
Lorsqu’un appel SIP est lancé par un message de demande SIP provenant du réseau interne vers le réseau externe, le NAT remplace les adresses IP et les numéros de port dans le SDP et lie les adresses IP et les numéros de port au pare-feu Juniper Networks. Le cas échéant, les champs Via, Contact, Route et Record-Route SIP sont également liés à l’adresse IP du pare-feu. L’ALG stocke ces mappages pour les retransmissions et les messages de réponse SIP.
L’ALG SIP ouvre ensuite des hublots dans le pare-feu pour permettre aux médias de passer par l’équipement sur les ports assignés dynamiquement en fonction des informations du SDP et des champs d’en-tête Via, Contact et Record-Route. Les trous d’épingle permettent également aux paquets entrants d’atteindre les adresses IP de contact, via et record-route et les ports. Lors du traitement du trafic de retour, l’ALG insère les champs Contact, Via, Route et SIP d’origine dans les paquets.
Appels entrants
Les appels entrants sont lancés depuis le réseau public vers des adresses NAT statiques publiques ou vers des adresses IP d’interface sur l’équipement. Les NAT statiques sont des adresses IP configurées statiquement qui pointent vers des hôtes internes ; les adresses IP d’interface sont enregistrées dynamiquement par l’ALG qui surveille les messages REGISTER envoyés par les hôtes internes au registraire SIP. Lorsque l’équipement reçoit un paquet SIP entrant, il configure une session et transfère la charge utile du paquet vers l’ALG SIP.
L’ALG examine le message de demande SIP (initialement une INVITATION) et, sur la base des informations du SDP, ouvre des portes pour les médias sortants. Lorsqu’un message de réponse 200 OK arrive, l’ALG SIP effectue un NAT sur les adresses IP et les ports et ouvre des trous d’épingle dans la direction sortante. (Les portes ouvertes ont un court délai de vie, et elles s’arrêtent si un message de réponse de 200 OK n’est pas reçu rapidement.)
Lorsqu’une réponse 200 OK arrive, le proxy SIP examine les informations SDP et lit les adresses IP et les numéros de port pour chaque session multimédia. L’ALG SIP de l’équipement effectue le NAT sur les adresses et les numéros de port, ouvre des points d’accès pour le trafic sortant et actualise le délai d’expiration des portes dans le sens d’entrée.
Lorsque l’ACK arrive pour le 200 OK, il passe également par l’ALG SIP. Si le message contient des informations SDP, l’ALG SIP s’assure que les adresses IP et les numéros de ports ne sont pas modifiés par rapport à l’invitation précédente. Le cas échéant, l’ALG supprime les anciens trous d’épingle et crée de nouveaux trous d’épingle pour permettre aux médias de passer. L’ALG surveille également les champs SIP Via, Contact et Record-Route et ouvre de nouveaux trous d’épingle s’il détermine que ces champs ont changé.
Appels transférés
Un appel transféré est par exemple lorsque l’utilisateur A à l’extérieur du réseau appelle l’utilisateur B à l’intérieur du réseau, et que l’utilisateur B transfère l’appel à l’utilisateur C à l’extérieur du réseau. L’ALG SIP traite l’INVITATION de l’utilisateur A comme un appel entrant normal. Mais lorsque l’ALG examine l’appel transféré de B à C à l’extérieur du réseau et constate que les points B et C sont atteints à l’aide de la même interface, il n’ouvre pas de trous d’épingle dans le pare-feu, car les médias circulent directement entre l’utilisateur A et l’utilisateur C.
Terminaison d’appel
Le message BYE met fin à un appel. Lorsque l’équipement reçoit un message BYE, il traduit les champs d’en-tête comme il le fait pour n’importe quel autre message. Mais parce qu’un message BYE doit être reconnu par le récepteur avec un 200 OK, l’ALG retarde le démontage de l’appel pendant cinq secondes pour laisser le temps de transmission du 200 OK.
Messages de ré-INVITATION d’appel
Ré-INVITER les messages ajouter de nouvelles sessions multimédia à un appel et supprimer les sessions multimédia existantes. Lorsque de nouvelles sessions multimédia sont ajoutées à un appel, de nouveaux trous d’épingle sont ouverts dans le pare-feu et de nouvelles liaisons d’adresses sont créées. Le processus est identique à la configuration d’appel d’origine. Lorsqu’une ou plusieurs sessions média sont retirées d’un appel, les trous d’épingle sont fermés et les liaisons sont publiées comme avec un message BYE.
Timers de session d’appel
L’ALG SIP utilise la valeur Session-Expires pour timer une session si un message de ré-INVITATION ou DE MISE À JOUR n’est pas reçu. L’ALG obtient la valeur Session-Expires, le cas échéant, de la réponse 200 OK à l’INVITE et utilise cette valeur pour signaler le délai d’expiration. Si l’ALG reçoit une autre INVITATION avant l’expiration de la session, il réinitialise toutes les valeurs de délai à cette nouvelle INVITE ou aux valeurs par défaut, et le processus est répété.
Par précaution, l’ALG SIP utilise des valeurs de délai d’expiration difficiles pour définir la durée maximale d’un appel. Cela garantit que l’équipement est protégé si l’un des événements suivants se produit :
Les systèmes de fin se bloquent lors d’un appel et un message BYE n’est pas reçu.
Les utilisateurs malveillants n’envoient jamais de BYE pour tenter d’attaquer un ALG SIP.
Les mauvaises implémentations du proxy SIP ne parviennent pas à traiter record-route et n’envoient jamais de message BYE.
Les défaillances réseau empêchent la réception d’un message BYE.
Annulation d’appel
Chaque partie peut annuler un appel en envoyant un message d’ANNULATION. Lors de la réception d’un message CANCEL, l’ALG SIP ferme les trous d’épingle à travers le pare-feu (le cas échéant) et libère les liaisons d’adresse. Avant de libérer les ressources, l’ALG retarde l’âge du canal de contrôle d’environ cinq secondes pour laisser le temps à la dernière 200 OK de passer. L’appel prend fin lorsque le délai d’expiration de cinq secondes expire, qu’une réponse 487 ou non 200 arrive.
Bifurquer
Le forking permet à un proxy SIP d’envoyer simultanément un seul message d’invitation à plusieurs destinations. Lorsque les multiples messages de réponse 200 OK arrivent pour un seul appel, l’ALG SIP analyse mais met à jour les informations d’appel avec les 200 premiers messages OK qu’il reçoit.
SIP Messages
Le format du message SIP se compose d’une section d’en-tête SIP et du corps SIP. Dans les messages de demande, la première ligne de la section d’en-tête est la ligne de demande, qui comprend le type de méthode, l’URI de demande et la version du protocole. Dans les messages de réponse, la première ligne est la ligne d’état, qui contient un code d’état. Les en-têtes SIP contiennent les adresses IP et les numéros de port utilisés pour la signalisation. Le corps SIP, séparé de la section d’en-tête par une ligne blanche, est réservé aux informations de description de session, ce qui est facultatif. Junos OS prend actuellement en charge le SDP uniquement. Le corps SIP contient les adresses IP et les numéros de port utilisés pour transporter le support.
En-têtes SIP
Dans l’exemple de message de demande SIP suivant, NAT remplace les adresses IP des champs d’en-tête pour les masquer du réseau externe.
INVITE bob@10.150.20.5
SIP/2.0 Via: SIP/2.0/UDP10.150.20.3
:5434 From: alice@10.150.20.3
To: bob@10.150.20.5
Call-ID: a12abcde@10.150.20.3
Contact: alice@10.150.20.3
:5434 Route: <sip:netscreen@10.150.20.3
:5060> Record-Route: <sip:netscreen@10.150.20.3
:5060>
La traduction des adresses IP dépend du type et de la direction du message. Un message peut être l’un des éléments suivants :
Demande entrante
Réponse sortante
Demande sortante
Réponse entrante
Le tableau 5 montre comment la NAT est exécutée dans chacun de ces cas. Notez que pour plusieurs champs d’en-tête, l’ALG ne détermine pas seulement si les messages viennent de l’intérieur ou de l’extérieur du réseau. Il doit également déterminer le client à l’origine de l’appel, et si le message est une demande ou une réponse.
Demande entrante (du public au privé) |
À: |
Remplacer le domaine par l’adresse locale |
De: |
Aucun |
|
Id d’appel : |
Aucun |
|
Via: |
Aucun |
|
Requête-URI : |
Remplacer l’adresse ALG par l’adresse locale |
|
Contact: |
Aucun |
|
Record-Route : |
Aucun |
|
Route : |
Aucun |
|
Réponse sortante (du privé au public) |
À: |
Remplacer l’adresse ALG par l’adresse locale |
De: |
Aucun |
|
Id d’appel : |
Aucun |
|
Via: |
Aucun |
|
Requête-URI : |
S.A. |
|
Contact: |
Remplacer l’adresse locale par l’adresse ALG |
|
Record-Route : |
Remplacer l’adresse locale par l’adresse ALG |
|
Route : |
Aucun |
|
Demande sortante (du privé au public) |
À: |
Aucun |
De: |
Remplacer l’adresse locale par l’adresse ALG |
|
Id d’appel : |
Aucun |
|
Via: |
Remplacer l’adresse locale par l’adresse ALG |
|
Requête-URI : |
Aucun |
|
Contact: |
Remplacer l’adresse locale par l’adresse ALG |
|
Record-Route : |
Remplacer l’adresse locale par l’adresse ALG |
|
Route : |
Remplacer l’adresse ALG par l’adresse locale |
|
Réponse sortante (du public au privé) |
À: |
Aucun |
De: |
Remplacer l’adresse ALG par l’adresse locale |
|
Id d’appel : |
Aucun |
|
Via: |
Remplacer l’adresse ALG par l’adresse locale |
|
Requête-URI : |
S.A. |
|
Contact: |
Aucun |
|
Record-Route : |
Remplacer l’adresse ALG par l’adresse locale |
|
Route : |
Remplacer l’adresse ALG par l’adresse locale |
Corps SIP
Les informations SDP du corps SIP comprennent les adresses IP que l’ALG utilise pour créer des canaux pour le flux multimédia. La traduction de la section SDP alloue également des ressources, c’est-à-dire des numéros de port pour envoyer et recevoir les médias.
L’extrait suivant d’un exemple de section SDP affiche les champs qui sont traduits pour l’allocation des ressources.
o=user 2344234 55234434 IN IP410.150.20.3
c=IN IP410.150.20.3
m=audio43249
RTP/AVP 0
Les messages SIP peuvent contenir plusieurs flux multimédias. Le concept est similaire à la connexion de plusieurs fichiers à un e-mail. Par exemple, un message d’invitation envoyé d’un client SIP à un serveur SIP peut comporter les champs suivants :
c=IN IP410.123.33.4
m=audio33445
RTP/AVP 0 c=IN IP410.123.33.4
m=audio33447
RTP/AVP 0 c=IN IP410.123.33.4
m=audio33449
RTP/AVP 0
Junos OS prend en charge jusqu’à 6 canaux SDP négociés pour chaque direction, pour un total de 12 canaux par appel.
Limites de l’ALG SIP junos OS
Les limitations suivantes s’appliquent à la configuration de l’ALG SIP :
Seules les méthodes décrites dans la RFC 3261 sont prises en charge.
Seule la version 2 du PROTOCOLE SIP est prise en charge.
TCP n’est pas pris en charge comme mécanisme de transport pour la signalisation des messages pour les MPC MS, mais est pris en charge pour les services de nouvelle génération.
Ne configurez pas l’ALG SIP lorsque vous utilisez STUN. si les clients utilisent STUN/TURN pour détecter le pare-feu ou les équipements NAT entre l’appelant et le répondeur ou le proxy, le client tente de deviner au mieux le comportement de l’équipement NAT et d’agir en conséquence pour placer l’appel.
Sur les MPC MS-MPC, n’utilisez pas l’option de pool NAT de mappage indépendant des points de terminaison en conjonction avec l’ALG SIP. Des erreurs se produira. Cela ne s’applique pas aux services de nouvelle génération.
Les données de signalisation IPv6 ne sont pas prises en charge pour les MPC MS, mais pour les services de nouvelle génération.
L’authentification n’est pas prise en charge.
Les messages chiffrés ne sont pas pris en charge.
La fragmentation SIP n’est pas prise en charge pour les MPC MS, mais pour les services de nouvelle génération.
La taille maximale du paquet UDP contenant un message SIP est supposée être de 9 Ko. Les messages SIP de plus grande taille ne sont pas pris en charge.
Le nombre maximal de canaux multimédias dans un message SIP est supposé être de six.
Les noms de domaine complets (FQDN) ne sont pas pris en charge dans les domaines critiques.
La QoS n’est pas prise en charge. SIP prend en charge les réécritures DSCP.
La haute disponibilité n’est pas prise en charge, à l’exception de la réserve chaude.
Un délai d’expiration de jamais n’est pas pris en charge sur SIP ou NAT.
Le multicast (forking proxy) n’est pas pris en charge.
Configuration d’une commande SNMP pour la correspondance des paquets
Vous pouvez spécifier un paramètre de commande SNMP pour la correspondance des paquets. Pour configurer SNMP, incluez l’énoncé snmp-command
au niveau de la [edit applications application application-name]
hiérarchie :
[edit applications application application-name] snmp-command value;
Les valeurs prises en charge sont get
, get-next
, set
et trap
. Vous ne pouvez configurer qu’une seule valeur pour la correspondance. L’instruction application-protocol
au niveau de la [edit applications application application-name]
hiérarchie doit avoir la valeur snmp
. Pour plus d’informations sur la spécification du protocole d’application, voir Configuration d’un protocole d’application.
Configuration d’un numéro de programme RPC
Vous pouvez spécifier un numéro de programme RPC pour la correspondance des paquets. Pour configurer un numéro de programme RPC, incluez l’instruction rpc-program-number
au niveau de la [edit applications application application-name]
hiérarchie :
[edit applications application application-name] rpc-program-number number;
La plage de valeurs utilisées pour DCE ou RPC est de 100 000 à 400 000. L’instruction application-protocol
au niveau de la [edit applications application application-name]
hiérarchie doit avoir la valeur rpc
. Pour plus d’informations sur la spécification du protocole d’application, voir Configuration d’un protocole d’application.
Configuration du seuil TTL
Vous pouvez spécifier une valeur seuil TTL (Trace Route Time-to-Live) qui contrôle le niveau acceptable de pénétration du réseau pour le routage de trace. Pour configurer une valeur TTL, incluez l’instruction ttl-threshold
au niveau de la [edit applications application application-name]
hiérarchie :
[edit applications application application-name] ttl-threshold value;
L’instruction application-protocol
au niveau de la [edit applications application application-name]
hiérarchie doit avoir la valeur traceroute
. Pour plus d’informations sur la spécification du protocole d’application, voir Configuration d’un protocole d’application.
Configuration d’un identifiant unique universel
Vous pouvez spécifier un identifiant unique universel (UUID) pour les objets RPC DCE. Pour configurer une valeur UUID, incluez l’instruction uuid
au niveau de la [edit applications application application-name]
hiérarchie :
[edit applications application application-name] uuid hex-value;
La uuid
valeur est en notation hexadécimale. L’instruction application-protocol
au niveau de la [edit applications application application-name
hiérarchie doit avoir la valeur dce-rpc
. Pour plus d’informations sur la spécification du protocole d’application, voir Configuration d’un protocole d’application. Pour plus d’informations sur les numéros UUID, reportez-vous à la section http://www.opengroup.org/onlinepubs/9629399/apdxa.htm
.
Voir aussi
Configuration des ensembles d’applications
Vous pouvez regrouper les applications que vous avez définies dans un objet nommé en incluant l’instruction application-set
au niveau de la [edit applications]
hiérarchie avec une application
déclaration pour chaque application :
[edit applications] application-set application-set-name { application application; }
Pour obtenir un exemple d’un ensemble d’applications typique, voir Exemples : configuration des protocoles d’application.
Exemples : configuration des protocoles applicataires
L’exemple suivant illustre une définition de protocole d’application décrivant une application FTP spéciale s’exécutant sur le port 78 :
[edit applications] application my-ftp-app { application-protocol ftp; protocol tcp; destination-port 78; timeout 100; # inactivity timeout for FTP service }
L’exemple suivant montre un protocole ICMP spécial (application-protocol icmp
) de type 8 (écho ICMP) :
[edit applications] application icmp-app { application-protocol icmp; protocol icmp; icmp-type icmp-echo; }
L’exemple suivant illustre un ensemble d’applications possible :
[edit applications] application-set basic { http; ftp; telnet; nfs; icmp; }
Le logiciel comprend un ensemble prédéfini de protocoles d’application bien connus. L’ensemble comprend des applications pour lesquelles les ports de destination TCP et UDP sont déjà reconnus par les filtres de pare-feu sans état.
Vérifier le résultat des sessions ALG
Cette section contient des exemples de résultats de sessions ALG réussies et des informations sur la configuration des journaux système. Vous pouvez comparer les résultats de vos sessions pour vérifier si les configurations fonctionnent correctement.
Exemple FTP
Cet exemple analyse le résultat d’une session FTP active. Il se compose de quatre flux différents ; deux sont des flux de contrôle et deux sont des flux de données. L’exemple se compose des éléments suivants :
Exemple de sortie
Carte MS-MPC
Pour les MPC MS- MPC, voici un exemple complet de la commande du show services stateful-firewall conversations application-protocol ftp
mode opérationnel :
user@host>show services stateful-firewall conversations application-protocol ftp Interface: ms-1/3/0, Service set: CLBJI1-AAF001 Conversation: ALG protocol: ftp Number of initiators: 2, Number of responders: 2 Flow State Dir Frm count TCP 1.1.79.2:14083 -> 2.2.2.2:21 Watch I 13 NAT source 1.1.79.2:14083 -> 194.250.1.237:50118 TCP 1.1.79.2:14104 -> 2.2.2.2:20 Forward I 3 NAT source 1.1.79.2:14104 -> 194.250.1.237:50119 TCP 2.2.2.2:21 -> 194.250.1.237:50118 Watch O 12 NAT dest 194.250.1.237:50118 -> 1.1.79.2:14083 TCP 2.2.2.2:20 -> 194.250.1.237:50119 Forward O 5 NAT dest 194.250.1.237:50119 -> 1.1.79.2:14104
Pour chaque flux, la première ligne affiche des informations sur le flux, notamment le protocole (TCP), l’adresse source, le port source, l’adresse de destination, le port de destination, l’état du flux, la direction et le nombre de trames.
L’état d’un flux peut être
Watch
,Forward
ouDrop
:Un
Watch
état de flux indique que le flux de contrôle est surveillé par l’ALG pour obtenir des informations sur la charge utile. Le traitement NAT est effectué sur l’en-tête et la charge utile selon les besoins.Un
Forward
flux transfère les paquets sans surveiller la charge utile. Le NAT est effectué sur l’en-tête selon les besoins.Un
Drop
flux laisse tomber tout paquet qui correspond à la 5 tuple.
Le nombre de trames (
Frm count
) indique le nombre de paquets traités sur ce flux.
La deuxième ligne affiche les informations NAT.
source
indique le NAT source.dest
indique le NAT de destination.La première adresse et le port de la ligne NAT sont l’adresse d’origine et le port en cours de traduction pour ce flux.
La deuxième adresse et le port de la ligne NAT sont l’adresse et le port traduits pour ce flux.
Carte MX-SPC3
Sur la carte de services MX-SPC3, voici un exemple complet de sortie de la show services sessions application-protocol ftp
commande du mode opérationnel :
user@host>show services sessions application-protocol ftp Session ID: 536870917, Service-set: ss1, Policy name: p1/131085, Timeout: 1, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 1 In: 12.10.10.10/35281 --> 22.20.20.3/8204;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 6, Bytes: 320, Out: 22.20.20.3/8204 --> 60.1.1.2/48747;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 9, Bytes: 8239, Session ID: 536870919, Service-set: ss1, Policy name: p1/131085, Timeout: 29, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 0 In: 12.10.10.10/44194 --> 22.20.20.3/21;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 13, Bytes: 585, Out: 22.20.20.3/21 --> 60.1.1.2/48660;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 11, Bytes: 650, Total sessions: 2
Pour chaque session :
La première ligne affiche des informations sur le flux, notamment l’ID de session, le nom de l’ensemble de services, le nom de la stratégie, le délai d’expiration de la session, le nom du système logique et son état.
La deuxième ligne,
Resource information
, indique que la session est créée par ALG, y compris le nom ALG (FTP ALG) et l’id de groupe ASL, qui est 1 et l’id de ressource ASL, qui est 0 pour la session de contrôle et 1 pour la session de données.La troisième ligne
In
est le flux de transfert et la quatrième ligneOut
est le flux inverse, y compris l’adresse source, le port source, l’adresse de destination, le protocole de destination (TCP), le conn-tag de session, les entrées pourIn
et les sortants pourOut
l’interface, le nombre de trames reçues et les octets. Le NAT est effectué sur l’en-tête selon les besoins.
Messages de journal système FTP
Les messages du journal système sont générés lors d’une session FTP. Pour plus d’informations sur les journaux système, voir Messages du journal système.
Carte MS-MPC
Les messages de journal système suivants sont générés lors de la création du flux de contrôle FTP :
Journal système d’acceptation des règles :
Oct 27 11:42:54 (FPC Slot 1, PIC Slot 1) {ss_ftp}[FWNAT]: ASP_SFW_RULE_ACCEPT: proto 6 (TCP) application: ftp, fe-3/3/3.0:1.1.1.2:4450 -> 2.2.2.2:21, Match SFW accept rule-set:, rule: ftp, term: 1
Créer un journal système accepter le flux :
Oct 27 11:42:54 (FPC Slot 1, PIC Slot 1) {ss_ftp}[FWNAT]: ASP_SFW_CREATE_ACCEPT_FLOW: proto 6 (TCP) application: ftp, fe-3/3/3.0:1.1.1.2:4450 -> 2.2.2.2:21, creating forward or watch flow
Journal système pour la création de flux de données :
Oct 27 11:43:30 (FPC Slot 1, PIC Slot 1) {ss_ftp}[FWNAT]: ASP_SFW_FTP_ACTIVE_ACCEPT: proto 6 (TCP) application: ftp, so-2/1/2.0:2.2.2.2:20 -> 1.1.1.2:50726, Creating FTP active mode forward flow
Carte mx-SPC3
Les messages de journal système suivants sont générés lors de la création du flux de contrôle FTP :
Journal système pour la création de sessions de contrôle FTP :
Mar 23 23:58:54 esst480r RT_FLOW: RT_FLOW_SESSION_CREATE_USF: Tag svc-set-name ss1: session created 20.1.1.2/52877->30.1.1.2/21 0x0 junos-ftp 20.1.1.2/52877->30.1.1.2/21 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneIn ss1-ZoneOut 818413576 N/A(N/A) ge-1/0/2.0 UNKNOWN UNKNOWN UNKNOWN N/A N/A -1 N/A Mar 23 23:59:00 esst480r junos-alg: RT_ALG_FTP_ACTIVE_ACCEPT: application:ftp data, vms-3/0/0.0 30.1.1.2:20 -> 20.1.1.2:33947 (TCP)
Journal système pour la création de sessions de données FTP :
Mar 23 23:59:00 esst480r RT_FLOW: RT_FLOW_SESSION_CREATE_USF: Tag svc-set-name ss1: session created 30.1.1.2/20->20.1.1.2/33947 0x0 junos-ftp-data 30.1.1.2/20->20.1.1.2/33947 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneOut ss1-ZoneIn 818413577 N/A(N/A) ge-1/1/6.0 FTP-DATA UNKNOWN UNKNOWN Infrastructure File-Servers 2 N/A
Le journal système des sessions de données FTP détruit :
Mar 23 23:59:02 esst480r RT_FLOW: RT_FLOW_SESSION_CLOSE_USF: Tag svc-set-name ss1: session closed TCP FIN: 30.1.1.2/20->20.1.1.2/33947 0x0 junos-ftp-data 30.1.1.2/20->20.1.1.2/33947 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneOut ss1-ZoneIn 818413577 2954(4423509) 281(14620) 2 FTP-DATA UNKNOWN N/A(N/A) ge-1/1/6.0 No Infrastructure File-Servers 2 N/A
Le journal système des sessions de contrôle FTP détruit :
Mar 23 23:59:39 esst480r RT_FLOW: RT_FLOW_SESSION_CLOSE_USF: Tag svc-set-name ss1: session closed Closed by junos-tcp-clt-emul: 20.1.1.2/52877->30.1.1.2/21 0x0 junos-ftp 20.1.1.2/52877->30.1.1.2/21 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneIn ss1-ZoneOut 818413576 23(1082) 18(1176) 45 UNKNOWN UNKNOWN N/A(N/A) ge-1/0/2.0 No N/A N/A -1 N/A
Analyse
Contrôle des flux
Carte MS-MPC
Les flux de contrôle sont établis une fois la négociation à trois voies terminée.
Flux de contrôle du client FTP au serveur FTP. Le port de destination TCP est 21.
TCP 1.1.79.2:14083 -> 2.2.2.2:21 Watch I 13 NAT source 1.1.79.2:14083 -> 194.250.1.237:50118
Flux de contrôle du serveur FTP au client FTP. Le port source TCP est 21.
TCP 2.2.2.2:21 -> 194.250.1.237:50118 Watch O 12 NAT dest 194.250.1.237:50118 -> 1.1.79.2:14083
Carte MX-SPC3
Les flux de contrôle sont établis une fois la négociation à trois voies terminée.
Session de contrôle du client FTP au serveur FTP, le port de destination TCP est 21.
Session ID: 536870919, Service-set: ss1, Policy name: p1/131085, Timeout: 29, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 0 In: 12.10.10.10/44194 --> 22.20.20.3/21;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 13, Bytes: 585, Out: 22.20.20.3/21 --> 60.1.1.2/48660;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 11, Bytes: 650,
Session de données du client FTP au serveur FTP, c’est pour le mode FTP passif.
Session ID: 536870917, Service-set: ss1, Policy name: p1/131085, Timeout: 1, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 1 In: 12.10.10.10/35281 --> 22.20.20.3/8204;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 6, Bytes: 320, Out: 22.20.20.3/8204 --> 60.1.1.2/48747;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 9, Bytes: 8239,
Session de données du serveur FTP au client FTP, c’est pour le mode FTP actif :
Session ID: 549978117, Service-set: ss1, Policy name: p1/131085, Timeout: 1, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 1 In: 22.20.20.3/20 --> 60.1.1.3/6049;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 10, Bytes: 8291, Out: 12.10.10.10/33203 --> 22.20.20.3/20;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 5, Bytes: 268,
Flux de données
Un port de données de 20 est négocié pour le transfert de données dans le cadre du protocole de contrôle FTP. Ces deux flux sont des flux de données entre le client FTP et le serveur FTP :
TCP 1.1.79.2:14104 -> 2.2.2.2:20 Forward I 3 NAT source 1.1.79.2:14104 -> 194.250.1.237:50119 TCP 2.2.2.2:20 -> 194.250.1.237:50119 Forward O 5 NAT dest 194.250.1.237:50119 -> 1.1.79.2:14104
Questions de dépannage
Comment savoir si le FTP ALG est actif ?
Le champ protocole ALG de la conversation doit afficher
ftp
.Il doit y avoir un nombre de trames valide (
Frm count
) dans les flux de contrôle.Un nombre de trames valide dans les flux de données indique que le transfert de données a eu lieu.
Que dois-je vérifier si la connexion FTP est établie mais que le transfert de données n’a pas lieu ?
Très probablement, la connexion de contrôle est en place, mais la connexion de données est en panne.
Vérifiez les résultats des conversations pour déterminer si les flux de contrôle et de données sont présents.
Comment interpréter chaque flux ? Que signifie chaque flux ?
Flux d’initiation de flux de contrôle FTP — Flux avec le port de destination 21
Flux de répondeur de contrôle FTP — Flux avec port source ;21
Flux d’initiant de flux de données FTP : flux avec le port de destination 20
Flux de réponse au flux de données FTP : flux avec le port source 20
Exemple d’ALG RTSP
Voici un exemple de conversation rtsp. L’application utilise le protocole RTSP pour la connexion de contrôle. Une fois la connexion configurée, le support est envoyé à l’aide du protocole UDP (RTP).
Cet exemple comprend les éléments suivants :
- Exemple de sortie pour MS-MPC
- Exemple de sortie pour carte de services MX-SPC3
- Analyse
- Questions de dépannage
Exemple de sortie pour MS-MPC
Voici le résultat de la commande du show services stateful-firewall conversations
mode opérationnel :
user@host# show services stateful-firewall conversations Interface: ms-3/2/0, Service set: svc_set Conversation: ALG protocol: rtsp Number of initiators: 5, Number of responders: 5 Flow State Dir Frm count TCP 1.1.1.3:58795 -> 2.2.2.2:554 Watch I 7 UDP 1.1.1.3:1028 -> 2.2.2.2:1028 Forward I 0 UDP 1.1.1.3:1029 -> 2.2.2.2:1029 Forward I 0 UDP 1.1.1.3:1030 -> 2.2.2.2:1030 Forward I 0 UDP 1.1.1.3:1031 -> 2.2.2.2:1031 Forward I 0 TCP 2.2.2.2:554 -> 1.1.1.3:58795 Watch O 5 UDP 2.2.2.2:1028 -> 1.1.1.3:1028 Forward O 6 UDP 2.2.2.2:1029 -> 1.1.1.3:1029 Forward O 0 UDP 2.2.2.2:1030 -> 1.1.1.3:1030 Forward O 3 UDP 2.2.2.2:1031 -> 1.1.1.3:1031 Forward O 0
Exemple de sortie pour carte de services MX-SPC3
Voici le résultat de la commande du show services sessions application-protocol rtsp
mode opérationnel :
user@host# run show services sessions application-protocol rtsp Session ID: 1073741828, Service-set: sset1, Policy name: p1/131081, Timeout: 116, Valid Logical system: root-logical-system Resource information : RTSP ALG, 1, 0 In: 31.0.0.2/33575 --> 41.0.0.2/554;tcp, Conn Tag: 0x0, If: vms-4/0/0.1, Pkts: 8, Bytes: 948, Out: 41.0.0.2/554 --> 131.10.0.1/7777;tcp, Conn Tag: 0x0, If: vms-4/0/0.2, Pkts: 6, Bytes: 1117, Session ID: 1073741829, Service-set: sset1, Policy name: p1/131081, Timeout: 120, Valid Logical system: root-logical-system Resource information : RTSP ALG, 1, 1 In: 41.0.0.2/35004 --> 131.10.0.1/7780;udp, Conn Tag: 0x0, If: vms-4/0/0.2, Pkts: 220, Bytes: 79200, Out: 31.0.0.2/30004 --> 41.0.0.2/35004;udp, Conn Tag: 0x0, If: vms-4/0/0.1, Pkts: 0, Bytes: 0, Session ID: 1073741830, Service-set: sset1, Policy name: p1/131081, Timeout: 120, Valid Logical system: root-logical-system Resource information : RTSP ALG, 1, 4 In: 41.0.0.2/35006 --> 131.10.0.1/7781;udp, Conn Tag: 0x0, If: vms-4/0/0.2, Pkts: 220, Bytes: 174240, Out: 31.0.0.2/30006 --> 41.0.0.2/35006;udp, Conn Tag: 0x0, If: vms-4/0/0.1, Pkts: 0, Bytes: 0, Total sessions: 3
Analyse
Une conversation RTSP doit être composée de flux TCP correspondant à la connexion de contrôle RTSP. Il doit y avoir deux flux, un dans chaque direction, du client au serveur et du serveur au client :
TCP 1.1.1.3:58795 -> 2.2.2.2:554 Watch I 7 TCP 2.2.2.2:554 -> 1.1.1.3:58795 Watch O 5
La connexion de contrôle RTSP du flux d’initiant est envoyée à partir du port de destination 554.
La connexion de contrôle RTSP pour le flux de répondeur est envoyée à partir du port source 554.
Les flux UDP correspondent aux supports RTP envoyés via la connexion RTSP.
Questions de dépannage
Le support ne fonctionne pas lorsque l’ALG RTSP est configuré. Qu’est-ce que je fais ?
Consultez les conversations RTSP pour voir s’il existe des flux TCP et UDP.
Le protocole ALG doit être affiché sous la forme
rtsp
.
Note:L’état du flux s’affiche sous la forme
Watch
, car le traitement ALG est en cours et que le client « surveille » ou traite la charge utile correspondant à l’application. Pour les flux ALG FTP et RTSP, les connexions de contrôle sont toujoursWatch
des flux.Comment puis-je vérifier les erreurs ALG ?
Vous pouvez vérifier les erreurs en publiant la commande suivante. Chaque ALG dispose d’un champ distinct pour les erreurs de paquetS ALG.
user@host# show services stateful-firewall statistics extensive Interface: ms-3/2/0 Service set: svc_set New flows: Accepts: 1347, Discards: 0, Rejects: 0 Existing flows: Accepts: 144187, Discards: 0, Rejects: 0 Drops: IP option: 0, TCP SYN defense: 0 NAT ports exhausted: 0 Errors: IP: 0, TCP: 276 UDP: 0, ICMP: 0 Non-IP packets: 0, ALG: 0 IP errors: IP packet length inconsistencies: 0 Minimum IP header length check failures: 0 Reassembled packet exceeds maximum IP length: 0 Illegal source address: 0 Illegal destination address: 0 TTL zero errors: 0, Illegal IP protocol number (0 or 255): 0 Land attack: 0 Non-IPv4 packets: 0, Bad checksum: 0 Illegal IP fragment length: 0 IP fragment overlap: 0 IP fragment reassembly timeout: 0 Unknown: 0 TCP errors: TCP header length inconsistencies: 0 Source or destination port number is zero: 0 Illegal sequence number and flags combinations: 0 SYN attack (multiple SYN messages seen for the same flow): 276 First packet not a SYN message: 0 TCP port scan (TCP handshake, RST seen from server for SYN): 0 Bad SYN cookie response: 0 UDP errors: IP data length less than minimum UDP header length (8 bytes): 0 Source or destination port number is zero: 0 UDP port scan (ICMP error seen for UDP flow): 0 ICMP errors: IP data length less than minimum ICMP header length (8 bytes): 0 ICMP error length inconsistencies: 0 Duplicate ping sequence number: 0 Mismatched ping sequence number: 0 ALG errors: BOOTP: 0, DCE-RPC: 0, DCE-RPC portmap: 0 DNS: 0, Exec: 0, FTP: 0 ICMP: 0 Login: 0, NetBIOS: 0, NetShow: 0 RPC: 0, RPC portmap: 0 RTSP: 0, Shell: 0 SNMP: 0, SQLNet: 0, TFTP: 0 Traceroute: 0
Messages du journal système
L’activation de la génération de journaux système et la vérification du journal système sont également utiles pour l’analyse des flux ALG. Cette section contient les éléments suivants :
Configuration du journal système
Vous pouvez configurer l’activation des messages de journalisation système à différents niveaux dans l’interface cli de Junos OS. Comme indiqué dans les exemples de configurations suivants, le choix du niveau dépend de la spécificité de la journalisation des événements et des options que vous souhaitez inclure. Pour plus de détails sur les options de configuration, consultez la bibliothèque d’administration Junos OS pour les équipements de routage (niveau système) ou la bibliothèque d’interfaces de services Junos OS pour les équipements de routage (tous les autres niveaux).
Au plus haut niveau mondial :
user@host# show system syslog file messages { any any; }
Au niveau de l’ensemble de services :
user@host# show services service-set svc_set syslog { host local { services any; } } stateful-firewall-rules allow_rtsp; interface-service { service-interface ms-3/2/0; }
Au niveau des règles de service :
user@host# show services stateful-firewall rule allow_rtsp match-direction input-output; term 0 { from { applications junos-rtsp; } then { accept; syslog; } }
Sortie du journal système
Des messages de journal système sont générés lors de la création de flux, comme le montrent les exemples suivants :
Le message suivant du journal système indique que l’ASP correspondait à une règle d’acceptation :
Oct 25 16:11:37 (FPC Slot 3, PIC Slot 2) {svc_set}[FWNAT]: ASP_SFW_RULE_ACCEPT: proto 6 (TCP) application: rtsp, ge-2/0/1.0:1.1.1.2:35595 -> 2.2.2.2:554, Match SFW accept rule-set: , rule: allow_rtsp, term: 0
Pour obtenir la liste complète des messages des journaux système, consultez l’Explorateur des journaux système.