Заказать звонок

Полезные скрипты для mikrotik RouterOS

Делаем бекап конфигов микрота и отправляем на удаленный FTP сервер:

{
local username "никнейм"
#ftp account
local ftphost "имя сервера"
local ftpuser "логин"
local ftppassword "пароль"
local ftppath "/pub/mikrotik"

#create full system backup files
/system backup save name="$username.backup"
:delay 30s;

#create config export files
/export compact file="$username.rsc"
:delay 30s;

# upload the system backup
:log info message="Uploading system backup"
/tool fetch address="$ftphost" src-path="$username.backup" user="$ftpuser" mode=ftp password="$ftppassword" dst-path="$ftppath/$username.backup" upload=yes
:delay 30s;

# upload the config export
:log info message="Uploading config export"
/tool fetch address="$ftphost" src-path="$username.rsc" user="$ftpuser" mode=ftp password="$ftppassword" dst-path="$ftppath/$username.rsc" upload=yes
:delay 30s;

# find file name $username- then remove
:foreach i in=[/file find] do={ :if ([:typeof [:find [/file get $i name] "$username"]]!="nil") do={/file remove $i}; }
:log info message="Configuration backup finished.";
}

Бекап по частям:

Микротик1 (экспорт):

ip firewall  export file=ip-firewall.rsc
ip pool export file=ip-pool.rsc
ip route export file=ip-route.rsc

Микротик2 (импорт):

import file=ip-firewall.rsc
import file=ip-pool.rsc
import file=ip-route.rsc
Прикручиваем клиент DDNS сервиса no-ip.org

:local ddnsuser "логин"
:local ddnspass "пароль"
:local ddnshostname "dns имя" 
:local ddnsinterface "внешний интерфейс"

:global ddnslastip
:local str
:local ddnsip
:local ip

:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip "0" }

:local ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ]

:if ([ :typeof $ddnsip ] = nil ) do={
   :log info ("ServiceDNS: No ip address on $ddnsinterface .")
} else={

   :for i from=( [:len $ddnsip] - 1) to=0 do={ 
      :if ( [:pick $ddnsip $i] = "/") do={ 
       :set ddnsip [:pick $ddnsip 0 $i];
      } 
   }

  :if ($ddnsip != $ddnslastip) do={

    :log info ("ServiceDNS: $ddnshostname -> $ddnsip")

    :local str "/nic/update?hostname=$ddnshostname&myip=$ddnsip"
    /tool fetch url="http://dynupdate.no-ip.com/$str" mode=http user=$ddnsuser password=$ddnspass  dst-path=("/ServiceDNS.".$ddnshostname)
    :delay 1 

    :local str [/file find name="ServiceDNS.$ddnshostname"];
    :log info [/file get $str contents];
    /file remove $str
    :global ddnslastip $ddnsip

  } 

}
Добавляем автоматически 254 маршрута:

for x from=1 to=254 do={ /ip route add dst-address="192.168.$x.0/24" gateway=192.168.201.10 }

или
/ip route add dst-address="192.168.0.0/16" gateway=192.168.201.10

Указываем мост одной командой для всех интерфейсов:

interface bridge port add interface=ether1 bridge=bridge-local; ip address set 0 interface=bridge-local; ip dhcp-server set 0 interface=bridge-local

Меняем MAC на интерфейсе на свой:

/interface ethernet set ether1 mac-address=00:01:00:00:00:00

Проверяем шлюз провайдера, если он отличается от статического - синхронизируем:

:global ispgw [ip dhcp-client get [/ip dhcp-client find interface=ether1-gateway] gateway ];
:global ispgwstat [ip route get  [/ip route find comment="ISP1" ] gateway  ];

#:log info ("$ispgw" ) 
#:log info ("$ispgwstat" )

:if ($ispgw = $ispgwstat ) do={ :log info ("ISP GW OK" ) } else={ ip route set [/ip route find comment="ISP1"] gateway=$ispgw;  :log info ("ISP GW COMPLETE" )}

Если через PPPOE соединение некоторые сайты не открываются.
Необходимо сделать изменения в Firewall > Mangle.
Удалить динамические правила change MSS all ppp.
Добавить правило:

/ip firewall mangle add action=change-mss chain=forward new-mss=1360 protocol=tcp tcp-flags=syn tcp-mss=1453-65535

Изменить профиль, что бы динамические правила больше не создавались:
PPP > Prifiles > Default > General > Change TCP MSS “no”

Локальное перенаправление портов:

/ip firewall nat
add action=dst-nat chain=dstnat dst-address=192.168.224.1 dst-port=8181 
    in-interface=bridge-local protocol=tcp src-address=192.168.224.0/24 
    to-addresses=192.168.224.20 to-ports=8080
add action=dst-nat chain=dstnat dst-address=192.168.224.1 dst-port=8182 
    in-interface=bridge-local protocol=tcp src-address=192.168.224.0/24 
    to-addresses=192.168.224.20 to-ports=555
add action=src-nat chain=srcnat dst-address=192.168.224.20 dst-port=8080 
    out-interface=bridge-local protocol=tcp src-address=192.168.224.0/24 
    to-addresses=192.168.224.1 to-ports=8181
add action=src-nat chain=srcnat dst-address=192.168.224.20 dst-port=555 
    out-interface=bridge-local protocol=tcp src-address=192.168.224.0/24 
    to-addresses=192.168.224.1 to-ports=8182

Если через PPPOE соединение некоторые сайты не открываются, необходимо сделать изменения в Firewall > Mangle.
Удалить динамические правила change MSS all ppp.
Добавить правило:

 /ip firewall mangle add action=change-mss chain=forward new-mss=1360 protocol=tcp tcp-flags=syn tcp-mss=1453-65535

Изменить профиль, что бы динамические правила больше не создавались:
PPP > Prifiles > Default > General > Change TCP MSS “no”.
Теги: mikrotik , RouterOS
Похожие статьи:

DoS (отказ в обслуживании) атаки могут привести к перегрузке маршрутизатора. Это означает, что загрузка процессора возрастает до 100%, а маршрутизатор может стать недоступным.

Пример настройки межсетевого экрана для MikroTik.


Товар добавлен в корзину
Вернутся к покупкам Оформить заказ
Заказать звонок