Скрипт : как проверить на "левую" сеть

Обсуждение ПО и его настройки
vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

Добрый вечер!
Обнаружил, что провайдер стал иногда кроме нормальных адресов выдавать "левые", пока только из сеток 10.x.x.x. Соответственно, в DDNS'е появляются кривые записи и периодически не работает мой удаленный доступ.

Может кто-нибудь сталкивался с подобной проблемой - проверить, что адрес из левой сети и, если да, переподключить интерфейс.

Заранее спасибо,


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Написать скрипт который проверяет полученный адрес на вхождение в правильную сеть, если адрес не верный то передёрнуть


Есть интересная задача и бюджет? http://mikrotik.site
vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

vqd писал(а):Написать скрипт который проверяет полученный адрес на вхождение в правильную сеть, если адрес не верный то передёрнуть


Я это понимаю. Только не понимаю, как проверить на левую сеть.


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Ну вы же знаете правильную сеть?
А дальше все просто

Код: Выделить всё

:put (192.168.0.1 in 192.168.0.0/24) 
true
:put (192.168.1.1 in 192.168.0.0/24)
false



Есть интересная задача и бюджет? http://mikrotik.site
vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

vqd писал(а):Ну вы же знаете правильную сеть?
А дальше все просто

Код: Выделить всё

:put (192.168.0.1 in 192.168.0.0/24) 
true
:put (192.168.1.1 in 192.168.0.0/24)
false


Правильную - нет, а не правильную - знаю. :-) Я понял про (... in ...)


vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

vqd писал(а):Ну вы же знаете правильную сеть?
А дальше все просто

Код: Выделить всё

:put (192.168.0.1 in 192.168.0.0/24) 
true
:put (192.168.1.1 in 192.168.0.0/24)
false



Кстати, а почему вот так?

Код: Выделить всё

[vomus@MikroTik] > :put $oo                                                          
10.5.37.12
[vomus@MikroTik] > :put ($oo in 10.0.0.0/8)
false
[vomus@MikroTik] > :put (10.5.37.12 in 10.0.0.0/8)   
true
[vomus@MikroTik] > :global oo "10.5.37.12"                                                 
[vomus@MikroTik] > :if ($oo in 10.0.0.0/8) do={:put "is true"} else={:put "is false"}
is false


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Да, точно, ща накидал в Терминале, выдало нечто такое:

Код: Выделить всё

 {
:local r [/ip address get [/ip address find interface=ether2] address];
:put $r;                                                               
:put (10.201.10.1/24 in 10.201.10.0/24);
:put ($r in 10.201.10.0/24)             
}                         
10.201.10.1/24
true
false

Как бы объяснить?


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Ну отвечу на оба вопроса примером.

Код: Выделить всё

:global oo "10.5.37.12"  
:put ([:toip ($oo)] in 10.0.0.0/8) 
true
:put ($oo in 10.0.0.0/8)         
false



К стати зачем так сурово то?

Код: Выделить всё

:local r [/ip address get [/ip address find interface=ether2] address];


Достаточно

Код: Выделить всё

:put [/ip address get [find interface=ether2_Modem2] address ]
10.10.1.2/24



Есть интересная задача и бюджет? http://mikrotik.site
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

vqd писал(а):К стати зачем так сурово то?

Да, признаться, неизбывная привычка делать всё так, чтобы было понятно любому постороннему.
Кстати, я возился с toip. У меня эта функция как-то не так срабатывает.

Код: Выделить всё

{
:local b [/ip address get [find interface=ether2] address ];
:put $b;
:put ($b in 192.168.100.0/24);
:put ([:toip ($b)] in 192.168.100.0/24);
:put (192.168.100.193/24 in 192.168.100.0/24)
}
192.168.100.193/27
false

true

Видишь, третья строка в выводе данных вообще пустая получается. Где-то я косячу с синтаксисом...


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
vomus
Сообщения: 48
Зарегистрирован: 28 окт 2013, 22:00

Вот главное :toip :hi_hi_hi:


Ответить