The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Передача статических маршрутов в DHCP
В основную секцию файла конфигурации DHCP сервера нужно прописать:

   option ms-classless-static-routes code 249 = array of unsigned integer 8;
   option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

в потом в секции subnet или host прописывать:

   option ms-classless-static-routes 16, 172,16, 10,16,40,100;
   option rfc3442-classless-static-routes 16, 172,16, 10,16,40,100;

где

   16 (маска)
   172.16.0.0 (сеть)
   10.16.40.100 (шлюз)


Скрипт для генерации содержимого "option classless-route" в шестнадцатеричной
нотации для более старых версий dhcpd:

  #!/usr/bin/perl

  use strict;

  # Usage:
  #   make_classless_option({ "subnet/mask" => "router", "subnet/mask" => "router", ... });
  #     subnet   the subnet address, 4 dot-separated numbers
  #     mask     the subnet mask length (e.g. /24 corresponds to 255.255.255.0, /8 corresponds to 255.0.0.0)
  #     router   the router address, 4 dot-separated numbers

  sub make_classless_option{
    my $routes = shift;
    my ($s1, $s2, $s3, $s4, $len, @bytes, $net, $mask, $destination, $router);

    $len = 2;
    @bytes = ();
    foreach $destination(keys %{$routes}) {
        ($net, $mask) = split('/', $destination);
        $router = $routes->{$destination};
        ($s1, $s2, $s3, $s4) = split(/\./, $net);
        push(@bytes, sprintf('%02x', $mask));
        push(@bytes, sprintf('%02x', $s1));
        push(@bytes, sprintf('%02x', $s2)) if($mask > 8);
        push(@bytes, sprintf('%02x', $s3)) if($mask > 16);
        push(@bytes, sprintf('%02x', $s4)) if($mask > 24);
        ($s1, $s2, $s3, $s4) = split(/\./, $router);
        push(@bytes, sprintf('%02x', $s1));
        push(@bytes, sprintf('%02x', $s2));
        push(@bytes, sprintf('%02x', $s3));
        push(@bytes, sprintf('%02x', $s4));
    }

    return join(':', @bytes);
  }

  # Пример использования

  print make_classless_option({
        "10.230.0.0/16" => "10.230.178.145"
        });
 
11.08.2009 , Источник: http://www.opennet.ru/openforum/vsl...
Ключи: dhcp, route / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Туннелинг, VPN, VLAN

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, chesnok, 00:21, 11/08/2009 [ответить] [смотреть все]
  • +/
    покажите как передать маршрут для многоадресной рассылки ?
     
     
  • 2.21, Игорь, 13:40, 04/12/2009 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    А как сделать, что бы шлюзом здесь отдавался тот самый ip-шник, который назначен... весь текст скрыт [показать] [показать ветку]
     
  • 1.2, VecH, 01:45, 11/08/2009 [ответить] [смотреть все]  
  • +/
    Маршруты в десятичном заданы и читабельны
    Для чего тут скрипт на perl-е ?

    Да, и маршрутов можно передавать несколько:
    MASK, NETWORK, GATEWAY, MASK, NET, GATEWAY, .....;

     
     
  • 2.5, Аноним, 08:54, 11/08/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А это читабельно будет Строка вида 0a 00 00 01 для 10 0 0 1 еще понимается, а ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.8, VecH, 15:24, 11/08/2009 [^] [ответить] [смотреть все]  
  • +/
    Я имею ввиду вот это Где тут используется шестнадцатеричный формат который выда... весь текст скрыт [показать]
     
     
  • 4.11, коекто, 22:38, 11/08/2009 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален Определение новых опций допустимо только в последних вер... весь текст скрыт [показать]
     
     
  • 5.12, VecH, 22:51, 11/08/2009 [^] [ответить] [смотреть все]  
  • +/
    Так об этом даже упоминания нет а скрипт есть ... весь текст скрыт [показать]
     
  • 1.3, VecH, 01:45, 11/08/2009 [ответить] [смотреть все]  
  • +/
    И еще вопрос
    как передавать статические марщруты клиентам подключающимся по VPN и получаемые адреса с сервера
     
     
  • 2.4, madvamp, 07:11, 11/08/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Вроде смотрел такого сделать вроде бы нельзя по крайней мере на Windows , хотя ... весь текст скрыт [показать] [показать ветку]
     
  • 2.6, Уноним, 09:48, 11/08/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    если использовать openvpn, то там можно указать push-route
     
  • 2.7, Славон, 09:57, 11/08/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Если в винде создавать ВПН через админскую фигню (честно не помню как называется, но иконка у ней в виде баранки разноцветной) то там можно указать адрес веб сервера от куда будут забираться роуты после соединения....
     
     
  • 3.9, VecH, 15:25, 11/08/2009 [^] [ответить] [смотреть все]  
  • +/
    >Если в винде создавать ВПН через админскую фигню (честно не помню как
    >называется, но иконка у ней в виде баранки разноцветной) то там
    >можно указать адрес веб сервера от куда будут забираться роуты после
    >соединения....

    Искал, не нашел

     
     
  • 4.10, Alexander, 17:34, 11/08/2009 [^] [ответить] [смотреть все]  
  • +/
    тулза называется CMAK (Connection Manager Administration Kit). умеет создавать бандл коннекции со статик роутами внутри.
     
  • 2.13, freedom, 17:35, 13/08/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    такое работает через dhcp inform, его умеет делать сам клиент MS.
    Но нужна поддержка со стороны VPN сервера, он должен быть dhcp-relay для проброса пакета на dhcp-server.
     
     
  • 3.14, freedom, 17:36, 13/08/2009 [^] [ответить] [смотреть все]  
  • +/
    > такое работает через dhcp inform, его умеет делать сам клиент MS.
    >
    >Но нужна поддержка со стороны VPN сервера, он должен быть dhcp-relay для
    >проброса пакета на dhcp-server.

    http://itdoc.com.ua/2009/02/razreshenie-dhcp-retranslyatora-dlya-vpn-klientov

     
     
  • 4.15, VecH, 17:39, 13/08/2009 [^] [ответить] [смотреть все]  
  • +/
    Ну это под офтопиком, не подходит
     
  • 1.16, pavlinux, 11:49, 26/08/2009 [ответить] [смотреть все]  
  • +/
    И в ...дцатый раз спрошу -
    Есть блейд серваки, 256 штук, все МАC одинаковые, кроме последних байт - 00:01:02:03:04:xx

    Как объяснить DHCP серверу, что только этим МАКам
    разрешена PXE загрузка и адреса из сети 192.168.20.0/15!

     
     
  • 2.17, pavel_simple, 12:14, 26/08/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >И в ...дцатый раз спрошу -
    >Есть блейд серваки, 256 штук, все МАC одинаковые, кроме последних байт -
    >00:01:02:03:04:xx
    >
    >Как объяснить DHCP серверу, что только этим МАКам
    >разрешена PXE загрузка и адреса из сети 192.168.20.0/15!

    интересно...

    man 5 dhcp-eval
    в части

    substring (data-expr, offset, length)

    и в класс его , а там уже и параметры PXE/BOOTP выставить или вообще отдельный пул.

    готовое решение отсутствует.

     
     
  • 3.18, pavel_simple, 12:15, 26/08/2009 [^] [ответить] [смотреть все]  
  • +/
    >[оверквотинг удален]
    >
    >man 5 dhcp-eval
    >в части
    >
    > substring (data-expr, offset, length)
    >
    >и в класс его , а там уже и параметры PXE/BOOTP выставить
    >или вообще отдельный пул.
    >
    >готовое решение отсутствует.

    а ещё у бдейдов должен быть свой vendor-string

     
  • 3.19, pavlinux, 14:16, 26/08/2009 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален сейчас вот так class allocation-class-1 ma... весь текст скрыт [показать]
     
  • 3.20, pavlinux, 14:37, 26/08/2009 [^] [ответить] [смотреть все]  
  • +/
    >[оверквотинг удален]
    >
    >man 5 dhcp-eval
    >в части
    >
    > substring (data-expr, offset, length)
    >
    >и в класс его , а там уже и параметры PXE/BOOTP выставить
    >или вообще отдельный пул.
    >
    >готовое решение отсутствует.

    Кстати про substring


    class "allocation-class-1" {
           match pick-first-value(option dhcp-client-identifier,
                                   substring (hardware, 0, 4));
    }

    То же не пошло

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor