Jump to content

Recommended Posts

Posted

Добрый день!

Роутер - RB951Ui-2HnD

RouterOS - 5.26, 6.07, 6.14, 6.15

Наткнулся на странное поведение DHCP клиента

На eth1 WAN раздается адрес с DHCP сервера (не на микротике)

в опциях сервера есть 03 - gateway-list и 121 - static-classless-route

допустим

03 - 192.168.0.22

121 - 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

при наличии в ответе сервера 121 опции в маршруты на микротике не добавляется

дефолтный маршрут 0.0.0.0/0 192.168.0.22

121 маршруты добавляются нормально.

если на сервере отключить 121 опцию то дефолтный маршрут добавляется.

Пробовал с всеми перечисленными версиями RouterOS.

Сервер тут ни причем - пробовал с Win 2008 и с Linux/DNSMasq

в качестве DHCP сервера.

логи:

если 121 опция выключена:

 

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

 

и если 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

 

видно что от сервера все опции получаются коррктно,

но дальше микротик почему то не добавляет дефолтный маршрут

Сталкивался ли кто нибудь с подобным поведением?

Спасибо.

Posted

Сталкивались http://forum.nag.ru/forum/index.php?showtopic=86169

Как было сказано продаваном микротика, это вы сами виноваты, нефиг выдавать стат роуты.

Я закостылил в дхцп сервере ответы для микротиков, им опции 121/249 не отдаются.

Posted

Сталкивались http://forum.nag.ru/forum/index.php?showtopic=86169

Как было сказано продаваном микротика, это вы сами виноваты, нефиг выдавать стат роуты.

Я закостылил в дхцп сервере ответы для микротиков, им опции 121/249 не отдаются.

я догадывался что микротик говно, но чтоб такое...

Posted

Не люблю Микротик, но тут как раз таки все правильно, Микротик действует согласно RFC, в котором сказано - если выдаете опцию 121, то выдавайте там сразу и 0.0.0.0/0, т.к. при наличии 121 поле router (какая там опция - забыл) должно игнорироваться, что Микротик и делает. Так же действуют и некоторые другие dhcp-клиенты (в Linux точно было). Винда же, кстати, ентот RFC нарушает и читает и то, и другое, из-за чего на ней это и работает.

Решение: добавить в 121 опцию дефолный маршрут.

 

Вот кстати человек в теме подробно расписал, почему это случается: http://forum.nag.ru/forum/index.php?showtopic=86169&view=findpost&p=854231

Posted
Не люблю Микротик, но тут как раз таки все правильно, Микротик действует согласно RFC, в котором сказано - если выдаете опцию 121, то выдавайте там сразу и 0.0.0.0/0, т.к. при наличии 121 поле router (какая там опция - забыл) должно игнорироваться, что Микротик и делает.

Посмотрите внимательнее.

У ТС опции 03 и 121, по вашей ссылке 33 и 121.

 

 

PS: поправил код своего перлогово дхцп: он все маршруты с маской /32 складывал в опцию 33, если клиент спрашивал 33 и 121/249.

Я ж как лучше хотел :)

Posted

Сталкивались http://forum.nag.ru/forum/index.php?showtopic=86169

Как было сказано продаваном микротика, это вы сами виноваты, нефиг выдавать стат роуты.

Я закостылил в дхцп сервере ответы для микротиков, им опции 121/249 не отдаются.

Спасибо. Значит с головой у меня все ОК.

Придется делать резервирование под микротики и

выдавать им еще и 0.0.0.0/0 через 121 опцию.

  • 3 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.