Ejemplo: Uso de políticas para administrar la sobresuscripción
Es posible que desee utilizar un aplicador de policía cuando una interfaz está sobresuscrita y desea controlar lo que sucederá si se produce congestión. Por ejemplo, es posible que tenga servidores conectados a un conmutador como se indica en Tabla 1.
Tipo de servidor |
Conexión |
Dirección IP |
---|---|---|
Servidor de aplicaciones de red |
Interfaz de 1 gigabit |
10.0.0.1 |
Servidor de autenticación |
Interfaz de 1 gigabit |
10.0.0.2 |
Servidor de base de datos |
Interfaz de 10 gigabits |
10.0.0.3 |
En este ejemplo, los usuarios acceden a los servicios proporcionados por el servidor de aplicaciones de red, que solicita información al servidor de bases de datos, según corresponda. Cuando recibe una solicitud de un usuario, el servidor de aplicaciones de red se pone en contacto primero con el servidor de autenticación para comprobar las credenciales del usuario. Cuando se autentica un usuario y el servidor de aplicaciones de red proporciona el servicio solicitado, todos los paquetes enviados desde el servidor de bases de datos al servidor de aplicaciones deben transitar la interfaz 1 Gigabit Ethernet conectada al servidor de aplicaciones dos veces: una vez al ingresar al servidor de aplicaciones y otra al salir al usuario.
La secuencia de eventos para una sesión de usuario es la siguiente:
Un usuario se conecta al servidor de aplicaciones y solicita un servicio.
El servidor de aplicaciones solicita las credenciales del usuario y las transmite al servidor de autenticación.
Si el servidor de autenticación verifica las credenciales, el servidor de aplicaciones inicia el servicio solicitado.
El servidor de aplicaciones solicita los archivos necesarios para satisfacer la solicitud del usuario del servidor de base de datos.
El servidor de base de datos envía los archivos solicitados al servidor de aplicaciones.
El servidor de aplicaciones incluye los archivos solicitados en su respuesta al usuario.
El tráfico del servidor de bases de datos al servidor de aplicaciones puede congestionar la interfaz de 1 gigabit a la que está conectado el servidor de aplicaciones. Esta congestión puede impedir que el servidor responda a las solicitudes de los usuarios y cree nuevas sesiones para ellos. Puede usar la vigilancia para asegurarse de que esto no ocurra.
Para crear esta configuración de firewall, realice los pasos siguientes en el servidor de base de datos:
Cree un aplicador de políticas para eliminar el tráfico del servidor de bases de datos al servidor de aplicaciones si supera ciertos límites:
[edit firewall] user@switch# set policer Database-Egress-Policer if-exceeding bandwidth-limit 400 burst-size-limit 500m user@switch# set policer Database-Egress-Policer then discard
Cree un filtro para examinar el tráfico del servidor de base de datos al servidor de aplicaciones:
[edit firewall] user@switch# edit family inet filter Database-Egress-Filter
Configure el filtro para aplicar el aplicador de políticas al tráfico que sale del servidor de base de datos y destinado al servidor de aplicaciones:
[edit firewall family inet filter Database-Egress-Filter] user@switch# set term term-1 from destination-address 10.0.0.1 user@switch# set term term-1 then policer Database-Egress-Policer
Si es necesario, configure un término para permitir el tráfico desde el servidor de base de datos a otros destinos (de lo contrario, la instrucción implícita deny perderá el tráfico):
[edit firewall family inet filter Database-Egress-Filter] user@switch# set term term-2 then accept
Tenga en cuenta que omitir una
from
instrucción hace que el término coincida con todos los paquetes, que es el comportamiento deseado.Instale el filtro de salida como filtro de salida en la interfaz del servidor de base de datos que está conectada al servidor de aplicaciones:
[edit interfaces] user@switch# set xe-0/0/3 unit 0 family inet filter output Database-Egress-Filter
Así es como aparecería la configuración final:
firewall { policer Database-Egress-Policer { if-exceeding { bandwidth-limit 400; burst-size-limit 500m; } then discard; } family inet { filter Database-Egress-Filter { term term-1 { from { destination-address { 10.0.0.1/24; } } then policer Database-Egress-Policer; } term term-2 { # If required, include this term so that traffic from the database server to other destinations is allowed. then accept; } } } ]