Jump to content
Калькуляторы

Mikrotik DHCP option 121 как сделать?

Всем привет.

Не могу понять как правильно передать по DHCP маршрут до файлопомойки. Подскажите, пожалуйста.

Share this post


Link to post
Share on other sites

Клиенты виндовые? Если виндовые (что скорее всего), то нужно юзать не 121ю а 249ю опцию. У мелкософта как всегда всё строго по своему. Суть та же что и в 121, только номер опции другой.

Share this post


Link to post
Share on other sites

Ок. Можете привести пример для МТ ? Пожалуйста

Share this post


Link to post
Share on other sites

Не могу, никогда с ним не сталкивался. Если надо - для dhcpd могу.

Share this post


Link to post
Share on other sites

Просто для МТ в hex вроде как указывать надо. Этот момент не могу понять. Форум МТ читал.

Share this post


Link to post
Share on other sites
Просто для МТ в hex вроде как указывать надо. Этот момент не могу понять. Форум МТ читал.

например

option 249

0x18c0a800c0a80103

18h - 24, маска сети
кого роутим - c0a800h - 192.168.0
через что роутим - c0a80103h - 192.168.1.3

Edited by rsst

Share this post


Link to post
Share on other sites

Для старых версий 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 by RomanCh

Share this post


Link to post
Share on other sites

Прошу прощенья - не могу догнать. Сделайте пожалуйста маршрут на 10.0.0.0/8 через 10.10.1.1.

А можно не указывать шлюз? Чтоб маршрут был через шлюз, который и будет получен через DHCP.

Share this post


Link to post
Share on other sites
Прошу прощенья - не могу догнать
http://www.networksorcery.com/enp/rfc/rfc2132.txt - рекомендую почитать. Как уже говорил выше - всё точно так же исключая номер опции.
Сделайте пожалуйста маршрут на 10.0.0.0/8 через 10.10.1.1.
080a0a0a0101
А можно не указывать шлюз? Чтоб маршрут был через шлюз, который и будет получен через DHCP.
Не понял.

Share this post


Link to post
Share on other sites

На будущее, скрипт для создания 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";
}

Share this post


Link to post
Share on other sites

080a0a0a0101

При вот таком раскладе винда почему-то не получила настройки ДНС. Никто с такой траблой не сталкивался? Шлюз кстати тоже, но роут прописался.

Share this post


Link to post
Share on other sites

Я вас что-то плохо понимаю:

1. DNS опция ни как не связана с выдачей безклассовых маршрутов.

2. Какой шлюз не выдался? По умолчанию? А он был в опциях?

3. Маршрут который "прописался" - правильно прописался?

 

Итого что от вас требуется:

1. Поставить в винду windump. Перед получением IP адреса запустить:

windump -i номер-интерфейса -nvs0 port 67

(список интерфейсов можно получить через windump -D)

Показать дамп - в идеале там 4 пакета должно быть. 2 от клиента и 2 от сервера.

2. route print с винды после получения адреса. Результат тоже показать.

 

Share this post


Link to post
Share on other sites

По дефолту на сервере DHCP стоит выдача айпи из 10.10.1.0/24, шлюз 10.10.1.1, днс 10.10.1.1

Добавил опцию 249 - перестали выдаваться днс и шлюз.

Сейчас сделаю виндампом то что требуется.

Share this post


Link to post
Share on other sites
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 by L-ZiX

Share this post


Link to post
Share on other sites
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 by L-ZiX

Share this post


Link to post
Share on other sites

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 by RomanCh

Share this post


Link to post
Share on other sites

Проблемы были в том что я в начале опции 0x не поставил. Спасибо большое.

Share this post


Link to post
Share on other sites

Подскажите кто пользуется несколькими опциями 249. Например у меня нужно выдавать 5 маршрутов, в закладке networks добавляю все опции, но работает только тот маршрут который первый, подскажите как заставить DHCP выдавать все маршруты

 

Mikrotik 3.20

Share this post


Link to post
Share on other sites
Подскажите кто пользуется несколькими опциями 249. Например у меня нужно выдавать 5 маршрутов, в закладке networks добавляю все опции, но работает только тот маршрут который первый, подскажите как заставить DHCP выдавать все маршруты

 

Mikrotik 3.20

маршруты прописываются все в одной опции

Share this post


Link to post
Share on other sites

В смысле в одной опции, есть 5 hex кодов разных маршрутов, мне их соединить в один hex код ?

Share this post


Link to post
Share on other sites

В смысле в одной опции, есть 5 hex кодов разных маршрутов, мне их соединить в один hex код ?

да, все толпой

Share this post


Link to post
Share on other sites

Доброе время суток, уважаемые форумчане.

У меня по микротику возник страшнно глупый вопрос, но решить его сам не могу!(

Решил я попробовать у dhcp опцию 121. Но не могу понять как мне записать эту опцию. Нашел один рабочий пример на сайте микротика. Он работает - один микротик отдает по dhcp маршруты другому. Но! Пытаюсь написать свой пример - не получаеться. На всех форумах говорят, что тупо в hex через калькулятор переводишь. Но пробовал - ноль эмоций. Видимо не тупо. ПРобовал читать официальную документацию по опции 121, но в английском не селен( А там есть какая-то специфика.

Знаю только, что у тиков надо перед значением писать 0xи дальше уже в хекс пошло значение: суффикс, кого, куда.

Вот у меня возник вопрос как правильно перевести это дело в хекс.

 

Вот пример, dst-adress = 172.16.0.0/12 gw=192.168.23.1

перевел и получил это: 0x12AC100001C0A81701

Вписал опцию 121 - не получает другой тик маршруты и все. Включил логирование dhcp сервера и клиента - ничгео интересного не пишут( Хоть ошибку какую то написали бы..

В общем, очень прошу вашей помощи разобраться с этим.

Мне хотелось бы научиться самому переводить подсети и адреса в вид понятный микротику))

Пытался юзать всякие калькуляторы - тоже ничего не выходит.((

И как мне посчитать суффикс сети?

Почему у подсети /24 суффикс 18?

Пытался гуглить но про суффикс ничего. А при написании опции надо вроде как впереди после 0x указать суфикс а потом уже кого роутить.

Share this post


Link to post
Share on other sites

не знаю как для микротика... Но вообще оно записывается так:

нам надо отдать маршрут 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....

Share this post


Link to post
Share on other sites

где-то когда-то скачал, автора не знаю :)

удобная штука

./hex.pl шлюз сеть/маска

hex.pl

Edited by m9ic

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this