Настройка dhcp для voip
В нашей компании реализован механизм автоконфигурирования некоторых наиболее популярных моделей ip-телефонов ( так называемый autoprovisioning). Но для функционирования данной опции необходимо произвести некоторые настройки DHCP-сервера. В данной статье рассмотрено три наиболее встречаемых платформы, на которых обычно развернут DHCP-сервер: Windows server ( на примере windows server 2003) CentOS Роутер CISCO Роутер Mikrotik Полную настройку DHCP-сервера рассматривать в данной статье не имеет смысла, поэтому для примера возьмем уже поднятые и преднастроенные DHCP-сервера, но без прописанной опции 66.
4. Прописывание опции 66 на роутере Cisco
Теперь перейдем к настройкам DHCP-сервера поднятого на роутере Cisco.
И прописываем необходимую опцию 66
Обратите внимание, что в данном случае тоже можно указать как в числовом так и в текстовом формате.
ascii — текстовый
ip — числовой
1. Принцип autoprovisioning
IP-телефон загружает файлы прошивки и конфигурации с TFTP-сервера. Для того, чтобы аппарат знал нахождение сервера загрузки, необходимо явно указать ему IP-адрес данного сервера. Для этого служит опция 66 на сервере DHCP.
Телефонный аппарат при получении IP-адреса с DHCP-сервера обращается к строке в которой прописана опция 66. И после этого происходит его обращение к тому серверу TFTP, который указан в данной опции, и уже с сервера TFTP телефон подгружает файлы прошивки и конфигурации.
2. Прописывание опции 66 на Windows server 2003
- Запускаем: Пуск>Все программы>Администрирование>DHCP
- Выбираем Параметры области активного DHCP-сервера, далее Действие>Настроить параметры
- В открывшемся окне выбираем опцию 66 Имя узла сервера загрузки ( отмечаем галочкой) и прописываем ip-адрес TFTP-сервера в поле строковое значение. Нажимаем Применить>ОК
- На вкладке Параметры области будет отображаться подключенная опция 66
Прописывание опции 66 на Mikrotik
Настройку Mikrotik производим через WinBox.
1. IP -> DHCP Server -> Options
Если версия прошивки от 5.0 и до 5.7 включительно, то value нужно указывать в одинарных кавычках ‘192.168.1.2’
Если версия прошивки 5.8 и выше то value указывается следующим образом s’192.168.1.2′. Далее, в разделе Networks выбираем созданный нами пункт в разделе DHCP Options:
В продолжение темы настройки DHCP на оборудовании Cisco с учетом VLAN, предлагаю рассмотреть вопрос вглубь: давайте скрестим описанный функционал с VoIP технологией. Что если мы решили внедрить в нашу сеть VoIP со всеми вытекающими последствиями: отдельным устройством с Communication Manager Express, VoIP телефонами и необходимостью приоретизации трафика?
Для начала коротко об изображенной здесь архитектуре Cisco VoIP. Начнем с телефонов. В VoIP телефоны Cisco встроен минисвич на два порта, который позволяет подключить телефон к розетке, а компьютер к телефону. Этим мы экономим розетки и порты на свиче, но этим же и создаем себе дополнительную проблему: VoIP трафик должен быть изолирован от трафика, предназначенного компьютеру. Во имя приоретизации, что для VoIP критично, и безопасности.
Для решения этой проблемы Cisco использует, говоря заумными словами, технологию 802.1q транков, а проще – VLAN. VoIP телефон добавляет в свой трафик тег, по которому свич распознает, что фрейм принадлежит VoIP трафику, и ему надо оказать особое внимание.
На портах свича предусмотрен отдельная команда, чтобы задать VLAN для телефона, который подключен к нему. Теперь настройка порта будет выглядеть вот так:
После этого свич по CDP передаст телефону номер его VLAN и он сможет помечать фреймы правильным тегом.
«Ага, — скажет внимательный и хитрый читатель, — но ведь весь VoIP трафик всей сети сконцентрирован в одном VLAN? Значит, наш компьютер может отключить телефон, прикинуться им и слушать все разговоры по сети?»
«И зачем вообще этот костыль c switchport voice vlan? – спросит внимательный и умный читатель, — ведь можно настроить порт на свиче как trunk, указав ему allowed vlan 10 и native vlan 50?»
Ответ на оба эти вопроса один: Cisco предусмотрела механизм, который не позволяет чужому устройству прикинуться VoIP телефоном. Именно этот механизм включается командой switchport voice vlan. Второй внимательный читатель прав, его конфигурация верна и будет работать, но она сделает правым и первого внимательного читателя. А этого нам совершенно не нужно.
Детальный рассказ про механизм Voice VLAN – это тема для отдельного поста. Те, кто заинтересовался и хочет узнать о нем прямо сейчас, могут почитать об этом на сайте Циско и, кто знает, может, в процессе заинтересоваться еще чем-то из цисковского VoIP.
Но вернемся к нашей задаче. В IP адресе нуждаются не только рабочие станции, но и IP телефоны. Однако доступ к DHCP серверу имеют только устройства из VLAN 50, то есть, компьютеры. Что же делать телефонам?
А для телефонов мы используем два интересных механизма DHCP: команду helper-address и принцип, по которому DHCP выделяет адреса.
Настроим сам DHCP сервер на маршрутизаторе с двумя пулами:
Команда network в настройке DHCP на Циско – одна из немногих, где мы можем задать маску подсети через слеш. А можем и вовсе не задавать, тогда она будет определена автоматически, в зависимости от класса сети.
Команда default-router задает шлюз по умолчанию для сети, а dns-server – соответственно, DNS сервер. 4.2.2.2 – это адрес публичного NDS сервера, который поддерживается университетом Беркли, и является надежной альтернативой, если по какой-то причине вы не доверяете DNS вашего провайдера.
Буквально парой предложений про еще одну особенность DHCP в VoIP: с его помощью телефоны получают адрес TFTP сервера, на котором хранится образ операционной системы для них. Эта функциональность известна как опция 150 и задается командой:
Если углубляться в DHCP еще больше, то все функции этого замечательного протокола являют собой опции. Так, шлюз по умолчанию можно задать как default-router, а можно как option 3. Под такими опциями скрыто множество интересной дополнительной функциональности, которая, к сожалению, тоже в один пост не поместится.
Все-все, уже заканчиваю отвлекаться: таким же образом настроим пул IP адресов для рабочих станций:
Дальше идем на сабинтерфейсы CME роутера (предполагаю, что вы знакомы с маршрутизацией между VLAN и уже настроили их самостоятельно). Все широковещательные пакеты, при помощи которых наши телефоны будут обращаться к широкой общественности: «эй, кто здесь DHCP сервер, мне нужен IP адрес» придут на сабинтерфейс Fa0/0.10 – потому что телефоны находятся во VLAN 10. Тут бы этим крикам о помощи и погибнуть – в VLAN 10 нет DHCP сервера – но это не выход. Выход – команда ip helper-address:
Этой командой мы говорим CME маршрутизатору: когда ты получаешь широковещательный DHCP пакет, отправляй его DHCP серверу по адресу 172.16.2.5. Этот сервер ответит тебе, и тогда ты передашь его тому, кто прислал тебе запрос.
Тут мы подходим ко второму интересному моменту: на самом деле DHCP сервер не знает. Если бы все телефоны и компьютеры были в одном VLAN, он бы сказал: «Я не знаю, кто вы такие. Все ваши запросы пришли ко мне через интерфейс 172.16.2.5, потому я выдам всем вам адреса из сети, к которой относится этот интерфейс, то есть 172.16.2.0/24».
Но мы использовали helper-address! Смотрите, как это работает сейчас: компьютеры шлют запрос «эй, дай мне IP адрес». Запрос попадает к DHCP серверу через интерфейс 172.16.2.5 – сервер находится в том же VLAN, что и компьютеры. И он выдает им адреса из сети 172.16.2.0/24 – нашего DATA пула. Но широковещательные пакеты телефонов идут в другом VLAN. Они приходят на сабинтерфейс Fa0/0.10, который для них является шлюзом по умолчанию, и CME шлет их на ip helper-address — 172.16.2.5.
И когда CME пересылает запросы телефонов, он не посылает их как broadcast. Он шлет их как unicast. А unicast IP пакет имеет адреса источника и получателя. И в нашем случае IP адресом источника DHCP запроса будет адрес сабинтерфейс Fa0/0.10, потому что там эти фреймы впервые вышли на третий уровень, там они впервые вообще узнали, что в мире бывают IP адреса!
Итак, DHCP сервер получает unicast запрос, source address которого значится 172.16.1.1. «Ага, — говорит сервер, — значит, источник запроса имеет связь с этим адресом. Значит, надо выдавать ему IP адрес из сети, к которой этот адрес относится». И отвечает на запрос выдачей адреса из сети 172.16.1.1/24 – нашого VOICE пула!
Таким образом, мы получаем как раз то, что хотели: все наши телефоны получили IP адреса из нужной подсети, они изолированы от VLAN с данными и имеют связь только с CME, который может соединять их с другими телефонами через PSTN или VoIP посредством Интернет. Компьютеры же получили адреса из другой сети, они теперь могут обмениваться данными с филиалами компании, server farm или чем угодно еще. Мы получили гибкую в настройке сеть, возможность приоретизации трафика на втором и третьем уровне и экономию пропускной способности и ресурсов за счет использования одного DHCP сервера для нескольких изолированных VLAN.
P.S. Хочу выразить благодарность за вдохновение на этот пост и значительный пласт моих телеком-знаний несравненному Jeremy Cioara. Надеюсь, вы простите слишком вольный местами тон рассказа.
Однажды руководство одобрило эксперимент по внедрению IP телефонии в нашей конторе. Так как мой опыт в данной области был мизерным, задача пробудила во мне огромный интерес и я погрузился в изучение различных аспектов вопроса. По окончании погружения решил поделиться приобретенными знаниями — в надежде, что кому-то они пригодятся. Итак…
Исходные данные
В качестве IP-АТС выбран и развернут Asterisk. Парк телефонов состоит из аппаратов Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 и Dlink DPH-150S(E)/F3, Yealink T19 и T21. Такой разброс обусловлен тем, что в рамках эксперимента было принято решение попробовать всего понемногу, чтобы составить своё мнение о соотношении цена/качество/удобство.
Задача
Максимально упростить и унифицировать процесс настройки новых аппаратов. Все телефоны должны быть синхронизированы по времени, иметь телефонную книгу, подгружаемую с сервера и предоставлять доступ к настройкам для администратора.
Решение этой задачи простое — реализовать автоматическую настройку телефонов, т.н. Provisioning. Собственно, о моей реализации этой замечательной функции и пойдет речь.
Настройка tftpd,dhcpd
Для раздачи настроек телефонам я выбрал tftp как универсальный вариант, поддерживаемый всеми платформами, легкий в настройке и управлении.
Специфической настройки для tftp не потребовалось. Установил штатный tftpd и разместил все необходимые файлы в его корневой директории.
Файлы с настройками разместил по каталогам в соответствии с производителем телефона. Правда, аппарат от Cisco так и не полез в свою папку, пришлось хранить в корне.
Для того, чтобы указать телефонам местонахождение tftp-сервера, я воспользовался option-66. Кроме того, разделил их на отдельные классы по производителю. Каждый класс получил собственный сегмент адресов и индивидуальную папку для конфигурационных файлов. К слову, аппараты от D-link пришлось вычислять по MAC-адресам, так как информацию о производителе в dhcp-запросе они не предоставляют.
Телефоны пришлось принудительно исключать из общего пула. Иначе они никак не хотели уходить в свой «лягушатник».
После перезапуска всех вовлеченных служб телефоны уверенно направились за настройками на положенный им tftp-сервер. Осталось только их там разместить.
Cisco 7906
Эти аппараты достались мне в заводской упаковке. Пришлось перешивать, чтобы подружить с asterisk'ом. Но это отдельная история. В конкретном случае для настройки аппарата я, согласно инструкции, создал в корне tftp-сервера файл SEPAABBCCDDEEFF.cnf.xml. Где AABBCCDDEEFF — MAC-адрес аппарата.
Про настройку телефонов от Cisco было написано уже не раз, поэтому я просто оставлю рабочий файл с настройками.
D-Link DPH-150S/F3
Если вам только предстоит приобрести телефон этой серии, будьте внимательны, автонастройка поддерживается только в аппаратах 150S/F3. На аппарате 150S/F2, попавшем мне в руки, такого функционала не обнаружил.
Конфигурационный файл может быть как в формате xml, так и обычном текстовом. Для xml есть одно требование: тэг должен быть в начале строки, иначе парсер его проигнорирует и значение соответствующего параметра не изменится.
Для настройки телефона используются два файла. f0D00580000.cfg — для хранения настроек всех телефонов и 00112233aabb.cfg (MAC-адрес в нижнем регистре) для индивидуальных настроек. Индивидуальные настройки, естественно, имеют больший приоритет.
Полный набор настроек насчитывает более тысячи строк, чтобы не загромождать статью, опишу минимальный достаточный набор настроек.
Обязательными являются корневой узел VOIP_CONFIG_FILE и вложенный в него узел version. Настройки будут применены только если версия файла будет выше, чем у текущих настроек в аппарате. Узнать это значение можно через .web-интерфейс телефона в разделе maintenance (системное управление). Для телефонов с заводскими настройками в обоих случаях это 2.0002. Кроме того, версия индивидуального файла должна быть больше версии общего файла.
Первым приведу файл с общей конфигурацией для всех телефонов. По сути дела, он хранит все настройки, индивидуальный файл будет отвечать только за номер телефона и надпись на экране.
В двух блоках, приведённых ниже, устанавливаются параметры временной зоны и синхронизации времени, начальный порт для RTP и включается сетевой мост между WAN и LAN разъемами аппарата.
Все остальные настройки останутся «по умолчанию». Теперь любой телефон Dlink, подключённый к сети, сразу примет общий для всех набор параметров. Чтобы задать индивидуальные параметры для аппарата нужен отдельный файл. В нем нужно только указать необходимые настройки для отдельного абонента.
Panasonic UT-KX123B
Эти аппараты получают настройки по несколько иной схеме. Конфигурация хранится в текстовых файлах. Максимальный размер конфигурационного файла составляет 120 КБ. Независимо от количества файлов общий их размер не должен превышать 120 КБ.
Конфигурационный файл состоит из набора строк, на которые накладываются указанные ниже условия:
Такой серьёзный набор требований к конфигурационному файлу меня, откровенно говоря, огорчил. На мой взгляд, реализация взаимодействия с сервером управления у телефонов Panasonic сделана чрезвычайно неудобно. По этому параметру телефон значительно уступает остальным.
При первом включении аппарата (или после сброса на заводские настройки) он пытается загрузить так называемый файл продукта (в данном случае это KX-UT123RU.cfg), в котором должны содержаться пути к остальным файлам конфигурации.
CFG_STANDARD_FILE_PATH=«tftp://10.1.1.50/panasonic/.cfg»
CFG_PRODUCT_FILE_PATH=«tftp://10.1.1.50/panasonic/KX-UT123RU.cfg»
CFG_MASTER_FILE_PATH=«tftp://10.1.1.50/panasonic/master.cfg»
В файле master.cfg рекомендуется указывать общие настройки для всех телефонов. Как и в случае с Dlink, я укажу только некоторые параметры. Имена остальных параметров и их значения можно найти в документации на сайте производителя.
PHONE_NUMBER_1=«168»
SIP_URI_1=«168»
LINE_ENABLE_1=«Enabled»
PROFILE_ENABLE_1=«Enabled»
SIP_AUTHID_1=«168»
SIP_PASS_1=«SIP_PWD»
Grandstream GXP-1400
В случае, если настройки представлены в формате xml, они должны быть вложены в узел , который в свою очередь должен быть вложен в . Все параметры записываются в виде соответствующих тегов со значением параметра внутри.
Yealink T19 и T21
Аппараты этих моделей поддерживают индивидуальные конфигурационные файлы для устройств и общие для моделей. В моём случае, мне пришлось общие параметры разместить в файлах y000000000031.cfg и y000000000034.cfg соответственно. Индивидуальные конфигурационные файлы именуются в соответствии с MAC-адресом: 00112233aabb.cfg.
В итоге, благодаря замечательной функции auto-provision, предусмотренной в упомянутых мной телефонах, с подключением к сети новых аппаратов не возникло никаких проблем. Всё свелось к выяснению MAC-адреса телефона и генерации конфигурационного файла по шаблону.
В одной из статей опубликованных на данном сайте ранее было рассказано о настройке DHCP-сервера для автоконфигурирования телефонов. (Ознакомиться с ней можно здесь). В данной статье попробуем прикрутить к серверу DHCP возможность выдачи пула ip-адресов в зависимости от производителя устройства. Настройку рассмотрим на примере операционной системы CentOS.
Для реализации данного функционала используется опция 60 DHCP-сервера. В синтаксисе DHCP данная апция носит намименование «option vendor-class-identifier».
Как известно большинство сетевых устройств при обращении к серверу dhcp наряду с MAC-адресами передает и строку характеризующую вендора. Т.е. если вы не совсем уверены как Ваше устройство передает данные о своем производителе, то возможно уточнить его, сделав захват пакетов каким-либо сетевым снифером, например Wireshark’ом.
Рассмотрим настройку DHCP на примере:
option boot-server code 66 = string;
class «cisco» match if substring (option vendor-class-identifier, 0, 5) = «Cisco»;
>
class «yealink» match if
substring (option vendor-class-identifier, 0, 4) = «A580» or
substring (option vendor-class-identifier, 0, 5) = «udhcp» or
substring (option vendor-class-identifier, 0, 10) = «yealink» or
substring (option vendor-class-identifier, 0, 4) = «00006=»;
>
subnet 192.168.180.0 netmask 255.255.255.0 option routers 192.168.180.1;
Вначале определяем классы устройств и указываем строки с указанием типа вендора, которые данные устройства посылают серверу dhcp. Если данные строки совпадают с указанными в определенном классе, то устройство будет занесено в данный класс:
class «cisco» match if substring (option vendor-class-identifier, 0, 5) = «Cisco»;
>
В данном примере устройство попадает в класс, определенный как «cisco», если возвращаемая ими строка с нулевой позиции и равная пяти символам равна «Cisco».
Далее определяем пул адресов для каждого созданного нами класса. И конечно не забываем указать устройства не попадающие в какой-либо из определенных нами классов, например:
pool range 192.168.180.205 192.168.180.215;
allow unknown-clients;
>
Также возможно указать не только строку идентификатор вендора, но и по трем начальным байтам MAC-адреса устройства. Но в данном подходе неудобно то, что если используются, например, телефоны фирмы Cisco, то у данных устройств довольно много типов MAC-адресов и если в компании парк телефонов обширен, то можно не учесть все варианты MAC-адресов. В данном случае более корректно использовать vendor-class-identifier.
Работая с программой Cisco Packet Tracer, часто замечал в ней различные телефонные устройства, а также ПО на клиентских устройствах, при помощи которого, можно организовывать телефонные звонки. В связи с этим, возникла идея смакетировать сеть, состоящую из всех устройств данного симулятора (cisco packet tracer 6.2), которые могут звонить и принимать звонки. При написании данной статьи, возник вопрос: «Можно ли подготовиться к экзамену CCNA Voice, при помощи данной программы?». И на этот вопрос, я постараюсь ответить в данной статье.
Используемые устройства:
1) Маршрутизатор 2811 (он будет являться DHCP сервером, VoIP шлюзом и TFTP сервером)
2) Коммутатор 2960 (в него будут подключены все устройства)
3) Аналоговый телефон (который будет подключен к коммутатору через шлюз)
4) IP телефон 7960
5) Клиентский компьютер (который будет работать, при помощи ПО Cisco IP Communicator)
6) Wi-Fi точка (она нужна для подключения к сети беспроводных устройств)
7) Ноутбук, планшетный компьютер и смартфон (данные устройства будут подключаться к Wi-Fi точке и работать через CIPC)
Далее понадобятся мак адреса всех устройств. Для компьютеров и других устройств (не телефонов), есть несколько способов узнать мак адрес. Например зайти в командную строку устройства и набрать ipconfig /all или зайти на вкладку config и скопировать в буфер мак адрес соответствующего интерфейса.
Для телефонов, я нашел только один способ — это навести мышкой на устройство и запомнить его мак (если кто знает еще способ, буду рад узнать).
Настроим роутер:
1) Повесим ip адрес на интерфейс (он будет являться шлюзом)
2) Дальше будем поднимать DHCP, поэтому заранее исключим из выдачи адрес, висящем на нашем интерфейсе
3) Поднимем DHCP
4) Поднимем телефонный сервис и настроим на нем кол-во телефонов и кол-во линий (несмотря на то, что устройств у нас 6, укажем количество с запасом)
5) Теперь настроим линии
6) Теперь создадим телефоны и привяжем определенный номер к мак адресу телефона
Настроим коммутатор:
1) Переведем 4 порта коммутатора, которые смотрят на наши устройства в голосовой влан
Настроим VoIP шлюз аналогового телефона:
Так как данный аналоговый телефон не умеет работать с IP адресами, но ему надо получить номер, он подключается к сети при помощи шлюза. Для корректной работы, шлюзу нужно прописать адрес сервера, куда обращаться.
"
Настройка Wi-Fi
Так как на данных переносных устройствах нету ethernet портов, то работать они будут при помощи wi-fi точки, соединенной с общей сеткой. Подключаем точку к коммутатору и заходим в ее настройки.
Кликаем по вкладке Config -> Port 1 и настраиваем (в целом можно оставить название Default и без пароля):
Теперь вводим эти данные на устройствах, которые будут подключаться по wi-fi. Например настроим wi-fi на смартфоне. Кликаем по вкладке Config -> Wireless0 и настраиваем. Убедитесь, что галочка напротив port status стоит в положение On, и в поле IP Configuration выбрано DHCP.
Получение адресов и настройка CIPC на устройствах:
На данном этапе телефоны уже должны зарегистрироваться и получить номера (во вкладке GUI, в правом верхнем углу должен появиться номер полученного телефона).
IP телефон 7960:
Перейдем к компьютеру и другим устройствам.После того как все устройства получат IP адреса, переходим на вкладку Desktop и выберем Cisco IP Communicator. После этого в правом верхнем углу видим, что номер присвоен (лично у меня номер не присваивался до момента, пока не запустишь сам CIPC. То ли это глюк самого симулятора, то ли Cisco хотела имитировать, что номер присваивается после запуска клиента)
Но в целом картинка такая:
Как видим, все устройства получили номера, согласно резервациям на маршрутизаторе.
Проверка работоспособности:
Остался финальный этап, в виде организации телефонного звонка и соединения. Но проверять все 6 устройств и звонки с каждого на каждый нецелесообразно, так как получится целый диафильм. Поэтому организуем звонок с планшетного компьютера на обычный аналоговый телефон и наоборот, а также с аналогового телефона на ip телефон и обратно.
Звонок с планшета на аналоговый телефон (с номера 101 на 105):
Звонок с аналогового телефона на планшет (с номера 105 на 101):
Звонок с аналогового телефона на IP телефон (с номера 101 на 102), причем здесь трубка специально поднята для демонстрации, что соединение установлено и возможен разговор.
Звонок с IP телефона на аналоговый телефон (с номера 102 на 101):
Тем самым организовали телефонное соединение, как схожих по структуре устройств, так и совершенно разных по своей архитектуре аппаратно и программно.
P.S. И вот мы подошли к концу и остается ответить на вопрос, заданный в начале: «Можно ли подготовиться к экзамену CCNA Voice, при помощи данной программы?».
Постараюсь ответить немного развернуто. Пока писал данную статью, немного разочаровался. Так как в данном симуляторе присутствует только один роутер, на котором можно поднять CME и организовать телефонию- это 2811. Вдобавок к этому, функциональность данного роутера урезана донельзя, соответственно макетировать тут можно только самые базовые вещи. Говорить о телефонах думаю нет смысла. Ну а если говорить о самой программе Cisco IP Communicator, то здесь она не больше чем картинка с парой кнопок. Соответственно считаю, что для подготовки к экзамену, опыта, полученного в данном симуляторе, будет явно недостаточно и придется использовать более мощные инструменты. Но для базового ознакомления с тем, как работает цисковская телефония, она справляется.
В связи с этим в дальнейшем планирую выпустить урок по Cisco Call Manager или CUCM, а также более детально разобрать функционал программы CIPC.
3. Прописывание опции 66 на CentOS 5.8
Настройки DHCP в ОС CentOS 5.8 производятся в файле /etc/dhcpd.conf.
Рассмотрим случай когда наш сервер Asterisk является одновременно DHCP и TFTP сервером
Открываем файл любым редактором, например, для mcedit в командной строке выполнить:
Следует обратить внимание: так как опция 66 прописана как строковый тип, то IP-адрес берется в кавычки. Если же опция указана как числовая, то IP-адрес указывается без кавычек.
Например:
option opt66 code 66 = string;
option opt66 «192 .168.1.1»;
option opt66 code 66 = ip-address;
option opt66 192.168.1.1;
Примерный вид файла dhcpd.conf:
Читайте также: