Expressions de stratégie avancées : adresses IP et MAC, débit, ID VLAN
Vous pouvez utiliser des préfixes d’expression de stratégie avancée qui renvoient des adresses IPv4 et IPv6, des adresses MAC, des sous-réseaux IP, des données client et serveur utiles telles que les débits aux ports d’interface (Rx, Tx et RxTx) et les ID des VLAN via lesquels les paquets sont reçus. Vous pouvez ensuite utiliser différents opérateurs pour évaluer les données renvoyées par ces préfixes d’expression.
Expressions pour adresses IP et sous-réseaux IP
你们可以使用des表情的那个avancées pour évaluer les adresses et les sous-réseaux qui sont au format IPv4 (Internet Protocol version 4) ou IPv6 (Internet Protocol version 6). Les préfixes d’expression des adresses et sous-réseaux IPv6 incluent IPv6 dans le préfixe. Les préfixes d’expression des adresses et sous-réseaux IPv4 incluent l’adresse IP dans le préfixe. Voici un exemple d’expression qui identifie si une demande provient d’un sous-réseau IPv4 particulier.
client.ip.src.in_subnet(147.1.0.0/16)
Voici deux exemples de stratégies de réécriture qui examinent le sous-réseau à partir duquel le paquet est reçu et effectuent une action de réécriture sur l’en-tête Host. Une fois ces deux stratégies configurées, l’action de réécriture effectuée dépend du sous-réseau de la demande. Ces deux stratégies évaluent les adresses IP au format d’adresse IPv4.
- add rewrite action URL1-rewrite-action replace "http.req.header("Host")" ""www.mycompany1.com"" - add rewrite policy URL1-rewrite-policy "http.req.header("Host").contains("www.test1.com") && client.ip.src.in_subnet(147.1.0.0/16)" URL1-rewrite-action - add rewrite action URL2-rewrite-action replace "http.req.header("Host")" ""www.mycompany2.com"" - add rewrite policy URL2-rewrite-policy "http.req.header("Host").contains("www.test2.com") && client.ip.src.in_subnet(10.202.0.0/16)" URL2-rewrite-action
Remarque
Les exemples précédents sont des commandes que vous tapez sur l’interface de ligne de commande (CLI) de Citrix ADC et, par conséquent, chaque guillemet doit être précédé d’une barre oblique inverse (\). Pour plus d’informations, voirConfiguration d’expressions de stratégie avancées dans une stratégie.”
Préfixes pour les adresses IPV4 et les sous-réseaux IP
Le tableau suivant décrit les préfixes qui renvoient des adresses et des sous-réseaux IPv4, ainsi que des segments d’adresses IPv4. Vous pouvez utiliser des opérateurs numériques et des opérateurs spécifiques aux adresses IPv4 avec ces préfixes. Pour plus d’informations sur les opérations numériques, voir « Opérations debase sur les préfixes d’expression» et «Opérations composées pour les nombres».
Tableau 1. Préfixes qui évaluent les adresses IP et MAC
Prefix | Description |
---|---|
CLIENT.IP.SRC | Renvoie l’adresse IP source du paquet actuel sous forme d’adresse IP ou de numéro. |
CLIENT.IP.DST | Renvoie l’adresse IP de destination du paquet actuel sous forme d’adresse IP ou de numéro. |
SERVEUR。IP.SRC | Renvoie l’adresse IP source du paquet actuel sous forme d’adresse IP ou de numéro. |
SERVEUR。IP.DST | Renvoie l’adresse IP de destination du paquet actuel sous forme d’adresse IP ou de numéro. |
Opérations pour les adresses IPV4
Le tableauPrefix for IPV4 Operationsdécrit les opérateurs pouvant être utilisés avec des préfixes renvoyant une adresse IPv4.
A propos des expressions IPv6
Le format d’adresse IPv6 offre plus de flexibilité que l’ancien format IPv4. Les adresses IPv6 sont au format hexadécimal (RFC 2373). Dans les exemples suivants, l’exemple 1 est une adresse IPv6, l’exemple 2 est une URL qui inclut l’adresse IPv6 et l’exemple 3 inclut l’adresse IPv6 et un numéro de port.
Exemple 1 :
9901:0ab1:22a2:88a3:3333:4a4b:5555:6666
Exemple 2 :
http://[9901:0ab1:22a2:88a3:3333:4a4b:5555:6666]/
Exemple 3 :
https://[9901:0ab1:22a2:88a3:3333:4a4b:5555:6666]:8080/
Dans l’exemple 3, les crochets séparent l’adresse IP du numéro de port (8080).
Notez你们不可以使用l 'operateur«+» que pour combiner des expressions IPv6 avec d’autres expressions. La sortie est une concaténation des valeurs de chaîne renvoyées par les expressions individuelles. Vous ne pouvez pas utiliser d’autres opérateurs arithmétiques avec une expression IPv6. La syntaxe suivante est un exemple :
client.ipv6.src + server.ip.dst
Par exemple, si l’adresse IPv6 source du client estABCD:1234::ABCD
, et que l’adresse IPv4 de destination du serveur est10.100.10.100
, l’expression précédente renvoie"ABCD:1234::ABCD10.100.10.100"
.
Notez que lorsque l’appliance Citrix ADC reçoit un paquet IPv6, elle attribue une adresse IPv4 temporaire à partir d’une plage d’adresses IPv4 inutilisée et remplace l’adresse source du paquet par cette adresse temporaire. Au moment de la réponse, l’adresse source du paquet sortant est remplacée par l’adresse IPv6 d’origine.
Remarque
Vous pouvez combiner une expression IPv6 avec n’importe quelle autre expression, à l’exception d’une expression qui produit un résultat booléen.
Préfixes d’expression pour les adresses IPv6
Les adresses IPv6 renvoyées par les préfixes d’expression du tableau suivant peuvent être traitées comme des données textuelles. Par exemple, le préfixe client.ipv6.dst renvoie l’adresse IPv6 de destination sous la forme d’une chaîne pouvant être évaluée en tant que texte.
Le tableau suivant décrit les préfixes d’expression qui renvoient une adresse IPv6.
Tableau 3. Préfixes d’expression IPv6 qui renvoient du texte
Prefix | Description |
---|---|
CLIENT.IPV6 | Fonctionne sur l’adresse IPv6 avec le paquet actuel. |
CLIENT.IPV6.DST | Renvoie l’adresse IPv6 dans le champ de destination de l’en-tête IP. |
CLIENT.IPV6.SRC | Renvoie l’adresse IPv6 dans le champ source de l’en-tête IP. Voici des exemples :client.ipv6.src.in_subnet(2007::2008/64) client.ipv6.src.get1.le(2008) |
SERVEUR。IPV6 | Fonctionne sur l’adresse IPv6 avec le paquet actuel. |
SERVER.IPV6.DST | Renvoie l’adresse IPv6 dans le champ de destination de l’en-tête IP. |
SERVER.IPV6.SRC | Renvoie l’adresse IPv6 dans le champ source de l’en-tête IP. Voici des exemples :server.ipv6.src.in_subnet(2007::2008/64) server.ipv6.src.get1.le(2008) |
Opérations pour les préfixes IPv6
Le tableau suivant décrit les opérateurs qui peuvent être utilisés avec des préfixes qui renvoient une adresse IPv6 :
Tableau 4. Opérations qui évaluent les adresses IPv6
Fonctionnement IPv6 | Description |
---|---|
|
Renvoie une valeur booléenne TRUE si la valeur de l’adresse IP est identique à celle de l’ argument. Voici un exemple :client.ipv6.dst.eq(ABCD:1234::ABCD) |
|
Renvoie un segment d’une adresse IPv6 sous la forme d’un nombre. Les exemples d’expressions suivants récupèrent des segments à partir de l’adresse ipv6 1000:1001:CD 10:0000:0000:89 AB:4567:CDEF :client.ipv6.dst.get5 extracts 0000 , qui est le cinquième ensemble de bits de l’adresse.client.ipv6.dst.get6 extracts 89AB. client.ipv6.dst.get7 extracts 4567. Vous pouvez effectuer des opérations numériques sur ces segments. Notez que vous ne pouvez pas effectuer d’opérations numériques lorsque vous récupérez une adresse IPv6 complète. En effet, les expressions qui renvoient une adresse IPv6 complète, comme CLIENT.IPV6.SRC, renvoient l’adresse au format texte. |
|
Renvoie une valeur booléenne TRUE si la valeur de l’adresse IPv6 se trouve dans le sous-réseau spécifié par l’ argument. Voici un exemple :client.ipv6.dst.eq(1000:1001:CD10:0000:0000:89AB:4567:CDEF/60) |
|
Retourne une valeur booléenne TRUE s’il s’agit d’un client IPv4, et renvoie une valeur booléenne FALSE si ce n’est pas le cas. |
|
Renvoie l’adresse IPv6 après avoir appliqué le masque de sous-réseau spécifié comme argument. Le masque de sous-réseau peut prendre des valeurs comprises entre 0 et 128. Pa exemple :CLIENT.IPV6.SRC.SUBNET(24) |
Expressions pour adresses MAC
Une adresse MAC est constituée de valeurs hexadécimales délimitées par deux points au format ## : ## : ## : ## : ## : ##, où chaque « # » représente soit un nombre compris entre 0 et 9, soit une lettre de A à F. Des préfixes et opérateurs d’expression de stratégie avancés sont disponibles pour évaluer les adresses MAC source et cible.
Préfixes des adresses MAC
Le tableau suivant décrit les préfixes qui renvoient des adresses MAC.
Tableau 5. Préfixes qui évaluent les adresses MAC
Prefix | Description |
---|---|
client.ether.dstmac |
Renvoie l’adresse MAC dans le champ de destination de l’en-tête Ethernet. |
client.ether.srcmac |
Renvoie l’adresse MAC dans le champ source de l’en-tête Ethernet. |
Opérations pour les adresses MAC
Le tableau suivant décrit les opérateurs qui peuvent être utilisés avec des préfixes qui renvoient une adresse MAC.
Tableau 6. Opérations sur les adresses MAC
Prefix | Description |
---|---|
|
Renvoie une valeur booléenne TRUE si la valeur de l’adresse MAC est identique à celle de l’ argument. |
|
Renvoie une valeur numérique extraite du segment de l’adresse MAC spécifié dans l’opération GET. Par exemple, si l’adresse MAC est 12:34:56:78:9 a:bc, la valeur suivante renvoie 34 :client.ether.dstmac.get2 |
Expressions pour les données numériques du client et du serveur
Le tableau suivant décrit les préfixes pour l’utilisation des données numériques du client et du serveur, notamment le débit, les numéros de port et les ID de VLAN.
Tableau 7. Préfixes qui évaluent les données numériques du client et du serveur
Prefix | Description |
---|---|
Débit client.interface.rx | Renvoie un entier représentant le débit brut du trafic reçu en kilo-octets par seconde (Kbps) pendant les sept secondes précédentes. |
débit client.interface.tx | Renvoie un entier représentant le débit brut du trafic transmis en Kbps pendant les sept secondes précédentes. |
Débit client.interface.rxtx | Renvoie un entier représentant le débit brut du trafic reçu et transmis en Kbps pendant les sept secondes précédentes. |
débit server.interface.rx | Renvoie un entier représentant le débit brut du trafic reçu en Kbps pendant les sept secondes précédentes. |
débit server.interface.tx | Renvoie un entier représentant le débit brut du trafic transmis en Kbps pendant les sept secondes précédentes. |
débit server.interface.rxtx | Renvoie un entier représentant le débit brut du trafic reçu et transmis en Kbps pendant les sept secondes précédentes. |
server.vlan.id | Renvoie un ID numérique du VLAN via lequel le paquet actuel est entré dans Citrix ADC. |
client.vlan.id | Renvoie un ID numérique pour le VLAN via lequel le paquet courant est entré dans le Citrix ADC. |