Mikrotik > Otros

Mi aporte para esta comunidad (SCRIPT FAILOVER PARA 4 LINEAS)

(1/4) > >>

bacalao:
Buenas a todos aquí les dejo mi aporte, el script me lo paso un amigo Cesar Rivas que tenia la idea y y lo termine modificando. Lo único que pido es que mantenga quien lo envió y quien lo modifico

Este script es muy funcional para los que tenemos mikrotik, que hace muy sencillo el verifica que las lineas de Internet que tengamos (wan) esten operativas, si una de ellas esta caída toma cualquiera que este operativa. Ejemplo:

Tenemos 4 Lineas con las siguientes IP

1.- 186.89.192.1
2.- 190.201.0.1
3.- 190.198.224.1
4.- 190.201.160.1

Se pierde la ip de la linea 2
1.- 186.89.192.1
2.-
3.- 190.198.224.1
4.- 190.201.160.1

entonces el script revisa y te asigna la ip de la linea 1 quedando asi
1.- 186.89.192.1
2.- 186.89.192.1
3.- 190.198.224.1
4.- 190.201.160.1


Script para la linea 1

--- Código: ---#SCRIPT ENVIADO POR CESAR O. RIVAS Y MODIFICADO POR MOHAMED W. HAMMAUD #Se toman las variables de las interfaces donde esten conectados la WAN :global GA [/ip dhcp-client get [find interface=ether2-gateway1] gateway] :global GB [/ip dhcp-client get [find interface=ether3-gateway2] gateway] :global GC [/ip dhcp-client get [find interface=ether4-Gateway3] gateway] :global GD [/ip dhcp-client get [find interface=ether5-Gateway4] gateway]  #creamos variables globales:global pingresultA:global pingresultB:global pingresultC:global pingresultD:global access 0  :if ([:len $GA] != 0) do={                :global pingresultA  [/ping $GA interface=ether2-gateway1 count=4]} else={               :global pingresultA 0} #Si WAN1 esta activo: :if ($pingresultA>0) do={    :local gatewayNuevo [/ip dhcp-client get [find interface=ether2-gateway1] gateway ]    :local gatewayActivo [/ip route get [find routing-mark=to_Wan1] gateway ]    :if ($gatewayNuevo != $gatewayActivo) do={        /ip route set [find routing-mark=to_Wan1] gateway=[/ip dhcp-client get [find interface=ether2-gateway1] gateway ]        :log info "Wan1 activo y se actualiza Gateway"     }       } #Si WAN1 se cae::if ($pingresultA=0) do={                  :local status [/ip dhcp-client get [/ip dhcp-client find interface=ether2-gateway1] status ]                 :if ($status="bound") do={                                 /ip dhcp-client set [find interface=ether2-gateway1] disabled=yes                                :local d [/ip dhcp-client get [/ip dhcp-client find interface=ether2-gateway1] disabled ]                                 :if ($d=true) do={                                         /ip dhcp-client set [find interface=ether2-gateway1] disabled=no                                   }                 }                              :if ([:len $GB] != 0) do={                       :global pingresultB  [/ping $GB interface=ether3-gateway2 count=4]                 } else={                       :global pingresultB 0                                }         :if ($pingresultB>0 and $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether3-gateway2] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan1] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan1] gateway=[/ip dhcp-client get [find interface=ether3-gateway2] gateway ]                        :log info "Wan1 inactivo se le asigna el Gateway del Wan2 "                 }                              :global access 1         }           :if ([:len $GC] != 0) do={                       :global pingresultC  [/ping $GC interface=ether4-Gateway3 count=4]                 } else={                       :global pingresultC 0                                }         :if ($pingresultC>0 && $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether4-Gateway3] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan1] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan1] gateway=[/ip dhcp-client get [find interface=ether4-Gateway3] gateway ]                        :log info "Wan1 inactivo se le asigna el Gateway del Wan3 "                 }                              :global access 1                 }                :if ([:len $GD] != 0) do={                       :global pingresultD  [/ping $GD interface=ether5-Gateway4 count=4]                 } else={                       :global pingresultD 0                                }         :if ($pingresultD>0 && $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether5-Gateway4] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan1] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan1] gateway=[/ip dhcp-client get [find interface=ether5-Gateway4] gateway ]                        :log info "Wan1 inactivo se le asigna el Gateway del Wan4 "                 }                         :global access 1         }} 
Script para la linea 2


--- Código: ---#SCRIPT ENVIADO POR CESAR O. RIVAS Y MODIFICADO POR MOHAMED W. HAMMAUD :global GA [/ip dhcp-client get [find interface=ether2-gateway1] gateway] :global GB [/ip dhcp-client get [find interface=ether3-gateway2] gateway] :global GC [/ip dhcp-client get [find interface=ether4-Gateway3] gateway] :global GD [/ip dhcp-client get [find interface=ether5-Gateway4] gateway]   :global pingresultA:global pingresultB:global pingresultC:global pingresultD:global access 0  :if ([:len $GB] != 0) do={                :global pingresultB  [/ping $GB interface=ether3-gateway2 count=4]} else={               :global pingresultB 0} #Si WAN2 esta activo::if ($pingresultB>0) do={    :local gatewayNuevo [/ip dhcp-client get [find interface=ether3-gateway2] gateway ]    :local gatewayActivo [/ip route get [find routing-mark=to_Wan2] gateway ]    :if ($gatewayNuevo != $gatewayActivo) do={        /ip route set [find routing-mark=to_Wan2] gateway=[/ip dhcp-client get [find interface=ether3-gateway2] gateway ]        :log info "Wan2 activo y se actualiza Gateway"     }       } #Si WAN2 se cae::if ($pingresultB=0) do={                  :local status [/ip dhcp-client get [/ip dhcp-client find interface=ether3-gateway2] status ]                 :if ($status="bound") do={                                 /ip dhcp-client set [find interface=ether3-gateway2] disabled=yes                                :local d [/ip dhcp-client get [/ip dhcp-client find interface=ether3-gateway2] disabled ]                                 :if ($d=true) do={                                         /ip dhcp-client set [find interface=ether3-gateway2] disabled=no                                   }                 }                              :if ([:len $GA] != 0) do={                       :global pingresultA  [/ping $GA interface=ether2-gateway1 count=4]                 } else={                       :global pingresultA 0                                }         :if ($pingresultA>0 and $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether2-gateway1] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan2] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan2] gateway=[/ip dhcp-client get [find interface=ether2-gateway1] gateway ]                        :log info "Wan2 inactivo se le asigna el Gateway del Wan1 "                 }                              :global access 1         }           :if ([:len $GC] != 0) do={                       :global pingresultC  [/ping $GC interface=ether4-Gateway3 count=4]                 } else={                       :global pingresultC 0                                }         :if ($pingresultC>0 && $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether4-Gateway3] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan2] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan2] gateway=[/ip dhcp-client get [find interface=ether4-Gateway3] gateway ]                        :log info "Wan2 inactivo se le asigna el Gateway del Wan3 "                 }                              :global access 1                 }                :if ([:len $GD] != 0) do={                       :global pingresultD  [/ping $GD interface=ether5-Gateway4 count=4]                 } else={                       :global pingresultD 0                                }         :if ($pingresultD>0 && $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether5-Gateway4] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan2] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan2] gateway=[/ip dhcp-client get [find interface=ether5-Gateway4] gateway ]                        :log info "Wan2 inactivo se le asigna el Gateway del Wan4 "                 }                         :global access 1         }} 
Script para la linea 3


--- Código: ---#SCRIPT ENVIADO POR CESAR O. RIVAS Y MODIFICADO POR MOHAMED W. HAMMAUD :global GA [/ip dhcp-client get [find interface=ether2-gateway1] gateway] :global GB [/ip dhcp-client get [find interface=ether3-gateway2] gateway] :global GC [/ip dhcp-client get [find interface=ether4-Gateway3] gateway] :global GD [/ip dhcp-client get [find interface=ether5-Gateway4] gateway]   :global pingresultA:global pingresultB:global pingresultC:global pingresultD:global access 0  :if ([:len $GC] != 0) do={                :global pingresultC  [/ping $GC interface=ether4-Gateway3 count=4]} else={               :global pingresultC 0} #Si WAN3 esta activo::if ($pingresultC>0) do={    :local gatewayNuevo [/ip dhcp-client get [find interface=ether4-Gateway3] gateway ]    :local gatewayActivo [/ip route get [find routing-mark=to_Wan3] gateway ]    :if ($gatewayNuevo != $gatewayActivo) do={        /ip route set [find routing-mark=to_Wan3] gateway=[/ip dhcp-client get [find interface=ether4-Gateway3] gateway ]        :log info "Wan3 activo y se actualiza Gateway"     }       } #Si WAN3 se cae::if ($pingresultC=0) do={                  :local status [/ip dhcp-client get [/ip dhcp-client find interface=ether4-Gateway3] status ]                 :if ($status="bound") do={                                 /ip dhcp-client set [find interface=ether4-Gateway3] disabled=yes                                :local d [/ip dhcp-client get [/ip dhcp-client find interface=ether4-Gateway3] disabled ]                                 :if ($d=true) do={                                         /ip dhcp-client set [find interface=ether4-Gateway3] disabled=no                                   }                 }                              :if ([:len $GA] != 0) do={                       :global pingresultA  [/ping $GA interface=ether2-gateway1 count=4]                 } else={                       :global pingresultA 0                                }         :if ($pingresultA>0 and $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether2-gateway1] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan3] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan3] gateway=[/ip dhcp-client get [find interface=ether2-gateway1] gateway ]                        :log info "Wan3 inactivo se le asigna el Gateway del Wan1 "                 }                              :global access 1         }           :if ([:len $GB] != 0) do={                       :global pingresultC  [/ping $GB interface=ether3-gateway2 count=4]                 } else={                       :global pingresultC 0                                }         :if ($pingresultB>0 && $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether3-gateway2] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan3] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan3] gateway=[/ip dhcp-client get [find interface=ether3-gateway2] gateway ]                        :log info "Wan3 inactivo se le asigna el Gateway del Wan2 "                 }                              :global access 1                 }                :if ([:len $GD] != 0) do={                       :global pingresultD  [/ping $GD interface=ether5-Gateway4 count=4]                 } else={                       :global pingresultD 0                                }         :if ($pingresultD>0 && $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether5-Gateway4] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan3] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan3] gateway=[/ip dhcp-client get [find interface=ether5-Gateway4] gateway ]                        :log info "Wan3 inactivo se le asigna el Gateway del Wan4 "                 }                         :global access 1         }} 
Script para la linea 4


--- Código: ---#SCRIPT ENVIADO POR CESAR O. RIVAS Y MODIFICADO POR MOHAMED W. HAMMAUD :global GA [/ip dhcp-client get [find interface=ether2-gateway1] gateway] :global GB [/ip dhcp-client get [find interface=ether3-gateway2] gateway] :global GC [/ip dhcp-client get [find interface=ether4-Gateway3] gateway] :global GD [/ip dhcp-client get [find interface=ether5-Gateway4] gateway]   :global pingresultA:global pingresultB:global pingresultC:global pingresultD:global access 0  :if ([:len $GD] != 0) do={                :global pingresultC  [/ping $GD interface=ether5-Gateway4 count=4]} else={               :global pingresultD 0} #Si WAN4 esta activo::if ($pingresultD>0) do={    :local gatewayNuevo [/ip dhcp-client get [find interface=ether5-Gateway4] gateway ]    :local gatewayActivo [/ip route get [find routing-mark=to_Wan4] gateway ]    :if ($gatewayNuevo != $gatewayActivo) do={        /ip route set [find routing-mark=to_Wan4] gateway=[/ip dhcp-client get [find interface=ether5-Gateway4] gateway ]        :log info "Wan4 activo y se actualiza Gateway"     }       } #Si WAN4 se cae::if ($pingresultD=0) do={                  :local status [/ip dhcp-client get [/ip dhcp-client find interface=ether5-Gateway4] status ]                 :if ($status="bound") do={                                 /ip dhcp-client set [find interface=ether5-Gateway4] disabled=yes                                :local d [/ip dhcp-client get [/ip dhcp-client find interface=ether5-Gateway4] disabled ]                                 :if ($d=true) do={                                         /ip dhcp-client set [find interface=ether5-Gateway4] disabled=no                                   }                 }                              :if ([:len $GA] != 0) do={                       :global pingresultA  [/ping $GA interface=ether2-gateway1 count=4]                 } else={                       :global pingresultA 0                                }         :if ($pingresultA>0 and $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether2-gateway1] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan4] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan4] gateway=[/ip dhcp-client get [find interface=ether2-gateway1] gateway ]                        :log info "Wan4 inactivo se le asigna el Gateway del Wan1 "                 }                              :global access 1         }           :if ([:len $GB] != 0) do={                       :global pingresultC  [/ping $GB interface=ether3-gateway2 count=4]                 } else={                       :global pingresultC 0                                }         :if ($pingresultB>0 && $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether3-gateway2] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan4] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan4] gateway=[/ip dhcp-client get [find interface=ether3-gateway2] gateway ]                        :log info "Wan4 inactivo se le asigna el Gateway del Wan2 "                 }                              :global access 1                 }                :if ([:len $GC] != 0) do={                       :global pingresultC  [/ping $GC interface=ether4-Gateway3 count=4]                 } else={                       :global pingresultC 0                                }         :if ($pingresultC>0 && $access=0) do={                 :local gatewayNuevoB [/ip dhcp-client get [find interface=ether4-Gateway3] gateway ]                :local gatewayActivoA [/ip route get [find routing-mark=to_Wan4] gateway ]                :if ($gatewayNuevoB != $gatewayActivoA) do={                        /ip route set [find routing-mark=to_Wan4] gateway=[/ip dhcp-client get [find interface=ether4-Gateway3] gateway ]                        :log info "Wan4 inactivo se le asigna el Gateway del Wan3 "                 }                         :global access 1         }}  

josemanuel155:
gracias mi hermano lo que estaba esperandoo :) :) :) :) :)

una pregunta copio y pego todo esto tal como esta tengo que hacer una modificacion ??

aqui esta ether2 ether3 ether 4 eso lo tendria que cambiar porque lo tengo como wan1 wan2 wan3 wan4
??

bacalao:

--- Cita de: josemanuel155 en marzo 16, 2015, 04:29:42 pm ---gracias mi hermano lo que estaba esperandoo :) :) :) :) :)

una pregunta copio y pego todo esto tal como esta tengo que hacer una modificacion ??

aqui esta ether2 ether3 ether 4 eso lo tendria que cambiar porque lo tengo como wan1 wan2 wan3 wan4
??

--- Fin de la cita ---

Hola si por ejemplo los que digan esto :global GA [/ip dhcp-client get [find interface=ether2-gateway1] gateway] y si es como dices lo pasas :global GA [/ip dhcp-client get [find interface=wan1] gateway]

Tienes q estar pendiente de las mayusculas y minusculas

josemanuel155:

--- Cita de: bacalao en marzo 16, 2015, 05:20:50 pm ---Hola si por ejemplo los que digan esto :global GA [/ip dhcp-client get [find interface=ether2-gateway1] gateway] y si es como dices lo pasas :global GA [/ip dhcp-client get [find interface=wan1] gateway]

Tienes q estar pendiente de las mayusculas y minusculas

--- Fin de la cita ---


mi hermano gracia por ayudarme aqui modifique el primer scrip para ver si esta bien



 #SCRIPT ENVIADO POR CESAR O. RIVAS Y MODIFICADO POR MOHAMED W. HAMMAUD
     
    #Se toman las variables de las interfaces donde esten conectados la wan
    :global GA [/ip dhcp-client get [find interface=wan2-gateway1] gateway]
    :global GB [/ip dhcp-client get [find interface=wan3-gateway2] gateway]
    :global GC [/ip dhcp-client get [find interface=wan4-Gateway3] gateway]
    :global GD [/ip dhcp-client get [find interface=wan5-Gateway4] gateway]
     
    #creamos variables globales
    :global pingresultA
    :global pingresultB
    :global pingresultC
    :global pingresultD
    :global access 0
     
     
    :if ([:len $GA] != 0) do={
                    :global pingresultA  [/ping $GA interface=wan2-gateway1 count=4]
    } else={
                   :global pingresultA 0
    }
     
    #Si wan1 esta activo:
     
    :if ($pingresultA>0) do={
        :local gatewayNuevo [/ip dhcp-client get [find interface=wan2-gateway1] gateway ]
        :local gatewayActivo [/ip route get [find routing-mark=to_wan1] gateway ]
        :if ($gatewayNuevo != $gatewayActivo) do={
            /ip route set [find routing-mark=to_wan1] gateway=[/ip dhcp-client get [find interface=wan2-gateway1] gateway ]
            :log info "wan1 activo y se actualiza Gateway"
        } 
       
    }
     
    #Si wan1 se cae:
    :if ($pingresultA=0) do={
     
                    :local status [/ip dhcp-client get [/ip dhcp-client find interface=wan2-gateway1] status ]
                     :if ($status="bound") do={
                                     /ip dhcp-client set [find interface=wan2-gateway1] disabled=yes
                                    :local d [/ip dhcp-client get [/ip dhcp-client find interface=wan2-gateway1] disabled ]
                                     :if ($d=true) do={
                                             /ip dhcp-client set [find interface=wan2-gateway1] disabled=no
                                       }
                     }
                 
                     :if ([:len $GB] != 0) do={
                           :global pingresultB  [/ping $GB interface=wan3-gateway2 count=4]
                     } else={
                           :global pingresultB 0             
                     }
     
            :if ($pingresultB>0 and $access=0) do={
                    :local gatewayNuevoB [/ip dhcp-client get [find interface=wan3-gateway2] gateway ]
                    :local gatewayActivoA [/ip route get [find routing-mark=to_wan1] gateway ]
                    :if ($gatewayNuevoB != $gatewayActivoA) do={
                            /ip route set [find routing-mark=to_wan1] gateway=[/ip dhcp-client get [find interface=wan3-gateway2] gateway ]
                            :log info "Wan1 inactivo se le asigna el Gateway del wan2 "
                    }     
                           :global access 1
            }
     
             :if ([:len $GC] != 0) do={
                           :global pingresultC  [/ping $GC interface=wan4-Gateway3 count=4]
                     } else={
                           :global pingresultC 0             
                     }
     
            :if ($pingresultC>0 && $access=0) do={
                    :local gatewayNuevoB [/ip dhcp-client get [find interface=wan4-Gateway3] gateway ]
                    :local gatewayActivoA [/ip route get [find routing-mark=to_wan1] gateway ]
                    :if ($gatewayNuevoB != $gatewayActivoA) do={
                            /ip route set [find routing-mark=to_wan1] gateway=[/ip dhcp-client get [find interface=wan4-Gateway3] gateway ]
                            :log info "Wan1 inactivo se le asigna el Gateway del wan3 "
                    }     
                           :global access 1       
            }
                   :if ([:len $GD] != 0) do={
                           :global pingresultD  [/ping $GD interface=wan5-Gateway4 count=4]
                     } else={
                           :global pingresultD 0             
                     }
     
            :if ($pingresultD>0 && $access=0) do={
                    :local gatewayNuevoB [/ip dhcp-client get [find interface=wan5-Gateway4] gateway ]
                    :local gatewayActivoA [/ip route get [find routing-mark=to_wan1] gateway ]
                    :if ($gatewayNuevoB != $gatewayActivoA) do={
                            /ip route set [find routing-mark=to_Wan1] gateway=[/ip dhcp-client get [find interface=wan5-Gateway4] gateway ]
                            :log info "wan1 inactivo se le asigna el Gateway del wan4 "
                    }     
                      :global access 1
     
            }
    }
     

bacalao:

--- Cita de: josemanuel155 en marzo 16, 2015, 06:01:05 pm ---
mi hermano gracia por ayudarme aqui modifique el primer scrip para ver si esta bien



 #SCRIPT ENVIADO POR CESAR O. RIVAS Y MODIFICADO POR MOHAMED W. HAMMAUD
     
    #Se toman las variables de las interfaces donde esten conectados la wan
    :global GA [/ip dhcp-client get [find interface=wan2-gateway1] gateway]
    :global GB [/ip dhcp-client get [find interface=wan3-gateway2] gateway]
    :global GC [/ip dhcp-client get [find interface=wan4-Gateway3] gateway]
    :global GD [/ip dhcp-client get [find interface=wan5-Gateway4] gateway]
     
    #creamos variables globales
    :global pingresultA
    :global pingresultB
    :global pingresultC
    :global pingresultD
    :global access 0
     
     
    :if ([:len $GA] != 0) do={
                    :global pingresultA  [/ping $GA interface=wan2-gateway1 count=4]
    } else={
                   :global pingresultA 0
    }
     
    #Si wan1 esta activo:
     
    :if ($pingresultA>0) do={
        :local gatewayNuevo [/ip dhcp-client get [find interface=wan2-gateway1] gateway ]
        :local gatewayActivo [/ip route get [find routing-mark=to_wan1] gateway ]
        :if ($gatewayNuevo != $gatewayActivo) do={
            /ip route set [find routing-mark=to_wan1] gateway=[/ip dhcp-client get [find interface=wan2-gateway1] gateway ]
            :log info "wan1 activo y se actualiza Gateway"
        } 
       
    }
     
    #Si wan1 se cae:
    :if ($pingresultA=0) do={
     
                    :local status [/ip dhcp-client get [/ip dhcp-client find interface=wan2-gateway1] status ]
                     :if ($status="bound") do={
                                     /ip dhcp-client set [find interface=wan2-gateway1] disabled=yes
                                    :local d [/ip dhcp-client get [/ip dhcp-client find interface=wan2-gateway1] disabled ]
                                     :if ($d=true) do={
                                             /ip dhcp-client set [find interface=wan2-gateway1] disabled=no
                                       }
                     }
                 
                     :if ([:len $GB] != 0) do={
                           :global pingresultB  [/ping $GB interface=wan3-gateway2 count=4]
                     } else={
                           :global pingresultB 0             
                     }
     
            :if ($pingresultB>0 and $access=0) do={
                    :local gatewayNuevoB [/ip dhcp-client get [find interface=wan3-gateway2] gateway ]
                    :local gatewayActivoA [/ip route get [find routing-mark=to_wan1] gateway ]
                    :if ($gatewayNuevoB != $gatewayActivoA) do={
                            /ip route set [find routing-mark=to_wan1] gateway=[/ip dhcp-client get [find interface=wan3-gateway2] gateway ]
                            :log info "Wan1 inactivo se le asigna el Gateway del wan2 "
                    }     
                           :global access 1
            }
     
             :if ([:len $GC] != 0) do={
                           :global pingresultC  [/ping $GC interface=wan4-Gateway3 count=4]
                     } else={
                           :global pingresultC 0             
                     }
     
            :if ($pingresultC>0 && $access=0) do={
                    :local gatewayNuevoB [/ip dhcp-client get [find interface=wan4-Gateway3] gateway ]
                    :local gatewayActivoA [/ip route get [find routing-mark=to_wan1] gateway ]
                    :if ($gatewayNuevoB != $gatewayActivoA) do={
                            /ip route set [find routing-mark=to_wan1] gateway=[/ip dhcp-client get [find interface=wan4-Gateway3] gateway ]
                            :log info "Wan1 inactivo se le asigna el Gateway del wan3 "
                    }     
                           :global access 1       
            }
                   :if ([:len $GD] != 0) do={
                           :global pingresultD  [/ping $GD interface=wan5-Gateway4 count=4]
                     } else={
                           :global pingresultD 0             
                     }
     
            :if ($pingresultD>0 && $access=0) do={
                    :local gatewayNuevoB [/ip dhcp-client get [find interface=wan5-Gateway4] gateway ]
                    :local gatewayActivoA [/ip route get [find routing-mark=to_wan1] gateway ]
                    :if ($gatewayNuevoB != $gatewayActivoA) do={
                            /ip route set [find routing-mark=to_Wan1] gateway=[/ip dhcp-client get [find interface=wan5-Gateway4] gateway ]
                            :log info "wan1 inactivo se le asigna el Gateway del wan4 "
                    }     
                      :global access 1
     
            }
    }
   

--- Fin de la cita ---

amigo mio pasame tu id y password del team y te ayudo gustosamente a que este perfecto el failover

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa