Ayuda con script

Tema en 'MikroTik RouterBOARD' comenzado por germanreuter, 15 de Septiembre de 2016.

  1. germanreuter

    germanreuter New Member

    buenos días, nesecito un script que me permita tomar la dirección del gateway de un dhcp cliente, y copiarla en una ruta recursiva.
    Agradesco cualquier ayuda que me puedan brindar.

    upload_2016-9-15_16-0-40.png

    mi correo germanreuter@hotmail.com
     
  2. MikrotikPeru

    MikrotikPeru Well-Known Member

    Perfecto!!!!

    PHP:
    :local inter ("wan1")
    :local cGateway [/ip dhcp-client get number=0 gateway]
    :log info ("$inter: cGateway --> $cGateway")

    :local idruta [/ip route find comment="Recursiva1"];
    ip route set numbers=$idruta gateway=$cGateway
    get number=0 -> Es la posicion del DHCP cliente creado
    idruta -> Es la posicion del Recursivo en este caso tiene un comentario "Recursiva1"

    Luego aplicamos

    Espero haberte ayudado

    Saludos,
     
  3. germanreuter

    germanreuter New Member

    Muchisimas gracias por la Rapida respuesta.
    Lo voy a probar y te comento como me fue.
     
  4. germanreuter

    germanreuter New Member

    Bien lo probe y me tira un error, a ver si hice mal algo.
    cree un comentario Recursiva1 en la ruta que queria que se actualise la ip, y cambie wan1 por mayusculas por que asi lo tengo en la interface y lo puse.


    [?] Gives the list of available commands
    command [?] Gives help on the command and list of arguments

    [Tab] Completes the command/word. If the input is ambiguous,
    a second [Tab] gives possible options

    / Move up to base level
    .. Move up one level
    /command Use command at the base level
    [admin@MikroTik] > :local inter ("WAN1")
    [admin@MikroTik] > :local cGateway [/ip dhcp-client get number=0 gateway]
    [admin@MikroTik] > :log info ("$inter: cGateway --> $cGateway")
    [admin@MikroTik] >
    [admin@MikroTik] > :local idruta [/ip route find comment="Recursiva1"];
    [admin@MikroTik] > ip route set numbers=$idruta gateway=$cGateway
    invalid value for argument gateway



    Si se te ocurre algo te agradesco la ayuda
     
  5. MikrotikPeru

    MikrotikPeru Well-Known Member

    Este script debes crear un archivo en /system script y recién ahí pegar el código que deje para haga su secuencia.
    Antes de todo debes crear una tabla en /ip route con las IPs Recursivas que haran ping este debe tener un comentario como: "Recursiva1"
    Este es un ejemplo para que puedas arreglarlo a tus necesidades.

    Saludos,
     
  6. germanreuter

    germanreuter New Member

    Muchas gracias por la explicaion.
    Lo probé y funciona de 10.
    Muchisimas gracias por todo Capo.
     
  7. MikrotikPeru

    MikrotikPeru Well-Known Member

    Ten siempre en cuenta que para script siempre tienes que reiniciar el MK.
     
  8. germanreuter

    germanreuter New Member

    De ipsec detras de nat me podras orientar?
     
  9. MikrotikPeru

    MikrotikPeru Well-Known Member

    También aplicable para PPPoE

    PHP:
    :local inter ("wan1")
    :local cGateway [/ip address get [find interface="Telefonica1"] network]
    :log info ("$inter: cGateway --> $cGateway")

    :local idruta [/ip route find comment="Recursiva1"];
    ip route set numbers=$idruta gateway=$cGateway
     
  10. MikrotikPeru

    MikrotikPeru Well-Known Member

    Otro ejemplo para IPs Dinamicos y Gateway Diamicos con HFC

    PHP:
    :local inter ("ether1")
    :local cGateway [/ip dhcp-client get number=0 gateway]
    :log info ("$inter: cGateway --> $cGateway")

    :local idruta [/ip route find comment="Recursiva1"];
    ip route set numbers=$idruta gateway=("$cGateway%$inter")
     
  11. MikrotikPeru

    MikrotikPeru Well-Known Member

    Otro ejemplo para 2 rutas con IPs Dinamicos y Gateway Diamicos con HFC

    PHP:
    :local inter ("ether1")
    :local cGateway [/ip dhcp-client get number=0 gateway]
    :log info ("$inter: cGateway --> $cGateway")

    :local inter5 ("ether5")
    :local cGateway1 [/ip dhcp-client get number=1 gateway]
    :log info ("$inter5: cGateway1 --> $cGateway1")


    :local idruta [/ip route find comment="Recursiva5"];
    ip route set numbers=$idruta gateway=("$cGateway%$inter,$cGateway1%$inter5")
     

Comparte esta página