Yet another RouterOS script

Posted by map[name:devi1 uri:https://www.blogger.com/profile/05777499482649623616] on Wednesday, December 9, 2015

Скрипт ищет интерфейс sstp клиента, имя которого содержит в себе строку video, копирует имя интерфейса, имя пользователя и пароль для подключения, а так же адрес vpn сервера. Удаляет упоминание об этом интерфейсе в настройках OSPF (т.к. после удаления появится интерфейс unknown, а без удаления интерфейса новый не создастся - имена одинаковые), создает нешифрованное соединение pptp с аналогичными настройками и вписывает его в параметры OSPF.#!Ищет sstp-интерфейс с именем, содержащим video#! копирует его настройки, убирает номер порта и#! создает pptp интерфейс с подобными настройками#! Copyright Dmitry Bubnov http://bubnovd.net/interface sstp-client:local name [get [find name~“video”] name]:local srv [get [find name~“video”] connect-to]:local conto [:pick $srv 0 ([:len $srv]-4)]:local user [get [find name~“video”] user]:local pwd [get [find name~“video”] password]/routing ospf interface remove [find interface=$name]remove $name/interface pptp-client add connect-to=$conto user=$user password=$pwd name=$name allow=mschap2 disabled=no profile=default/routing ospf interface add interface=$name cost=9 network-type=point-to-point Он же в Python для пакетного изменения:#!/usr/bin/env pythonfrom RosAPI import Coremas = []with open(“list.txt”) as f: mas = f.read().splitlines()for i in range(len(mas)): try: a = Core(mas[i]) except: print “No Connection” else: a.login(“user”, “password”) print i a.talk(["/system/script/add", “=name=” + “temp”, “=source=” + ‘#! Copyright Dmitry Bubnov http://bubnovd.net\r\n/interface sstp-client\r\n:local name [get [find name~"video"] name]\r\n:local srv [get [find name~"video"] connect-to]\r\n:local conto [:pick $srv 0 ([:len $srv]-4)]\r\n:local user [get [find name~"video"] user]\r\n:local pwd [get [find name~"video"] password]\r\n/routing ospf interface remove [find interface=$name]\r\nremove $name\r\n/interface pptp-client add connect-to=$conto user=$user password=$pwd name=$name allow=mschap2 disabled=no profile=default\r\n/routing ospf interface add interface=$name cost=9 network-type=point-to-point’]) a.talk(["/system/script/run", “=.id=” + “temp”]) a.talk(["/system/script/remove", “=.id=” + “temp”]) print mas[i]  


comments powered by Disqus