vlash Posted June 19, 2014 Posted June 19, 2014 Добрый день! Роутер - 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 видно что от сервера все опции получаются коррктно, но дальше микротик почему то не добавляет дефолтный маршрут Сталкивался ли кто нибудь с подобным поведением? Спасибо. Вставить ник Quote
pppoetest Posted June 19, 2014 Posted June 19, 2014 Сталкивались http://forum.nag.ru/forum/index.php?showtopic=86169 Как было сказано продаваном микротика, это вы сами виноваты, нефиг выдавать стат роуты. Я закостылил в дхцп сервере ответы для микротиков, им опции 121/249 не отдаются. Вставить ник Quote
srg555 Posted June 19, 2014 Posted June 19, 2014 Сталкивались http://forum.nag.ru/forum/index.php?showtopic=86169 Как было сказано продаваном микротика, это вы сами виноваты, нефиг выдавать стат роуты. Я закостылил в дхцп сервере ответы для микротиков, им опции 121/249 не отдаются. я догадывался что микротик говно, но чтоб такое... Вставить ник Quote
Abram Posted June 19, 2014 Posted June 19, 2014 Не люблю Микротик, но тут как раз таки все правильно, Микротик действует согласно 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 Вставить ник Quote
Ivan_83 Posted June 19, 2014 Posted June 19, 2014 Не люблю Микротик, но тут как раз таки все правильно, Микротик действует согласно RFC, в котором сказано - если выдаете опцию 121, то выдавайте там сразу и 0.0.0.0/0, т.к. при наличии 121 поле router (какая там опция - забыл) должно игнорироваться, что Микротик и делает. Посмотрите внимательнее. У ТС опции 03 и 121, по вашей ссылке 33 и 121. PS: поправил код своего перлогово дхцп: он все маршруты с маской /32 складывал в опцию 33, если клиент спрашивал 33 и 121/249. Я ж как лучше хотел :) Вставить ник Quote
vlash Posted June 19, 2014 Author Posted June 19, 2014 Сталкивались http://forum.nag.ru/forum/index.php?showtopic=86169 Как было сказано продаваном микротика, это вы сами виноваты, нефиг выдавать стат роуты. Я закостылил в дхцп сервере ответы для микротиков, им опции 121/249 не отдаются. Спасибо. Значит с головой у меня все ОК. Придется делать резервирование под микротики и выдавать им еще и 0.0.0.0/0 через 121 опцию. Вставить ник Quote
Fafofu Posted August 25, 2017 Posted August 25, 2017 Ооо ты смотри :) Я как раз столкнулся, думал, это я криво настраиваю :) Спасибо, за разъяснения :) Вставить ник Quote
Andriuxa Posted August 28, 2017 Posted August 28, 2017 В 25.08.2017 в 16:47, Fafofu сказал: Ооо ты смотри :) Я как раз столкнулся, думал, это я криво настраиваю :) Спасибо, за разъяснения :) https://habrahabr.ru/post/239141/ - нет? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.