Добрый вечер!
Обнаружил, что провайдер стал иногда кроме нормальных адресов выдавать "левые", пока только из сеток 10.x.x.x. Соответственно, в DDNS'е появляются кривые записи и периодически не работает мой удаленный доступ.
Может кто-нибудь сталкивался с подобной проблемой - проверить, что адрес из левой сети и, если да, переподключить интерфейс.
Заранее спасибо,
Скрипт : как проверить на "левую" сеть
-
- Модератор
- Сообщения: 3600
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
Написать скрипт который проверяет полученный адрес на вхождение в правильную сеть, если адрес не верный то передёрнуть
Есть интересная задача и бюджет? http://mikrotik.site
-
- Сообщения: 48
- Зарегистрирован: 28 окт 2013, 22:00
vqd писал(а):Написать скрипт который проверяет полученный адрес на вхождение в правильную сеть, если адрес не верный то передёрнуть
Я это понимаю. Только не понимаю, как проверить на левую сеть.
-
- Модератор
- Сообщения: 3600
- Зарегистрирован: 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
-
- Сообщения: 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
Правильную - нет, а не правильную - знаю.

-
- Сообщения: 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
- Модератор
- Сообщения: 4402
- Зарегистрирован: 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'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
-
- Модератор
- Сообщения: 3600
- Зарегистрирован: 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
- Модератор
- Сообщения: 4402
- Зарегистрирован: 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'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...