По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Почитать лекцию №16 про модель сети Министерства обороны США (DoD) можно тут. В 1960-х годах, вплоть до 1980-х годов, основной формой связи была коммутируемая схема; отправитель просил сетевой элемент (коммутатор) подключить его к определенному приемнику, коммутатор завершал соединение (если приемник не был занят), и трафик передавался по результирующей схеме. Если это звучит как традиционная телефонная система, то это потому, что на самом деле она основана на традиционной сетевой системе (теперь называемой обычной старой телефонной службой [POTS]). Крупные телефонные и компьютерные компании были глубоко инвестированы в эту модель и получали большой доход от систем, разработанных вокруг методов коммутации цепей. По мере того, как модель DoD (и ее набор сопутствующих протоколов и концепций) начали завоевывать популярность у исследователей, эти сотрудники решили создать новую организацию по стандартизации, которая, в свою очередь, построит альтернативную систему, обеспечивающую "лучшее из обоих миров". Они будут включать в себя лучшие элементы коммутации пакетов, сохраняя при этом лучшие элементы коммутации каналов, создавая новый стандарт, который удовлетворит всех. В 1977 году эта новая организация по стандартизации была предложена и принята в качестве International Organization for Standardizatio (ISO). Основная цель состояла в том, чтобы обеспечить взаимодействие между крупными системами баз данных, доминировавшими в конце 1970-х гг. Комитет был разделен между инженерами связи и контингентом баз данных, что усложнило стандарты. Разработанные протоколы должны были обеспечить как ориентированное на соединение, так и бесконтактное управление сеансами, а также изобрести весь набор приложений для создания электронной почты, передачи файлов и многих других приложений (помните, что приложения являются частью стека). Например, необходимо было кодифицировать различные виды транспорта для транспортировки широкого спектра услуг. В 1989 году-целых десять лет спустя-спецификации еще не были полностью выполнены. Протокол не получил широкого распространения, хотя многие правительства, крупные производители компьютеров и телекоммуникационные компании поддерживали его через стек и модель протокола DoD. Но в течение десяти лет стек DoD продолжал развиваться; была сформирована Инженерная рабочая группа по разработке Интернету (Engineering Task Force -IETF) для поддержки стека протоколов TCP/IP, главным образом для исследователей и университетов (Интернет, как тогда было известно, не допускал коммерческого трафика и не будет до 1992 года). С отказом протоколов OSI материализоваться многие коммерческие сети и сетевое оборудование обратились к пакету протоколов TCP/IP для решения реальных проблем "прямо сейчас". Кроме того, поскольку разработка стека протоколов TCP/IP оплачивалась по грантам правительства США, спецификации были бесплатными. На самом деле существовали реализации TCP/IP, написанные для широкого спектра систем, доступных благодаря работе университетов и аспирантов, которые нуждались в реализации для своих исследовательских усилий. Однако спецификации OSI могли быть приобретены только в бумажном виде у самой ISO и только членами ISO. ISO был разработан, чтобы быть клубом "только для членов", предназначенным для того, чтобы держать должностных лиц под контролем развития технологии коммутации пакетов. Однако принцип "только члены" организации работал против должностных лиц, что в конечном счете сыграло свою роль в их упадке. Однако модель OSI внесла большой вклад в развитие сетей; например, пристальное внимание, уделяемое качеству обслуживания (QoS) и вопросам маршрутизации, принесло дивиденды в последующие годы. Одним из важных вкладов стала концепция четкой модульности; сложность соединения многих различных систем с множеством различных требований побудила сообщество OSI призвать к четким линиям ответственности и четко определенным интерфейсам между слоями. Второй - это концепция межмашинного взаимодействия. Средние блоки, называемые затем шлюзами, теперь называемые маршрутизаторами и коммутаторами, явно рассматривались как часть сетевой модели, как показано на рисунке 3. Гениальность моделирования сети таким образом заключается в том, что она делает взаимодействие между различными частями намного легче для понимания. Каждая пара слоев, перемещаясь вертикально по модели, взаимодействует через сокет или приложение. Programming Interface (API). Таким образом, чтобы подключиться к определенному физическому порту, часть кода на канальном уровне будет подключаться к сокету для этого порта. Это позволяет абстрагировать и стандартизировать взаимодействие между различными уровнями. Компонент программного обеспечения на сетевом уровне не должен знать, как обращаться с различными видами физических интерфейсов, только как получить данные для программного обеспечения канального уровня в той же системе. Каждый уровень имеет определенный набор функций для выполнения. Физический уровень, также называемый уровнем 1, отвечает за модулирование или сериализацию 0 и 1 на физическом канале. Каждый тип связи будет иметь различный формат для передачи сигналов 0 или 1; физический уровень отвечает за преобразование "0" и "1" в эти физические сигналы. Канальный уровень, также называемый уровнем 2, отвечает за то, чтобы некоторая передаваемая информация фактически отправлялась на нужный компьютер, подключенный к той же линии. Каждое устройство имеет свой адрес канала передачи данных (уровень 2), который можно использовать для отправки трафика на конкретное устройство. Уровень канала передачи данных предполагает, что каждый кадр в потоке информации отделен от всех других кадров в том же потоке, и обеспечивает связь только для устройств, подключенных через один физический канал. Сетевой уровень, также называемый уровнем 3, отвечает за передачу данных между системами, не связанными через единую физическую линию связи. Сетевой уровень, таким образом, предоставляет сетевые адреса (или Уровень 3), а не локальные адреса линий связи, а также предоставляет некоторые средства для обнаружения набора устройств и линий связи, которые должны быть пересечены, чтобы достичь этих пунктов назначения. Транспортный уровень, также называемый уровнем 4, отвечает за прозрачную передачу данных между различными устройствами. Протоколы транспортного уровня могут быть либо "надежными", что означает, что транспортный уровень будет повторно передавать данные, потерянные на каком-либо нижнем уровне, либо "ненадежными", что означает, что данные, потерянные на нижних уровнях, должны быть повторно переданы некоторым приложением более высокого уровня. Сеансовый уровень, также называемый уровнем 5, на самом деле не переносит данные, а скорее управляет соединениями между приложениями, работающими на двух разных компьютерах. Сеансовый уровень гарантирует, что тип данных, форма данных и надежность потока данных все представлены и учтены. Уровень представления, также называемый уровнем 6, фактически форматирует данные таким образом, чтобы приложение, работающее на двух устройствах, могло понимать и обрабатывать данные. Здесь происходит шифрование, управление потоком и любые другие манипуляции с данными, необходимые для обеспечения интерфейса между приложением и сетью. Приложения взаимодействуют с уровнем представления через сокеты. Уровень приложений, также называемый уровнем 7, обеспечивает интерфейс между пользователем и приложением, которое, в свою очередь, взаимодействует с сетью через уровень представления. Не только взаимодействие между слоями может быть точно описано в рамках семислойной модели, но и взаимодействие между параллельными слоями на нескольких компьютерах может быть точно описано. Можно сказать, что физический уровень на первом устройстве взаимодействует с физическим уровнем на втором устройстве, уровень канала передачи данных на первом устройстве с уровнем канала передачи данных на втором устройстве и так далее. Точно так же, как взаимодействие между двумя слоями на устройстве обрабатывается через сокеты, взаимодействие между параллельными слоями на разных устройствах обрабатывается через сетевые протоколы. Ethernet описывает передачу сигналов "0" и "1" на физический провод, формат для запуска и остановки кадра данных и средство адресации одного устройства среди всех устройств, подключенных к одному проводу. Таким образом, Ethernet попадает как в физический, так и в канальный уровни передачи данных (1 и 2) в модели OSI. IP описывает форматирование данных в пакеты, а также адресацию и другие средства, необходимые для отправки пакетов по нескольким каналам канального уровня, чтобы достичь устройства за несколько прыжков. Таким образом, IP попадает в сетевой уровень (3) модели OSI. TCP описывает настройку и обслуживание сеанса, повторную передачу данных и взаимодействие с приложениями. TCP затем попадает в транспортный и сеансовый уровни (4 и 5) модели OSI. Одним из наиболее запутанных моментов для администраторов, которые когда-либо сталкиваются только со стеком протоколов TCP/IP, является другой способ взаимодействия протоколов, разработанных в/для стека OSI, с устройствами. В TCP/IP адреса относятся к интерфейсам (а в мире сетей с большой степенью виртуализации несколько адресов могут относиться к одному интерфейсу, или к услуге anycast, или к multicast и т. д.). Однако в модели OSI каждое устройство имеет один адрес. Это означает, что протоколы в модели OSI часто называются типами устройств, для которых они предназначены. Например, протокол, несущий информацию о достижимости и топологии (или маршрутизации) через сеть, называется протоколом промежуточной системы (IS-IS), поскольку он работает между промежуточными системами. Существует также протокол, разработанный для того, чтобы промежуточные системы могли обнаруживать конечные системы; это называется протоколом End System to Intermediate System (ES-IS).
img
Основная цель TCP состоит в том, чтобы обеспечить транспортировать данные поверх IP. Как протокол более высокого уровня, он полагается на возможности адресации и мультиплексирования IPv6 для передачи информации на правильный хост назначения. По этой причине TCP не требует схемы адресации. Управление потоком TCP использует метод скользящего окна для управления потоком информации по каждому соединению между двумя хостами. Рисунок 1 демонстрирует это. На рисунке 1 предположим, что начальный размер окна установлен равным 20. Затем последовательность событий: В момент времени t1 отправитель передает 10 пакетов или октетов данных (в случае TCP это 10 октетов данных). В момент времени t2 получатель подтверждает эти 10 октетов, и для окна установлено значение 30. Это означает, что отправителю теперь разрешено отправлять еще до 30 октетов данных перед ожиданием следующего подтверждения; другими словами, отправитель может отправить до 40 октетов, прежде чем он должен будет дождаться подтверждения для отправки дополнительных данных. В момент времени t3 отправитель отправляет еще 5 октетов данных, номера 11–15. В момент времени t4 приемник подтверждает получение октетов через 15, и окно устанавливается на 40 октетов. В момент времени t5 отправитель отправляет около 20 октетов данных, пронумерованных 16–35. В момент времени t6 получатель подтверждает 35, и окно устанавливается на 50. Следует отметить несколько важных моментов, касающихся этой техники: Когда получатель подтверждает получение определенного фрагмента данных, он неявно также подтверждает получение всего, что было до этого фрагмента данных. Если приемник не отправляет подтверждение—к примеру , передатчик отправляет 16-35 в момент времени t5, а приемник не отправляет подтверждение—отправитель будет ждать некоторое время и считать, что данные никогда не поступали, поэтому он будет повторно отправлять данные. Если получатель подтверждает некоторые данные, переданные отправителем, но не все, отправитель предполагает, что некоторые данные отсутствуют, и ретранслирует с точки, которую подтвердил получатель. Например, если отправитель передал 16-35 в момент времени t6, а получатель подтвердил 30, отправитель должен повторно передать 30 и переслать. Окно устанавливается как для отправителя, так и для получателя Вместо использования номеров октетов TCP присваивает каждой передаче порядковый номер; когда приемник подтверждает определенный порядковый номер, передатчик предполагает, что приемник фактически получил все октеты информации вплоть порядкового номера передачи. Для TCP, таким образом, порядковый номер действует как своего рода “стенография” для набора октетов. Рисунок 2 демонстрирует это. На рисунке 2: В момент времени t1 отправитель объединяет октеты 1–10 и передает их, помечая их как порядковый номер 1. В момент времени t2 получатель подтверждает порядковый номер 1, неявно подтверждая получение октетов 1–10. В момент времени t3 отправитель связывает октеты 11–15 вместе и передает их, помечая их как порядковый номер 2. В момент времени t4 получатель подтверждает порядковый номер 2, неявно подтверждая октеты, отправленные через 15. В момент времени t5 предположим, что 10 октетов поместятся в один пакет; в этом случае отправитель отправит два пакета, один из которых содержит 16–25 с порядковым номером 3, а другой - октеты 26–35 с порядковым номером 4. В момент времени t6 приемник подтверждает порядковый номер 4, неявно подтверждая все ранее переданные данные. Что произойдет, если один пакет информации будет пропущен? Что делать, если первый пакет из потока в 100 пакетов не получен? Используя систему, описанную на рисунке 2, получатель просто не подтвердит этот первый пакет информации, вынуждая отправителя повторно передать данные через некоторое время. Однако это неэффективно; каждый потерянный пакет информации требует полной повторной отправки из этого пакета. Реализации TCP используют два разных способа, чтобы получатель мог запросить один пакет. Первый способ - тройное признание. Если получатель трижды подтверждает пакет, который предшествует последнему подтвержденному серийному номеру, отправитель предполагает, что получатель запрашивает повторную передачу пакета. Три повторных подтверждения используются для предотвращения неправильной доставки пакетов или отброшенных пакетов, вызывающих ложный запрос на повторную передачу. Второй способ заключается в реализации выборочных подтверждений (SACK).15 SACK добавляет новое поле к подтверждению TCP, которое позволяет получателю подтвердить получение определенного набора серийных номеров, а не предполагать, что подтверждение одного серийного номера также подтверждает каждый более низкий серийный номер. Как долго передатчик ждет перед повторной передачи? Первый способ, которым отправитель может обнаружить потерянный пакет - это время ожидания повторной передачи (RTO), которое рассчитывается как функция времени приема-передачи (RTT или rtt). Rtt — это временной интервал между передачей пакета отправителем и получением подтверждения от получателя. RTT измеряет задержку в сети от передатчика до приемника, время обработки в приемнике и задержку в сети от приемника до передатчика. Обратите внимание, что rtt может варьироваться в зависимости от пути, по которому каждый пакет проходит через сеть, локальных условий в момент коммутации пакета и т. д. RTO обычно рассчитывается как средневзвешенное значение, при котором более старые временные интервалы оказывают меньшее влияние, чем более поздние измеренные значения. Альтернативным механизмом, используемым в большинстве реализаций TCP, является быстрая ретрансляция. При быстрой повторной передаче получатель добавляет единицу к ожидаемому порядковому номеру в любом подтверждении. Например, если отправитель передает последовательность 10, получатель подтверждает последовательность 11, даже если он еще не получил последовательность 11. В этом случае порядковый номер в подтверждении подтверждает получение данных и указывает, какой порядковый номер он ожидает от отправителя для передачи в следующий раз. Если передатчик получает подтверждение с порядковым номером, который на единицу больше последнего подтвержденного порядкового номера три раза подряд, он будет считать, что следующие пакеты были отброшены. Таким образом, существует два типа потери пакетов в TCP, когда реализован быстрый запуск. Первый-это стандартный тайм-аут, который возникает, когда отправитель передает пакет и не получает подтверждения до истечения срока действия RTO. Это называется отказом RTO. Второй называется быстрым сбоем ретрансляции. Эти два условия часто обрабатываются по-разному. Как выбирается размер окна? При выборе размера окна необходимо учитывать ряд различных факторов, но доминирующим фактором часто является получение максимально возможной производительности при одновременном предотвращении перегрузки канала. Фактически, контроль перегрузки TCP, вероятно, является основной формой контроля перегрузки, фактически применяемой в глобальном Интернете. Чтобы понять контроль перегрузки TCP, лучше всего начать с некоторых определений: Окно приема (RWND): объем данных, которые приемник готов принять; это окно обычно устанавливается на основе размера буфера приемника или какого-либо другого ресурса, доступного в приемнике. Это размер окна, объявленный в заголовке TCP. Окно перегрузки (CWND): объем данных, которые передатчик готов отправить до получения подтверждения. Это окно не объявляется в заголовке TCP; получатель не знает размер CWND. Порог медленного запуска (SST): CWND, при котором отправитель считает соединение с максимальной скоростью передачи пакетов без возникновения перегрузки в сети. SST изначально устанавливается реализацией и изменяется в случае потери пакета в зависимости от используемого механизма предотвращения перегрузки. Большинство реализаций TCP начинают сеансы с алгоритма медленного старта. 16 На этом этапе CWND начинается с 1, 2 или 10. Для каждого сегмента, для которого получено подтверждение, размер CWND увеличивается на 1. Учитывая, что такие подтверждения должны занимать ненамного больше времени, чем один rtt, медленный запуск должен привести к удвоению окна каждого rtt. Окно будет продолжать увеличиваться с этой скоростью до тех пор, пока либо пакет не будет потерян (приемник не сможет подтвердить пакет), CWND не достигнет RWND, либо CWND не достигнет SST. Как только любое из этих трех условий происходит, отправитель переходит в режим предотвращения перегрузки. Примечание. Каким образом увеличение CWND на 1 для каждого полученного ACL удваивает окно для каждого rtt? Идея состоит в следующем: когда размер окна равен 1, вы должны получать один сегмент на каждый RTT. Когда вы увеличиваете размер окна до 2, вы должны получать 2 сегмента в каждом rtt; на 4, вы должны получить 4 и т. д. Поскольку получатель подтверждает каждый сегмент отдельно и увеличивает окно на 1 каждый раз, когда он подтверждает сегмент, он должен подтвердить 1 сегмент в первом rtt и установить окно на 2; 2 сегмента во втором rtt, добавляя 2 к окну, чтобы установить окно на 4; 4 сегмента в третьем RTT, добавив 4 к окну, чтобы установить размер окна равным 8 и т. д. В режиме предотвращения перегрузки CWND увеличивается один раз за каждый rtt, что означает, что размер окна перестает расти экспоненциально, а вместо этого увеличивается линейно. CWND будет продолжать расти либо до тех пор, пока получатель не подтвердит получение пакета (TCP предполагает, что это означает, что пакет был потерян или отброшен), либо пока CWND не достигнет RWND. Существует два широко распространенных способа, которыми реализация TCP может реагировать на потерю пакета, называемых Tahoe и Reno. Примечание. На самом деле существует множество различных вариаций Tahoe и Reno; здесь рассматриваются только самые базовые реализации. Также существует множество различных методов реагирования на потерю пакета, когда соединение находится в режиме предотвращения перегрузки. Если реализация использует Tahoe, и потеря пакета обнаружена посредством быстрой повторной передачи, она установит SST на половину текущего CWND, установит CWND на исходное значение и снова начнет медленный запуск. Это означает, что отправитель снова будет передавать 1, 2 или 10 порядковых номеров, увеличивая CWND для каждого подтвержденного порядкового номера. Как и в начале процесса медленного запуска, это приводит к удвоению CWND каждого rtt. Как только CWND достигнет SST, TCP вернется в режим предотвращения перегрузки. Если реализация использует Reno, и потеря пакета обнаружена посредством быстрой повторной передачи, она установит SST и CWND на половину текущего CWND и продолжит работу в режиме предотвращения перегрузки. В любой реализации, если обнаруживается потеря пакета из-за того, что получатель не отправляет подтверждение в пределах RTO, CWND устанавливается на 1, и медленный запуск используется для увеличения скорости соединения. Контроль ошибок TCP предоставляет две формы обнаружения ошибок и управления ими: Сам протокол, наряду с механизмом управления окнами, обеспечивает доставку данных в приложение по порядку и без какой-либо недостающей информации. Контрольная сумма дополнения единицы, включенная в заголовок TCP, считается более слабой, чем Cyclic Redundancy Check (CRC) и многие другие формы обнаружения ошибок. Эта проверка ошибок служит дополнением, а не заменой, коррекции ошибок, обеспечиваемой протоколами ниже и выше в стеке. Если получатель обнаруживает ошибку контрольной суммы, он может использовать любой из описанных здесь механизмов, чтобы запросить отправителя повторно передать данные—просто не подтверждая получение данных, запрашивая повторную передачу через SACK, активно не подтверждая получение данных через быструю повторную передачу или отправляя тройное подтверждение для конкретного сегмента, содержащего поврежденные данные. Номера портов TCP TCP не управляет каким-либо типом мультиплексирования напрямую; однако он предоставляет номера портов, которые приложения и протоколы выше TCP в стеке протоколов могут использовать для мультиплексирования. Хотя эти номера портов передаются в TCP, они обычно непрозрачны для TCP; TCP не придает никакого значения этим номерам портов, кроме использования их для отправки информации правильному приложению на принимающем узле. Номера TCP-портов делятся на два широких класса: хорошо известные и эфемерные. Хорошо известные порты определяются как часть спецификации протокола верхнего уровня; эти порты являются портами «по умолчанию» для этих приложений. Например, службу, поддерживающую Simple Mail Transfer Protocol (SMTP), обычно можно найти, подключившись к узлу с использованием TCP на порт номер 25. Службу, поддерживающую Hypertext Transport Protocol (HTTP), обычно можно найти, подключившись к узлу с использованием TCP на порт 80. Эти службы не обязательно должны использовать эти номера портов; большинство серверов можно настроить на использование какого-либо номера порта, отличного от указанного в спецификации протокола. Например, веб-серверы, не предназначенные для общего (или общедоступного) использования, могут использовать какой-либо другой TCP-порт, например 8080. Эфемерные порты значимы только для локального хоста и обычно назначаются из пула доступных номеров портов на локальном хосте. Эфемерные порты чаще всего используются в качестве исходных портов для TCP-соединений; например, хост, подключающийся к службе через порт 80 на сервере, будет использовать эфемерный порт в качестве исходного TCP-порта. До тех пор, пока любой конкретный хост использует данный эфемерный номер порта только один раз для любого TCP-соединения, каждый сеанс TCP в любой сети может быть однозначно идентифицирован через исходный адрес, исходный порт, адрес назначения, порт назначения и номер протокола, работающего поверх TCP. Настройка сеанса TCP TCP использует трехстороннее рукопожатие для установки сеанса: Клиент отправляет синхронизацию (SYN) на сервер. Этот пакет является обычным TCP-пакетом, но с битом SYN, установленным в заголовке TCP, и указывает, что отправитель запрашивает сеанс для настройки с получателем. Этот пакет обычно отправляется на хорошо известный номер порта или на какой-то заранее установленный номер порта, который, как известно клиенту, будет прослушиваться сервером по определенному IP-адресу. Этот пакет включает в себя начальный порядковый номер клиента. Сервер отправляет подтверждение для SYN, SYN-ACK. Этот пакет подтверждает порядковый номер, предоставленный клиентом, плюс один, и включает начальный порядковый номер сервера в качестве порядкового номера для этого пакета. Клиент отправляет подтверждение (ACK), включающее начальный порядковый номер сервера плюс один. Этот процесс используется для обеспечения двусторонней связи между клиентом и сервером перед началом передачи данных. Первоначальный порядковый номер, выбранный отправителем и получателем, в большинстве реализаций рандомизирован, чтобы не дать стороннему злоумышленнику угадать, какой порядковый номер будет использоваться, и захватить сеанс TCP на начальных этапах его формирования.
img
Привет! Сегодня мы хотим рассказать про то, как настроить DHCP-сервер и клиент в Linux CentOS и Linux Ubuntu. Поехали! Установка DHCP-сервера в CentOS и Ubuntu Пакет DHCP-сервера доступен в официальных репозиториях основных дистрибутивов Linux, его установка довольно проста, просто выполните следующую команду: # yum install dhcp #CentOS $ sudo apt install isc-dhcp-server #Ubuntu После завершения установки настройте интерфейс, на котором вы хотите, чтобы демон DHCP обслуживал запросы, в файле конфигурации /etc/default/isc-dhcp-server или /etc/sysconfig/dhcpd. # vim /etc/sysconfig/dhcpd #CentOS $ sudo vim /etc/default/isc-dhcp-server #Ubuntu Например, если вы хотите, чтобы демон DHCPD прослушивал eth0, установите его с помощью следующей настройки. DHCPDARGS=”eth0” Сохраните файл и выйдите. Настройка DHCP-сервера в CentOS и Ubuntu Основной файл конфигурации DHCP находится по адресу /etc/dhcp/dhcpd.conf, который должен содержать настройки того, что делать, где делать и все сетевые параметры, предоставляемые клиентам. Этот файл в основном состоит из списка операторов, сгруппированных в две широкие категории: Глобальные параметры: укажите, выполнять ли задачу, как выполнять задачу или какие параметры конфигурации сети предоставить DHCP-клиенту. Объявления: определить топологию сети, указать состояние клиентов, предложить адреса для клиентов или применить группу параметров к группе объявлений. Теперь откройте и отредактируйте файл конфигурации для настройки вашего DHCP-сервера. ------------ CentOS ------------ # cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf # vi /etc/dhcp/dhcpd.conf ------------ Ubuntu ------------ $ sudo vim /etc/dhcp/dhcpd.conf Начните с определения глобальных параметров, которые являются общими для всех поддерживаемых сетей, в верхней части файла. Они будут применяться ко всем объявлениям: option domain-name "merionet.ru"; option domain-name-servers ns1.merionet.ru, ns2.merionet.ru; default-lease-time 3600; max-lease-time 7200; authoritative; Затем вам необходимо определить диапазон для внутренней подсети и дополнительные настройки: subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.1; option subnet-mask 255.255.255.0; option domain-search " merionet.ru "; option domain-name-servers 192.168.1.1; range 192.168.10.10 192.168.10.100; range 192.168.10.110 192.168.10.200; } Тут: subnet – сеть, в которой будут работать настройки; option routers – шлюз по-умолчанию; option subnet-mask – маска подсети; range – диапазон IP-адресов; option domain-name-servers – DNS-сервера; option domain-name – суффикс доменного имени; option broadcast-address — адрес сети для широковещательных запросов; default-lease-time, max-lease-time — время и максимальное время в секундах, на которое DHCP-клиент получит адрес; Обратите внимание, что хосты, которым требуются специальные параметры конфигурации, могут быть перечислены в инструкциях хоста в cправке. man dhcp-options Теперь, когда вы настроили демон DHCP-сервера, вам нужно запустить службу на некоторое время и включить ее автоматический запуск при следующей загрузке системы, а также проверить, работает ли она, используя следующие команды. ------------ CentOS ------------ # systemctl start dhcpd # systemctl enable dhcpd # systemctl enable dhcpd ------------ Ubuntu ------------ $ sudo systemctl start isc-dhcp-server $ sudo systemctl enable isc-dhcp-server $ sudo systemctl enable isc-dhcp-server Затем разрешите выполнение запросов к демону DHCP в брандмауэре, который прослушивает порт 67/UDP, запустив его. ------------ CentOS ------------ # firewall-cmd --zone=public --permanent --add-service=dhcp # firewall-cmd --reload #------------ Ubuntu ------------ $ sudo ufw allow 67/udp $ sudo ufw reload Настройка клиентов DHCP Наконец, вам нужно проверить, нормально ли работает сервер DHCP. Войдите на несколько клиентских компьютеров в сети и настройте их на автоматическое получение IP-адресов с сервера. Измените соответствующий файл конфигурации для интерфейса, на котором клиенты будут автоматически получать IP-адреса. Настройка клиента DHCP на CentOS В CentOS конфигурационные файлы интерфейса находились в /etc/sysconfig/network-scripts/. # vim /etc/sysconfig/network-scripts/ifcfg-eth0 Добавьте следующие параметры: DEVICE=eth0 BOOTPROTO=dhcp TYPE=Ethernet ONBOOT=yes Сохраните файл и перезапустите сетевой сервис (или перезагрузите систему). # systemctl restart network Настройка DHCP-клиента в Ubuntu В Ubuntu 16.04 вы можете настроить интерфейс в файле конфигурации /etc/network/interfaces. $ sudo vi /etc/network/interfaces Добавьте эти строчки: auto eth0 iface eth0 inet dhcp Сохраните файл и перезапустите сетевой сервис (или перезагрузите систему). $ sudo systemctl restart networking В Ubuntu 18.04 сетевое управление контролируется программой Netplan. Вам нужно отредактировать соответствующий файл, например, в каталоге /etc/netplan/ $ sudo vim /etc/netplan/01-netcfg.yaml Затем включите dhcp4 под конкретным интерфейсом, например, под ethernet, ens0, и закомментируйте статические настройки, связанные с IP: network: version: 2 renderer: networkd ethernets: ens0: dhcp4: yes Сохраните изменения и выполните следующую команду, чтобы применить изменения. $ sudo netplan apply Для получения дополнительной информации смотрите справочные страницы dhcpd и dhcpd.conf. $ man dhcpd $ man dhcpd.conf Готово! В этой статье мы рассмотрели, как настроить DHCP-сервер в дистрибутивах CentOS и Ubuntu Linux.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59