Меню

gentoo настройка dhcp сервера

dhcp-сервер на linux gentoo

Автор Гапон Анатолий создана 04. May, 2012 категория Other, Linux

Во многом настройка dhcp-сервера на операционной системе gentoo не отличается от других linux-систем , но все таки ниже будет приведен пример конфигурации, однозначно работающий именно на этой OS.
Итак, что такое dhcp , это протокол динамической конфигурации узла, позволяющий компьютерам автоматически (Динамически) получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP . Данный протокол работает по модели «клиент-сервер» и использует два порта udp 67 и udp 68 для сервера и клиента соответственно.
И так , для установки и настройки принимаем следующие действия :
Установка
В консоли пишем :

После чего можно сразу приступать к настройке .
Конфигурационные файлы расположены в папке /etc/dhcp
Правим dhcpd.conf :

Данная конфигурация также настроена для загрузки по сети тонких клиентов, в комментариях отмечено, какие именно. Настройки для тонких клиентов ни каким образом не влияют на работу dhcp-server .

# Название интерфейса, смотрящего в локальную сеть

option domain-name «netconfig»;

# опционально, указываем имя домена

option domain-name-servers 192.168.28.1;

# указываем dns-server, можно несколько

# указываем сроки аренды адресов

# запретим автоматически обновлять DNS записи

# включаем логирование демона

#сообщает серверу обрабатывать ли запрос конкретного клиента(для загрузки тонких клиентов, опционально)

# разрешает обрабатывать запросы bootp

subnet 192.168.1.0 netmask 255.255.255.0 <

# указываем сеть , с которой раздаются адреса

range 192.168.1.100 192.168.1.150;

# указываем диапазон раздаваемых адресов

option subnet-mask 255.255.255.0;

# маска сети, передаваемая клиенту

option broadcast-address 192.168.1.255;

# широковещательный адрес, передаваемый клиенту

# маршрут по умолчанию , передаваемый клиенту

# tftp-server для загрузки тонких клиентов (опционально)

# файл для загрузки тонких клиентов (опционально)
Пример резервирования адреса

Проверим на работоспособность нашу конфигурацию , запустив демон dhcpd :

В случае проблем смотрим логи в /var/log
И последняя стадия – это добавление демона в автозагрузку :

источник

Gentoo настройка dhcp сервера

В документе предполагается, что вы правильно сконфигурировали свое ядро и модули для оборудования, и вам известно интерфейсное имя устройств. Мы также предполагаем, что вы настраиваете eth0 , хотя на самом деле это может оказаться eth1 , wlan0 и т.д.

Примечание

Требуется, чтобы у вас использовался baselayout-1.11.11 или более свежий.

Для начала настройки своей сетевой платы, нужно рассказать о ней системе Gentoo RC. Это делается созданием символической ссылки с net.lo на net.eth0 в /etc/init.d .

Листинг 269. Создание символической ссылки с net.lo на net.eth0

Теперь система Gentoo RC знает об этом интерфейсе. Ей также нужно знать, как настраивать новый интерфейс. Конфигурация всех сетевых интерфейсов находится в /etc/conf.d/net . Вот простая настройка для использования DHCP или статического адреса.

Листинг 270. Примеры для /etc/conf.d/net

Примечание

Если конфигурация для интерфейса не указывается, предполагается использование DHCP.

Примечание

CIDR расшифровывается как Classless InterDomain Routing (бесклассовая междоменная маршрутизация). Первоначально, адреса IPv4 были разделены на классы A, B и C. Ранняя система классификации не была рассчитана на массовую популярность интернета, и попала под угрозу исчерпания новых уникальных адресов. CIDR — это схема адресации, позволяющая одному IP-адресу обозначать множество IP-адресов. IP-адрес CIDR выглядит как обычный IP-адрес с добавлением косой черты и числа; например, 192.168.0.0/16. CIDR описывается в RFC 1519.

Теперь, настроив интерфейс, мы можем запускать и останавливать его следующими командами:

Листинг 271. Сценарии запуска и остановки сети

Важно

При поиске неисправностей сети рекомендуется установить RC_VERBOSE=»yes» в /etc/conf.d/rc для получения более подробной информации о происходящем.

Теперь, успешно запустив и остановив сетевой интерфейс, вы можете захотеть, чтобы он запускался при каждой загрузке Gentoo. Вот как это сделать. Последняя команда «rc» указывает Gentoo, что нужно запускать в текущем уровне запуска любые еще не запущенные сценарии.

Листинг 272. Настройка запуска сетевого интерфейса при загрузке

4.2. Расширенная настройка

4.2.1. Расширенная настройка

Переменная config_eth0 служит основой конфигурации интерфейса. Она содержит список высокоуровневых инструкций по настройке интерфейса (в данном случае, eth0). Все команды списка выполняются последовательно. Интерфейс считается работоспособным, если хотя бы одна команда выполнена успешно.

Вот список встроенных инструкций:

Не выполнять никаких действий

Если интерфейс включен и существует адрес, успешно завершить настройку.

Добавить адрес к интерфейсу

dhcp, adsl or apipa(или команда запуска модуля стороннего изготовителя)

Запустить модуль, реализующий команду. Например, dhcp запускает модуль, реализующий команду. Например, dhcp запускает модуль, реализующий DHCP, которым может быть dhcpcd, udhcpc, dhclient или pump.

На случай неудачного выполнения команды можно указать запасную команду. Запасной вариант должен строго соответствовать структуре конфигурации.

Команды можно сцеплять. Вот несколько практических примеров.

Листинг 273. Примеры настройки

Примечание

При использовании модуля ifconfig для назначения нескольких адресов, для каждого дополнительного адреса создаются псевдонимы интерфейса. Так, в двух примерах, приведенных выше, создаются интерфейсы eth0, eth0:1 и eth0:2. С этими интерфейсами нельзя сделать ничего особенного, так как и ядро, и другие программы обрабатывают eth0:1 и eth0:2 просто как eth0.

Читайте также:  tp link wn350gd настройка

Важно

Порядок настройки запасного режима имеет значение! Если бы мы не указали инструкцию null, то команда apipa запускалась бы только при неудачном выполнении команды noop.

Примечание

APIPA и DHCP обсуждаются позже.

4.2.2. Сетевые зависимости

Сценарии инициализации в /etc/init.d могут находиться в зависимости от определенного сетевого интерфейса или просто от службы сети (net). Определив переменную RC_NET_STRICT_CHECKING в /etc/conf.d/rc , службе net можно придать различный смысл.

Служба net считается всегда работающей

В основном это означает, что по крайней мере одна служба net.*, кроме net.lo, должна работать. Это может пригодиться пользователям ноутбуков, у которых есть WIFI и статическое проводное подключение, когда нужно, чтобы при включении хотя бы одного интерфейса служба сети выглядела включенной.

То же, что и no, но с учетом net.lo. Может быть полезно для тех, кого не волнует, чтобы определенный интерфейс включался при загрузке.

В этом случае ВСЕ сетевые интерфейсы ДОЛЖНЫ работать, чтобы служба net считалась работающей.

Но как насчет net.br0, зависимого от net.eth0 и net.eth1? net.eth1 может быть беспроводным или РРР-устройством, требующим предварительной настройки для возможности включения в мост. Это невозможно сделать в /etc/init.d/net.br0 , так как он является символьной ссылкой на net.lo.

Ответом является создание своей собственной функции depend() в /etc/conf.d/net .

Листинг 274. Зависимость net.br0 в /etc/conf.d/net

Более подробно зависимости обсуждаются в разделе Написание сценариев инициализации Настольной книги Gentoo.

4.2.3. Имена и значения переменных

Имена переменных являются динамическими. Обычно они следуют структуре variable_$ . Например, значение переменной dhcpcd_eth0 хранит параметры dhcpcd для eth0, а переменной dhcpcd_essid — параметры dhcpcd, используемые при подключении любого интерфейса к ESSID «essid».

Однако, не существует твердого простого правила, устанавливающего, что интерфейсы должны называться ethx. На деле, имена многих беспроводных выглядят как wlanx, rax и ethx. Кроме того, некоторые пользовательские интерфейсы, например, мосты, можно называть как угодно, например, foo. Для пущего разнообразия, в именах беспроводных точек доступа также допускаются знаки, не входящие в алфавитно-цифровые; это имеет значение, потому что есть возможность настройки сетевых параметров для отдельных ESSID.

Оборотная сторона всего этого в том, что для настройки сети в Gentoo используются переменные bash, а bash не в состоянии использовать что-либо кроме знаков английского алфавита и цифр. Чтобы обойти такое ограничение, мы заменяем каждый символ, не являющийся английским буквенно-цифровым, на знак подчеркивания: _.

Другая особенность bash — это значения переменных: некоторые символы требуют специальной записи, перед ними помещается знак \. Им необходимо предварять следующие символы: «, ‘ и \.

В следующем примере мы используем беспроводные ESSID, так как в них может содержаться самое широкое множество символов. Мы воспользуемся ESSID My «\ NET:

Листинг 275. Пример имени переменной

4.3. Модульное построение сети

4.3.1. Сетевые модули

Сейчас мы поддерживаем модульные сетевые сценарии. Это значит, что мы можем легко добавлять поддержку для новых типов интерфейсов и конфигурационных модулей, сохраняя совместимость с существующими.

По умолчанию, модули загружаются только если пакет, нужный им, установлен. Если отметить модуль, для которого не установлен пакет, будет выдана ошибка с указанием, какой пакет нужно установить. В идеале, настройка модулей требуется только тогда, когда установленно несколько пакетов, представляющих одну и ту же службу, а вам установить приоритет одного из них.

Примечание

Все обсуждаемые значения хранятся в /etc/conf.d/net , если явно не указано иное.

Листинг 276. Предпочтение модуля

4.3.2. Обработчики интерфейса

Сейчас мы предоставляем два обработчика интерфейса: ifconfig и iproute2. Для настройки сети вам нужен только один из них.

ifconfig в текущем Gentoo используется по умолчанию, и включен в системный профиль.

iproute2 — более мощный и гибкий пакет, который не включен в системный профиль по умолчанию.

Листинг 277. Установка iproute2

Так как и ifconfig и iproute2 делают очень сходные вещи, то мы сделали их базовую настройку взаимозаменяемой. Например, оба приведенных ниже примера работают не зависимо от того, какой модуль используется.

Листинг 278. Примеры ifconfig и iproute2

источник

Настройка сети

Contents

Автоматическое определение параметров сети

Может быть, всё уже работает?

Если система подключена к сети Ethernet, в которой есть DHCP-сервер, весьма вероятно, что конфигурация сетевых настроек уже была выполнена автоматически. Если это так, то различные сетевые команды с установочного компакт-диска (например: ssh , scp , ping , irssi , wget , links и многие другие) сразу же будут работать.

Определение имен сетевых интерфейсов

Команда ifconfig

Если сеть была настроена, команда ifconfig должна отобразить один или более сетевых интерфейсов (кроме lo ). В примере ниже показан eth0 :

В результате перехода на предсказуемые имена для сетевых интерфейсов название интерфейса может отличаться от старого eth0 соглашения о именовании. В последних установочных носителях сетевые интерфейсы могут отображаться по-другому, например eno0 , ens1 или enp5s0 . Поищите интерфейс в выводе команды ifconfig IP-адрес которого связан с локальной сетью.

Читайте также:  где искать настройки камеры

Команда ip

В качестве альтернативы ifconfig , команда ip может быть использована для определения сетевых интерфейсов. В следующем примере показан вывод ip addr (вывод с другой системы, так что показанная информация, отличается от предыдущего примера):

Вывод выше, может быть немного сложен для чтения, чем вывод других команд. В приведенном выше примере, имя интерфейса следует непосредственно после номера; это eno1 .

В оставшейся части Handbook будет считаться, что рабочий сетевой интерфейс называется eth0 .

Дополнительно: настройка прокси

Если доступ к Интернету осуществляется через прокси-сервер, необходимо указать настройки прокси во время установки. Указать прокси очень просто: просто определите переменную, содержащую информацию о прокси-сервере.

В большинстве случаев, достаточно указать переменные с использованием имени сервера. В этом примере мы предположим, что прокси-сервер называется proxy.gentoo.org и порт — 8080.

Чтобы настроить HTTP-прокси (для HTTP- и HTTPS-трафика):

Чтобы настроить FTP-прокси:

Чтобы настроить RSYNC-прокси:

Если для прокси требуется имя пользователя и пароль, используйте следующий синтаксис в переменной:

Тестирование сети

Попробуйте проверить DNS-сервер своего провайдера (его адрес можно найти в /etc/resolv.conf ) и любой веб-сайт. Эта проверка покажет, что сеть функционирует в полном объеме, и сетевые пакеты достигают сети, разрешение имён работает правильно и так далее.

Если всё работает правильно, то оставшуюся часть главы можно пропустить и перейти сразу к следующему шагу (подготовка дисков).

Автоматическая конфигурация сети

Если сеть не работает с первого раза, то в некоторых установочных носителях есть утилиты net-setup (для обычных и беспроводных сетей), pppoe-setup (для пользователей ADSL) или pptp (для пользователей PPTP).

Если же в установочном носителе нет этих утилит, продолжайте чтение в ручной конфигурации сети.

  • Пользователям обычной сети Ethernet следует продолжить чтение в разделе По умолчанию: использование net-setup
  • Пользователям ADSL следует продолжить чтение в разделе Альтернатива: использование PPP
  • Пользователям PPTP следует продолжить чтение в разделе Альтернатива: использование PPTP

По умолчанию: использование net-setup

Простейшим способом настроить сеть (если она еще не была настроена автоматически) является запуск скрипта net-setup :

net-setup задаст несколько вопросов о сетевом окружении. Когда всё будет готово, сетевое подключение должно работать. Проверьте подключение, как это было показано выше. Если все проверки успешны, поздравляем! Пропустите оставшуюся часть раздела и продолжайте чтение в подготовка дисков.

Если сеть всё равно не работает, продолжайте чтение в ручной конфигурации сети.

Альтернатива: использование PPP

Предполагая, что PPPoE необходим для подключения к Интернету, установочный CD (любой версии) сделан так, чтобы его легко было использовать, включая ppp. Используйте скрипт pppoe-setup для настройки подключения. Во время установки будет запрошено устройство Ethernet, к которому подключен ваш ADSL-модем, имя и пароль, IP-адреса ДНС-серверов и, если требуется, базовая настройка брандмауэра.

Если что то не так, то повторно проверьте правильность имени и пароля в файлах etc/ppp/pap-secrets или /etc/ppp/chap-secrets и убедитесь, что используете правильное устройство Ethernet. Если Ethernet устройство не создано, то проверьте, загружены ли необходимые сетевые модули. В этом случае перейдите к Ручной конфигурации сети, чтобы понять как загрузить соответствующие сетевые модули.

Если все работает, то продолжайте чтение в Подготовка дисков.

Альтернатива: использование PPTP

Если необходима поддержка PPTP, используйте скрипт pptpclient с установочного CD. Но сначала убедитесь, что конфигурация правильная. Отредактируйте /etc/ppp/pap-secrets или /etc/ppp/chap-secrets так, что бы в них была правильная комбинация имени и пароля:

При необходимости проверьте /etc/ppp/options.pptp :

Когда все будет сделано, запустите pptp (вместе с параметрами, которые могут быть установлены в options.pptp ) для подключения к серверу:

Ручная конфигурация сети

Загрузка сетевых модулей

При загрузке с установочного CD он пытается обнаружить все аппаратные устройства и загрузить подходящие модули ядра (драйверы) для их поддержки. В подавляющем большинстве случаев этого достаточно. Тем не менее, в некоторых случаях, это может не сработать — необходимые модули не загрузятся.

Если net-setup или pppoe-setup не помогли, то возможно, что сетевая карта не была найдена. Это означает, что возможно придется загрузить соответствующие модули ядра вручную.

Чтобы узнать, какие есть модули ядра для сетей, используйте команду ls :

Если драйвер сетевого устройства присутствует, то для его загрузки используйте modprobe . Например для загрузки модуля pcnet32 :

Чтобы проверить, определилась ли сетевая карта, наберите ifconfig . Если сетевая карта определилась, то результат будет выглядеть так (опять же, eth0 это только пример):

Если показано сообщение об ошибке, то сетевая карта не определена:

Имена доступных сетевых интерфейсов в системе можно увидеть через файловую систему /sys :

В примере выше найдено 6 интерфейсов. eth0 скорее всего (проводной) Ethernet адаптер, а wlan0 — беспроводной.

Предполагаем, что сетевая карта была обнаружена, повторите net-setup или pppoe-setup снова (скорее всего они будут работать), но, для тех кто хочет сделать все сам, мы опишем, как настроить сеть вручную.

Читайте также:  настройка addpac ap200 для sipnet

Выберите один из следующих разделов, в зависимости от настроек сети:

  • Использование DHCP для автоматической настройки IP
  • Подготовка беспроводного доступа если используется беспроводная сеть
  • Сетевая терминология объясняет основы о сети
  • Использование ifconfig и route объясняет, как настроить сеть вручную

Использование DHCP

DHCP (Dynamic Host Configuration Protocol, протокол динамической настройки хоста) позволяет автоматически получать данные о сети (IP-адрес, маску сети, широковещательный адрес, шлюз, сервера имен и т.д.). Это работает, только если DHCP-сервер находится в сети (или, если поставщик услуг Интернета предоставляет службы DHCP). Чтобы сетевой интерфейс получал эти сведения автоматически, используйте dhcpcd :

Некоторые сетевые администраторы требуют, чтобы имя хоста и домена, назначенное сервером DHCP использовались в системе. В этом случае, используйте:

Если это сработало (попробуйте попинговать сервер в интеренете, например Google 8.8.8.8 или Cloudflare 1.1.1.1), то все установлено и можно проложать. Пропустите оставшуюся часть раздела и приступайте к Подготовке дисков.

Подготовка беспроводного доступа

При использовании беспроводных (802.11) карт, их настройка должны быть сделана прежде, чем идти дальше. Чтобы увидеть текущие настройки карты, можно использовать iw . Запуск iw может показать что-то вроде:

Чтобы проверить текущее подключение:

Для большинства пользователей, для подключения необходимо только два параметра. ESSID (название беспроводной сети) и, возможно, ключ WEP.

  • Сперва удостоверьтесь, что интерфейс включен:

Для подтверждения беспроводных настроек используйте iw dev wlp9s0 link . Как только беспроводная сеть заработает, продолжите настройку сетевых параметров уровня IP, как описано в следующем разделе (Сетевая терминология) или используя инструмент net-setup , как описано ранее.

Сетевая терминология

Если выше перечисленные попытки были неудачными, то необходимо настроить сеть вручную. Это совсем не трудно. Все же, некоторые знания в области сетевой терминологии и основных понятий может быть необходимо. После прочтения этого раздела, пользователи будут знать, что такое шлюз, зачем нужна сетевая маска, как формируется широковещательный адрес и почему системе нужны серверы имен.

В сети, хосты идентифицируются по их IP-адресам (Internet Protocol адрес). Такой адрес воспринимается как сочетание четырех чисел от 0 до 255. По крайней мере, при использовании IPv4 (IP версии 4). В действительности IPv4-адрес состоит из 32 бит (единиц и нулей). Давайте рассмотрим пример:

Такой IP-адрес уникален для узла в рамках всех доступных сетей (то есть каждый узел, который хочет быть в состоянии связываться, должен иметь уникальный IP-адрес). Для того, чтобы различать узлы, находящиеся внутри и извне сети, IP-адрес состоит из двух частей: сетевой части и части хоста.

Разделение записывается с помощью маски сети, набор единиц и следующих за ними набор нулей. Часть IP адреса, которая может быть отображена на единицы является сетевой частью, другая часть хоста. Обычно, маска сети записываться в виде IP-адреса.

Другими словами, 192.168.0.14 является частью сети, однако 192.168.1.2 таковым не является.

Широковещательный адрес — это IP-адрес у которого сетевая часть такая же, как у сети, а в хост часть записаны единицы. Каждый хост в сети слушает этот IP-адрес. Он предназначен для широковещательной рассылки пакетов.

Чтобы иметь возможность путешествовать по Интернету, каждый компьютер в сети должен знать, через какой узел происходит подключение к интернету. Этот узел называется шлюзом. Так как это обычный узел, у него есть обычный IP-адрес (например 192.168.0.1).

Ранее мы говорили, что каждый хост имеет свой собственный IP адрес. Для того, чтобы связываться с узлом по имени (вместо IP адреса) нам нужен сервис, который переводит имя (например, dev.gentoo.org) в IP адрес (например, 64.5.62.82). Такая услуга называется служба имен . Чтобы использовать такую услугу, необходимо, чтобы сервера имен были определены в /etc/resolv.conf .

В некоторых случаях, шлюз также служит в качестве сервера имен. В противном случае сервера имен, предоставляемые провайдером должны быть введены в этом файле.

Подведем итог, следующая информация необходима для продолжения:

Сетевой параметр Пример
Системный адрес IP 192.168.0.2
Сетевая маска 255.255.255.0
Широковещательный адрес 192.168.0.255
Шлюз 192.168.0.1
Сервер(а) имен 195.130.130.5, 195.130.130.133

Использование ifconfig и route

Настройка сети состоит из следующих шагов:

  1. Привязка IP-адреса, используя ifconfig
  2. Настройка маршрутизации, используя route
  3. Закончивается путем размещения IP-адресов серверов имен в /etc/resolv.conf

Чтобы назначить IP-адрес необходимо сам IP-адрес, широковещательный адрес и маска сети. Выполните следующую команду, заменив $ на правильный IP-адрес, $ на широковещательный адрес и $ на маску сети:

Настройте маршрут, используя route . Подставьте вместо $ IP-адрес шлюза:

Заполните сервера имен, используя следующее в качестве шаблона. Убедитесь, что заменили $ и $ на соответствующие адреса серверов:

Вот и все. Теперь проверьте сеть, сделав пинг сервера в интернете (например Google 8.8.8.8 или Cloudflare 1.1.1.1). Если все работает, то поздравляем. Продолжайте чтение в Подготовка дисков.

источник

Добавить комментарий

Adblock
detector