L-ZiX Posted June 9, 2009 Posted June 9, 2009 Всем привет. Не могу понять как правильно передать по DHCP маршрут до файлопомойки. Подскажите, пожалуйста. Вставить ник Quote
RomanCh Posted June 9, 2009 Posted June 9, 2009 Клиенты виндовые? Если виндовые (что скорее всего), то нужно юзать не 121ю а 249ю опцию. У мелкософта как всегда всё строго по своему. Суть та же что и в 121, только номер опции другой. Вставить ник Quote
L-ZiX Posted June 9, 2009 Author Posted June 9, 2009 Ок. Можете привести пример для МТ ? Пожалуйста Вставить ник Quote
RomanCh Posted June 9, 2009 Posted June 9, 2009 Не могу, никогда с ним не сталкивался. Если надо - для dhcpd могу. Вставить ник Quote
L-ZiX Posted June 9, 2009 Author Posted June 9, 2009 Просто для МТ в hex вроде как указывать надо. Этот момент не могу понять. Форум МТ читал. Вставить ник Quote
rsst Posted June 9, 2009 Posted June 9, 2009 (edited) Просто для МТ в hex вроде как указывать надо. Этот момент не могу понять. Форум МТ читал. например option 249 0x18c0a800c0a80103 18h - 24, маска сети кого роутим - c0a800h - 192.168.0 через что роутим - c0a80103h - 192.168.1.3 Edited June 9, 2009 by rsst Вставить ник Quote
RomanCh Posted June 9, 2009 Posted June 9, 2009 (edited) Для старых версий dhcpd тоже в hex. Например маршруты на серые подсети (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) через 192.168.0.1 выглядят так: 08:0a:c0:a8:00:01:0c:ac:10:c0:a8:00:01:10:c0:a8:c0:a8:00:01 Edited June 9, 2009 by RomanCh Вставить ник Quote
L-ZiX Posted June 9, 2009 Author Posted June 9, 2009 Прошу прощенья - не могу догнать. Сделайте пожалуйста маршрут на 10.0.0.0/8 через 10.10.1.1. А можно не указывать шлюз? Чтоб маршрут был через шлюз, который и будет получен через DHCP. Вставить ник Quote
RomanCh Posted June 9, 2009 Posted June 9, 2009 Прошу прощенья - не могу догнать http://www.networksorcery.com/enp/rfc/rfc2132.txt - рекомендую почитать. Как уже говорил выше - всё точно так же исключая номер опции.Сделайте пожалуйста маршрут на 10.0.0.0/8 через 10.10.1.1.080a0a0a0101А можно не указывать шлюз? Чтоб маршрут был через шлюз, который и будет получен через DHCP.Не понял. Вставить ник Quote
RomanCh Posted June 9, 2009 Posted June 9, 2009 На будущее, скрипт для создания hex-строки с опцией 249: #!/usr/bin/perl -w use strict; sub option_121 { my $gw = shift; my $out_str = ''; my ($subnet, $mask, $b0, $b1, $b2, $b3); foreach my $cidr (@_) { ($subnet, $mask) = split('/', $cidr); ($b0, $b1, $b2, $b3) = split(/\./, $subnet); $out_str .= sprintf('%02x', $mask); $out_str .= sprintf('%02x', $b0); $out_str .= sprintf('%02x', $b1) if($mask > 8); $out_str .= sprintf('%02x', $b2) if($mask > 16); $out_str .= sprintf('%02x', $b3) if($mask > 24); $out_str .= sprintf('%02x%02x%02x%02x', split(/\./, $gw)); } return $out_str; } if(@ARGV < 2) { print "Usage: $0 gw_ip subnet1/mask1 subnet2/mask2 ... subnetN/maskN\n"; } elsif($ARGV[0] =~ /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/) { print "DHCP option 121 (249) hex string: ".option_121(@ARGV)."\n"; } else { print "Invalid gateway IP address: '$ARGV[0]'\n"; } Вставить ник Quote
L-ZiX Posted June 9, 2009 Author Posted June 9, 2009 080a0a0a0101 При вот таком раскладе винда почему-то не получила настройки ДНС. Никто с такой траблой не сталкивался? Шлюз кстати тоже, но роут прописался. Вставить ник Quote
RomanCh Posted June 9, 2009 Posted June 9, 2009 Я вас что-то плохо понимаю: 1. DNS опция ни как не связана с выдачей безклассовых маршрутов. 2. Какой шлюз не выдался? По умолчанию? А он был в опциях? 3. Маршрут который "прописался" - правильно прописался? Итого что от вас требуется: 1. Поставить в винду windump. Перед получением IP адреса запустить: windump -i номер-интерфейса -nvs0 port 67 (список интерфейсов можно получить через windump -D) Показать дамп - в идеале там 4 пакета должно быть. 2 от клиента и 2 от сервера. 2. route print с винды после получения адреса. Результат тоже показать. Вставить ник Quote
L-ZiX Posted June 9, 2009 Author Posted June 9, 2009 По дефолту на сервере DHCP стоит выдача айпи из 10.10.1.0/24, шлюз 10.10.1.1, днс 10.10.1.1 Добавил опцию 249 - перестали выдаваться днс и шлюз. Сейчас сделаю виндампом то что требуется. Вставить ник Quote
L-ZiX Posted June 9, 2009 Author Posted June 9, 2009 (edited) 04:08:50.506891 IP (tos 0x0, ttl 128, id 39099, offset 0, flags [none], proto: U DP (17), length: 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:02:b3:b6:9a:7c, length 300, xid 0x93cc2d65, Flags [ none ] Client-Ethernet-Address 00:02:b3:b6:9a:7c Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: Discover NOAUTO Option 116, length 1: Y Client-ID Option 61, length 7: ether 00:02:b3:b6:9a:7c Requested-IP Option 50, length 4: 10.5.0.222 Hostname Option 12, length 4: "LZIX" Vendor-Class Option 60, length 8: "MSFT 5.0" Parameter-Request Option 55, length 11: Subnet-Mask, Domain-Name, Default-Gateway, Domain-Name-Server Netbios-Name-Server, Netbios-Node, Netbios-Scope, Router-Discovery Static-Route, Option 249, Vendor-Option 04:08:51.022336 IP (tos 0x0, ttl 16, id 0, offset 0, flags [none], proto: UDP ( 17), length: 328) 10.0.0.1.67 > 10.10.1.11.68: BOOTP/DHCP, Reply, length 300, xi d 0x93cc2d65, Flags [ none ] Your-IP 10.10.1.11 Server-IP 10.0.0.1 Client-Ethernet-Address 00:02:b3:b6:9a:7c Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: Offer Server-ID Option 54, length 4: 10.0.0.1 Lease-Time Option 51, length 4: 3600 Subnet-Mask Option 1, length 4: 255.255.255.0 Default-Gateway Option 3, length 4: 10.10.1.1 Domain-Name-Server Option 6, length 8: 10.10.1.1,10.10.1.1 T249 Option 249, length 12: 808988769,811675745,808529969 04:08:51.022503 IP (tos 0x0, ttl 128, id 39128, offset 0, flags [none], proto: U DP (17), length: 332) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:02:b3:b6:9a:7c, length 304, xid 0x93cc2d65, Flags [ none ] Client-Ethernet-Address 00:02:b3:b6:9a:7c Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: Request Client-ID Option 61, length 7: ether 00:02:b3:b6:9a:7c Requested-IP Option 50, length 4: 10.10.1.11 Server-ID Option 54, length 4: 10.0.0.1 Hostname Option 12, length 4: "LZIX" FQDN Option 81, length 8: "LZIX." Vendor-Class Option 60, length 8: "MSFT 5.0" Parameter-Request Option 55, length 11: Subnet-Mask, Domain-Name, Default-Gateway, Domain-Name-Server Netbios-Name-Server, Netbios-Node, Netbios-Scope, Router-Discovery Static-Route, Option 249, Vendor-Option 04:08:51.034328 IP (tos 0x0, ttl 16, id 0, offset 0, flags [none], proto: UDP ( 17), length: 328) 10.0.0.1.67 > 10.10.1.11.68: BOOTP/DHCP, Reply, length 300, xi d 0x93cc2d65, Flags [ none ] Your-IP 10.10.1.11 Server-IP 10.0.0.1 Client-Ethernet-Address 00:02:b3:b6:9a:7c Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: ACK Server-ID Option 54, length 4: 10.0.0.1 Lease-Time Option 51, length 4: 3600 Subnet-Mask Option 1, length 4: 255.255.255.0 Default-Gateway Option 3, length 4: 10.10.1.1 Domain-Name-Server Option 6, length 8: 10.10.1.1,10.10.1.1 T249 Option 249, length 12: 808988769,811675745,808529969 04:08:54.035240 IP (tos 0x0, ttl 128, id 39132, offset 0, flags [none], proto: U DP (17), length: 328) 10.10.1.11.68 > 10.0.0.1.67: BOOTP/DHCP, Request from 00:0 2:b3:b6:9a:7c, length 300, xid 0xd389fe0c, Flags [ none ] Client-IP 10.10.1.11 Client-Ethernet-Address 00:02:b3:b6:9a:7c Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: Request Client-ID Option 61, length 7: ether 00:02:b3:b6:9a:7c Hostname Option 12, length 4: "LZIX" FQDN Option 81, length 8: "LZIX." Vendor-Class Option 60, length 8: "MSFT 5.0" Parameter-Request Option 55, length 11: Subnet-Mask, Domain-Name, Default-Gateway, Domain-Name-Server Netbios-Name-Server, Netbios-Node, Netbios-Scope, Router-Discovery Static-Route, Option 249, Vendor-Option 04:08:54.046816 IP (tos 0x0, ttl 16, id 0, offset 0, flags [none], proto: UDP ( 17), length: 328) 10.0.0.1.67 > 10.10.1.11.68: BOOTP/DHCP, Reply, length 300, xi d 0xd389fe0c, Flags [ none ] Client-IP 10.10.1.11 Your-IP 10.10.1.11 Server-IP 10.0.0.1 Client-Ethernet-Address 00:02:b3:b6:9a:7c Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: ACK Server-ID Option 54, length 4: 10.0.0.1 Lease-Time Option 51, length 4: 3600 Subnet-Mask Option 1, length 4: 255.255.255.0 Default-Gateway Option 3, length 4: 10.10.1.1 Domain-Name-Server Option 6, length 8: 10.10.1.1,10.10.1.1 T249 Option 249, length 12: 808988769,811675745,808529969 Edited June 10, 2009 by L-ZiX Вставить ник Quote
L-ZiX Posted June 9, 2009 Author Posted June 9, 2009 (edited) G:\Documents and Settings\Администратор>route PRINT =========================================================================== Список интерфейсов 0x1 ........................... MS TCP Loopback interface 0x10003 ...00 1d 7d 96 c3 72 ...... Realtek RTL8169/8110 Family Gigabit Ethernet NIC 0x10004 ...00 02 b3 b6 9a 7c ...... Intel® PRO/100 S рфряЄхЁ Ёрсюў*** ёЄюыр =========================================================================== =========================================================================== Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 10.0.0.0 255.0.0.0 10.10.1.11 10.10.1.11 20 10.10.1.11 255.255.255.255 127.0.0.1 127.0.0.1 20 10.255.255.255 255.255.255.255 10.10.1.11 10.10.1.11 20 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 224.0.0.0 240.0.0.0 10.10.1.11 10.10.1.11 20 255.255.255.255 255.255.255.255 10.10.1.11 10003 1 255.255.255.255 255.255.255.255 10.10.1.11 10.10.1.11 1 =========================================================================== Постоянные маршруты: Отсутствует G:\Documents and Settings\Администратор> Edited June 10, 2009 by L-ZiX Вставить ник Quote
RomanCh Posted June 10, 2009 Posted June 10, 2009 (edited) 1. Не понятно зачем указывать 1 DNS сервер 2 раза? Domain-Name-Server Option 6, length 8: 10.10.1.1,10.10.1.1 Уберите излишества. 2. Полагаю что проблемы с шлюзом по умолчанию вызываны не правильным форматом передачи 249й опции. Вот так: T249 Option 249, length 12: 808988769,811675745,808529969 в дампе она выглядеть не должна. В зависимости от версии windump (tcpdump) она должна выглядить либо как строка шестнадцатиричных цифр (так же как в конфиге записана), либо вообще полностью декодированной: Classless-Static-Route-Microsoft Option 249, length 85: (10.0.0.0/8:10.10.1.1) 3. Глядя в таблицу маршрутизации я вижу что ни какого маршрута у вас на деле не добавляется, что не удивительно. Вывод - разбирайтесь с правильным форматом записи опции в вашем dhcp сервере. Edited June 10, 2009 by RomanCh Вставить ник Quote
L-ZiX Posted June 10, 2009 Author Posted June 10, 2009 Проблемы были в том что я в начале опции 0x не поставил. Спасибо большое. Вставить ник Quote
guruks Posted June 30, 2009 Posted June 30, 2009 Подскажите кто пользуется несколькими опциями 249. Например у меня нужно выдавать 5 маршрутов, в закладке networks добавляю все опции, но работает только тот маршрут который первый, подскажите как заставить DHCP выдавать все маршруты Mikrotik 3.20 Вставить ник Quote
rsst Posted July 3, 2009 Posted July 3, 2009 Подскажите кто пользуется несколькими опциями 249. Например у меня нужно выдавать 5 маршрутов, в закладке networks добавляю все опции, но работает только тот маршрут который первый, подскажите как заставить DHCP выдавать все маршруты Mikrotik 3.20 маршруты прописываются все в одной опции Вставить ник Quote
guruks Posted July 3, 2009 Posted July 3, 2009 В смысле в одной опции, есть 5 hex кодов разных маршрутов, мне их соединить в один hex код ? Вставить ник Quote
rsst Posted July 3, 2009 Posted July 3, 2009 В смысле в одной опции, есть 5 hex кодов разных маршрутов, мне их соединить в один hex код ? да, все толпой Вставить ник Quote
x-system Posted August 2, 2012 Posted August 2, 2012 Доброе время суток, уважаемые форумчане. У меня по микротику возник страшнно глупый вопрос, но решить его сам не могу!( Решил я попробовать у dhcp опцию 121. Но не могу понять как мне записать эту опцию. Нашел один рабочий пример на сайте микротика. Он работает - один микротик отдает по dhcp маршруты другому. Но! Пытаюсь написать свой пример - не получаеться. На всех форумах говорят, что тупо в hex через калькулятор переводишь. Но пробовал - ноль эмоций. Видимо не тупо. ПРобовал читать официальную документацию по опции 121, но в английском не селен( А там есть какая-то специфика. Знаю только, что у тиков надо перед значением писать 0xи дальше уже в хекс пошло значение: суффикс, кого, куда. Вот у меня возник вопрос как правильно перевести это дело в хекс. Вот пример, dst-adress = 172.16.0.0/12 gw=192.168.23.1 перевел и получил это: 0x12AC100001C0A81701 Вписал опцию 121 - не получает другой тик маршруты и все. Включил логирование dhcp сервера и клиента - ничгео интересного не пишут( Хоть ошибку какую то написали бы.. В общем, очень прошу вашей помощи разобраться с этим. Мне хотелось бы научиться самому переводить подсети и адреса в вид понятный микротику)) Пытался юзать всякие калькуляторы - тоже ничего не выходит.(( И как мне посчитать суффикс сети? Почему у подсети /24 суффикс 18? Пытался гуглить но про суффикс ничего. А при написании опции надо вроде как впереди после 0x указать суфикс а потом уже кого роутить. Вставить ник Quote
martin74 Posted August 2, 2012 Posted August 2, 2012 не знаю как для микротика... Но вообще оно записывается так: нам надо отдать маршрут 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.... Вставить ник Quote
m9ic Posted August 2, 2012 Posted August 2, 2012 (edited) где-то когда-то скачал, автора не знаю :) удобная штука ./hex.pl шлюз сеть/маска hex.pl Edited August 2, 2012 by m9ic Вставить ник 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.