EdgeMAX - enrutamiento de puerto de destino basada en políticas

Resumen


Los lectores aprenderán a configurar enrutamiento basado en políticas basadas en el puerto de destino la dirección. 

 

El ejemplo de enrutamiento de política basado en borde OS política de enrutamiento basado en muestra una política de origen donde fue elegida la tabla de enrutamiento basada en la dirección origen del paquete. Para esta página de wiki utilizamos PBR para tomar una decisión de enrutamiento basada en el puerto de destino.

 

PBR2.png
Diagrama de red muestra configurar PBR según destino.

 

En el diagrama anterior, hay 2 conexiones WAN etiquetadas, ISP-1 y 2 de ISP:

  1. ISP-1 eth0 192.0.2.0/24
  2. ISP-2 203.0.113.0/24 eth1


En el lado de la LAN:

  1. eth2 172.16.0.0/24

En este ejemplo queremos que el tráfico de puerto de destino 80 y 443 para ISP-1 y todo el demás tráfico usan ISP-2.

  

Tablas de enrutamiento

Estamos utilizando las mismas tablas de enrutamiento a partir del borde OS política basa enrutamiento donde la tabla de enrutamiento "principal" tiene una ruta por defecto a dos ISP, tabla 1 sólo tiene una ruta a ISP1 y tabla 2 sólo tiene una ruta a ISP2:

ubnt@PBR# show protocols static 
 route 0.0.0.0/0 {
     next-hop 192.0.2.1 {
     }
     next-hop 203.0.113.1 {
     }
 }
 table 1 {
     route 0.0.0.0/0 {
         next-hop 192.0.2.1 {
         }
     }
 }
 table 2 {
     route 0.0.0.0/0 {
         next-hop 203.0.113.1 {
         }
     }
 }

 

Destino basado en política

firewall {
    modify DEST_PORT_ROUTE {
        rule 1 {
            action modify
            description "use table 1 to route for ports 80 & 443"
            destination {
                port 80,443
            }
            modify {
                table 1
            }
            protocol tcp
        }
        rule 2 {
            action modify
            description "use table 2 to route for everything else"
            modify {
                table 2
            }
        }
    }
}

 

Se aplican a la interfaz

ubnt@PBR# show interfaces ethernet eth2
 address 172.16.0.1/24
 duplex auto
 firewall {
     in {
         modify DEST_PORT_ROUTE
     }
 }
 speed auto
[edit]

 

Ejemplo de configuración

 
 firewall {
     modify DEST_PORT_ROUTE {
         rule 1 {
            action modify
            description "use table 1 to route for ports 80 & 443"
            destination {
                port 80,443
            }
            modify {
                table 1
            }
            protocol tcp
        }
        rule 2 {
            action modify
            description "use table 2 to route for everything else"
            modify {
                table 2
            }
        }
    }
 }
 interfaces {
    ethernet eth0 {
        address 192.0.2.2/24
        duplex auto
        speed auto
    }
    ethernet eth1 {
        address 203.0.113.2/24
        duplex auto
        speed auto
    }
    ethernet eth2 {
        address 172.16.0.1/24
        duplex auto
        firewall {
            in {
                modify DEST_PORT_ROUTE
            }
        }
        speed auto
    }
    loopback lo {
    }
 }
 protocols {
    static {
        route 0.0.0.0/0 {
            next-hop 192.0.2.1 {
            }
            next-hop 203.0.113.1 {
            }
        }
        table 1 {
            route 0.0.0.0/0 {
                next-hop 192.0.2.1 {
                }
            }
        }
        table 2 {
            route 0.0.0.0/0 {
                next-hop 203.0.113.1 {
                }
            }
        }
    }
 }
 service {
    dhcp-server {
        shared-network-name LAN {
            subnet 172.16.0.0/24 {
                default-router 172.16.0.1
                dns-server 8.8.8.8
                lease 86400
                start 172.16.0.10 {
                    stop 172.16.0.100
                }
            }
        }
    }
    gui {
        https-port 443
    }
    nat {
        rule 5000 {
            outbound-interface eth0
            type masquerade
        }
        rule 6000 {
            outbound-interface eth1
            type masquerade
        }
    }
    ssh {
        port 22
        protocol-version v2
    }
 }
 system {
    host-name PBR
    login {
        user ubnt {
            authentication {
                encrypted-password $1$zKNoUbAo$gomzUbYvgyUMcD436Wo66.
            }
            level admin
        }
    }
    name-server 8.8.8.8
    ntp {
        server 0.ubnt.pool.ntp.org {
        }
        server 1.ubnt.pool.ntp.org {
        }
        server 2.ubnt.pool.ntp.org {
        }
        server 3.ubnt.pool.ntp.org {
        }
    }
    syslog {
        global {
            facility all {
                level notice
            }
            facility protocols {
                level debug
            }
        }
    }
    time-zone UTC
 }


 /* Warning: Do not remove the following line. */
 /* === vyatta-config-version: "config-management@1:dhcp-relay@1:dhcp-server@4:firewall@4:ipsec@3:nat@3:qos@1:quagga@2:system@4:ubnt- pptp@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
 /* Release version: v1.1.0beta3.4539683.130226.1056 */
Tecnología de Zendesk