Identificadores exclusivos para variáveis de firewall
O sistema usa identificadores exclusivos (UIDs) para ajudar no dimensionamento. O UID permite que o sistema determine quando os objetos de configuração de vários assinantes são idênticos e podem ser compartilhados. Em muitas situações, como uma definição de filtro, compartilhar um único filtro entre vários assinantes em vez de criar um novo filtro para cada assinante ajuda a conservar os recursos do sistema.
Em um perfil dinâmico, um UID é usado para nomear um objeto de configuração. O sistema atribui o valor do UID (o nome do objeto) com base em todas as variáveis contidas nessa estrofe de configuração, juntamente com o nome do perfil dinâmico. O valor UID atribuído consiste no nome UID combinado com a cadeia de caracteres _UID e um número exclusivo. Por exemplo, o UID $my-filter pode receber o valor my-filter_UID1022.
Você deve primeiro definir um UID na variable sub-rotina usando a opção uid. O UID deve ser definido no final, depois de todas as variáveis que são atribuídas valores externamente.
dynamic-profile test-profile {
variables {
... [other variables] ...
[my-filter] {
uid;
}
}
}
Depois que um UID é definido, ele pode ser usado para nomear um objeto:
dynamic-profile test-profile {
firewall {
family inet {
filter [$my-filter] {
... [filter definition that makes use of other variables] ...
}
}
}
}
Conforme descrito anteriormente, o sistema atribui o valor de dependendo dos $my-filter valores das variáveis usadas na definição desse filtro.
O UID também é usado em qualquer outro lugar em que o nome do objeto seja usado. Por exemplo, aqui está uma estrofe de interface para usar $my-filter como filtro de entrada:
dynamic-profile [test-profile] {
interfaces {
[$junos-interface-ifd-name]" {
unit [$junos-interface-unit] {
family inet {
filter {
input [$my-filter];
}
}
}
}
}
}
Você pode definir vários objetos de configuração do mesmo tipo (ou seja, vários filtros), desde que cada um use seu próprio UID individual. Para garantir que o sistema selecione o objeto correto ao atribuir um nome, use a variável uid-reference .
Quando a referência uid é usada, ela é efetivamente avaliada duas vezes. Primeiro, o valor da variável uid-reference é recuperado. Em segundo lugar, esse valor é usado como o nome de um UID e esse valor UID é recuperado. Uma referência de uid com um valor que não é o nome de um UID é considerada um erro.
Uma referência de uid é definida de forma semelhante a qualquer outra variável:
dynamic-profile [test-profile] {
variables {
[my-filter-selector] {
uid-reference;
}
}
}
Uma referência uid é usada sempre que o nome do objeto é necessário. Um exemplo é o nome do filtro de entrada na seguinte estrofe de interface:
dynamic-profile [test-profile] {
interfaces {
[$junos-interface-ifd-name] {
unit [$junos-interface-unit] {
family inet {
filter {
input [$my-filter-selector];
}
}
}
}
}
}
Considere o caso em que dois filtros parametrizados são definidos: $my-filter-1 e $my-filter-2. A variável $my-filter-selector pode receber o valor my-filter-1 ou my-filter-2, dependendo de qual filtro é apropriado.