Маршрут по умолчанию и опция 121 по DHCP на RB951Ui-2HnD

Обсуждение ПО и его настройки
Ответить
vlash
Сообщения: 5
Зарегистрирован: 18 июн 2014, 10:38

Добрый день!
Роутер - RB951Ui-2HnD
RouterOS - 5.26, 6.07, 6.14, 6.15
Наткнулся на странное поведение DHCP клиента
На eth1 раздается адрес с DHCP сервера
в опциях есть 03 - gateway-list и 121 - static-classless-route
допустим
03 - 192.168.0.22
121 - 192.168.20.0,255.255.255.0,192.168.0.5
при наличии в ответе сервера 121 опции в маршруты не добавляется маршрут
0.0.0.0/0 192.168.0.22
если на сервере отключить 121 опцию то маршрут добавляется.
пробовал с всеми перечисленными версиями OS.
Сталкивался ли кто нибудь с подобным поведением?
Спасибо.


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



Есть интересная задача и бюджет? http://mikrotik.site
vlash
Сообщения: 5
Зарегистрирован: 18 июн 2014, 10:38

Спасибо, может я не совсем ясно выразился, но в данном случае на роутер микротик не раздает, а получает от DHCP сервера адрес и параметры. и собственно в маршруты на микротике не добавляется дефолтный роут на шлюз через интерфейс eth1.
 собственно лог со включенной 121 опцией на сервере
echo: dhcp,debug,packet Msg-Type = ack
echo: dhcp,debug,packet Renewal-Time = 345600
echo: dhcp,debug,packet Unknown(59) = 00-09-3A-80
echo: dhcp,debug,packet Address-Time = 691200
echo: dhcp,debug,packet Server-Id = 192.168.0.1
echo: dhcp,debug,packet Subnet-Mask = 255.255.255.0
echo: dhcp,debug,packet Classless-Route = 192.168.18.0/24->192.168.0.5,192.168.20.0/24->192.168.0.5,192.168.21.0/24->192.168.0.5
echo: dhcp,debug,packet Router = 192.168.0.22
echo: dhcp,debug,packet Domain-Server = 192.168.0.1
echo: dhcp,debug,packet NTP-Server = 192.168.0.1
echo: dhcp,info dhcp-client on ether1 got IP address 192.168.0.76
echo: dhcp,debug,state dhcp-client on ether1 entering <bound> state

echo: route,debug,event protocol=DYNAMIC
echo: route,debug,event distance=1
echo: route,debug,event scope=30
echo: route,debug,event target-scope=10
echo: route,debug,event next-hop= address=192.168.0.5
echo: route,debug,event vrf-iface (1)=ether1
echo: route,debug,event origin-type=DYNAMIC
echo: route,debug Begin redistribution
echo: route,debug Accept 192.168.20.0/24
echo: route,debug,calc End calculation
echo: route,debug Commit prefix 192.168.20.0/24
echo: route,debug End redistribution
echo: route,debug,calc origin-type=DYNAMIC
echo: route,debug,calc End calculation
echo: route,debug Begin redistribution
echo: route,debug Accept add 192.168.0.0/24
echo: route,debug Accept add 192.168.21.0/24
echo: route,debug Accept add 192.168.20.0/24
echo: route,debug Accept add 192.168.18.0/24
echo: route,debug Commit prefix 192.168.21.0/24
echo: route,debug Commit prefix 192.168.20.0/24
echo: route,debug Commit prefix 192.168.18.0/24
echo: route,debug Commit prefix 192.168.0.0/24
echo: route,debug End redistribution


 и с выключенной
echo: dhcp,debug,packet chaddr = D4:CA:6D:D7:E5:B2
echo: dhcp,debug,packet Msg-Type = ack
echo: dhcp,debug,packet Renewal-Time = 345600
echo: dhcp,debug,packet Unknown(59) = 00-09-3A-80
echo: dhcp,debug,packet Address-Time = 691200
echo: dhcp,debug,packet Server-Id = 192.168.0.1
echo: dhcp,debug,packet Subnet-Mask = 255.255.255.0
echo: dhcp,debug,packet Router = 192.168.0.22
echo: dhcp,debug,packet Domain-Server = 192.168.0.1
echo: dhcp,debug,packet NTP-Server = 192.168.0.1
echo: dhcp,info dhcp-client on ether1 got IP address 192.168.0.76
echo: dhcp,debug,state dhcp-client on ether1 entering <bound> state

echo: route,debug,event protocol=DYNAMIC
echo: route,debug,event distance=1
echo: route,debug,event scope=30
echo: route,debug,event target-scope=10
echo: route,debug,event next-hop= address=192.168.0.22
echo: route,debug,event vrf-iface (1)=ether1
echo: route,debug,event origin-type=DYNAMIC
echo: route,debug,calc End calculation
echo: route,debug Begin redistribution
echo: route,debug Accept withdraw 0.0.0.0/0
echo: route,debug Commit prefix 0.0.0.0/0
echo: route,debug End redistribution
echo: route,debug,calc scope=30
echo: route,debug,calc target-scope=10
echo: route,debug,calc next-hop= address=192.168.0.22
echo: route,debug,calc vrf-iface (1)=ether1
echo: route,debug,calc origin-type=DYNAMIC
echo: route,debug,calc End calculation
echo: route,debug Begin redistribution
echo: route,debug Accept add 192.168.0.0/24
echo: route,debug Accept add 0.0.0.0/0
echo: route,debug Commit prefix 0.0.0.0/0
echo: route,debug Commit prefix 192.168.0.0/24
echo: route,debug End redistribution

Спасибо.


wolf_ktl
Сообщения: 417
Зарегистрирован: 25 июн 2013, 18:12

vlash писал(а):Добрый день!
Роутер - RB951Ui-2HnD
RouterOS - 5.26, 6.07, 6.14, 6.15
Наткнулся на странное поведение DHCP клиента
На eth1 раздается адрес с DHCP сервера
в опциях есть 03 - gateway-list и 121 - static-classless-route
допустим
03 - 192.168.0.22
121 - 192.168.20.0,255.255.255.0,192.168.0.5
при наличии в ответе сервера 121 опции в маршруты не добавляется маршрут
0.0.0.0/0 192.168.0.22
если на сервере отключить 121 опцию то маршрут добавляется.
пробовал с всеми перечисленными версиями OS.
Сталкивался ли кто нибудь с подобным поведением?
Спасибо.

Что за провайдер раздает?


vlash
Сообщения: 5
Зарегистрирован: 18 июн 2014, 10:38

wolf_ktl писал(а):Что за провайдер раздает?

сервер win 2003 раздает. это внутренняя сетка...
предупреждая следующий вопрос, сообщаю что
через линуксовый DNSMasq результат такой же...


vlash
Сообщения: 5
Зарегистрирован: 18 июн 2014, 10:38

Взял второй микротик добавил в его DHCP сервер 121 опцию и раздал с него на первый - то же самое.
может ли кто нибудь подтвердить глюк ?


wolf_ktl
Сообщения: 417
Зарегистрирован: 25 июн 2013, 18:12

vlash писал(а):Взял второй микротик добавил в его DHCP сервер 121 опцию и раздал с него на первый - то же самое.
может ли кто нибудь подтвердить глюк ?



Думаю твое решение тут http://forum.nag.ru/forum/index.php?sho ... 9378&st=20



Как пример
нам надо отдать маршрут 10.0.0.0/8 на 10.0.0.1. Получаем такую последовательность байт: 8,10,10,0,0,1
В вашем случае - 172.16.0.0/12 gw=192.168.23.1. Получаем такое: 12,172,16,192,168,23,1
вот теперь каждый байт переведите в hex, уберите запятые, добавьте 0x....

Вот работающий пример от микротика:
dst-address=160.0.0.0/24 gateway=10.1.101.1
____________________
/ip dhcp-server option
add code=121 name=classless value=0x18A000000A016501000A016501
/ip dhcp-server network
set 0 dhcp-option=classless


если в хексе получаетсья одна цыфра, то перед ней ноль надо ставить) ИИИ! И не надо забывать пр
/ip dhcp-server network
set 0 dhcp-option=classless
Т е надо classless - это названии опции которую мы заводим))


vlash
Сообщения: 5
Зарегистрирован: 18 июн 2014, 10:38

Нет. дело не в сервере. Дело видимо в скриптах которые обновляют таблицу маршрутизации на клиенте.
По логам это видно.
Я так понимаю исходников посмотреть не получится.... :-(


Ответить