Dhcp server centos 7

Управление сетевыми интерфейсами.

Для просмотра состояния и конфигурации интерфейса существуют специальные команды.

# ifconfig
# ip a

Посмотреть таблицу маршрутизации модно используя команду:

# netstat -r

В Red Hat Enterprise Linux (RHEL) / CentOS / Fedora существуют специальные сценарии для управления сетевыми интерфейсами.

Сценарии ifup и ifdown позволяют включить или отключить сетевой интерфейс. В качестве аргумента эти сценарии принемают имя интерфейса.

ifdown eth0 - отключит интерфейс.
ifup eth0 - включить интерфейс.

Сценарий service network или /etc/init.d/network позволяют включить (start), отключить (stop) или перезапустить (restart) все интерфейсы разом.

service network stop
service network restart
/etc/init.d/network start

И на последок, функция маршрутизации между интерфейсами по умолчанию отключена, однако ее можно включить для этого надо добавить в файл /ete/sysctl.conf запись net.ipv4.ip_forward=1 и перезапустить систему.

На этом рассмотрение настройки сети в операционных системах Red Hat Enterprise Linux (RHEL) / CentOS / Fedora завершено.

DHCP

Для автоматического получения IP-адреса от сервера DHCP мы должны задать следующее значение для опции BOOTPROTO в конфигурационном файле:


BOOTPROTO=dhcp

* в наших примерах выше данный параметр имеет значение static.

Переопределение DNS с помощью dhclient.conf

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

vi /etc/dhcp/dhclient.conf

Вставляем запись:

interface «enp0s3»
{
    supersede domain-name-servers 8.8.8.8, 8.8.4.4;
}

* где enp0s3 — имя сетевого интерфейса, который будет получать адрес от сервера DHCP. 8.8.8.8, 8.8.4.4 — адреса, которые будут настоены на интерфейсе, независимо от того, какие предложит сервер DHCP.

Или мы можем использовать адреса от DHCP, но сделать приоритетными свои:

interface «enp0s3»
{
    prepend domain-name-servers 127.0.0.1;
}

* в данном примере, мы зададим в качестве основного сервера DNS — 127.0.0.1.

Чтобы данный метод сработал в CentOS 8, необходимо открыть файл:

vi /etc/NetworkManager/NetworkManager.conf

В раздел  добавить:

dhcp=dhclient

Переопределение DNS в NetworkManager (альтернативный способ)

Метод, описанный выше по переопределению DNS не подходит для NetworkManager без изменения настройки dhcp, так как адреса будут получены и обработаны с помощью встроенных методов. Выше, предоставлено решение в виде настройки dhcp=dhclient, однако мы рассмотрим альтернативный способ, на случай, если кому-то это пригодится.

Создаем файл:

vi /etc/NetworkManager/dispatcher.d/99-resolv.conf.dhclient

#!/bin/bash
sleep 1
rm -f /etc/resolv.conf
echo ‘# Generated by dispatcher’ > /etc/resolv.conf
echo ‘nameserver 127.0.0.1’ >> /etc/resolv.conf
echo » >> /etc/resolv.conf
cat /var/run/NetworkManager/resolv.conf >> /etc/resolv.conf

* в данном примере мы создали скрипт, который сначала добавит нужную нам запись в файл /etc/resolv.conf, а после добавит туда значения, полученные от DHCP

Обратите внимание, что в конкретном примере:

  • адрес 127.0.0.1 задается в качестве приоритетного сервера DNS.
  • остальные настройки получаем от DHCP, которые NetworkManager помещает в файл /var/run/NetworkManager/resolv.conf.

Разрешаем запуск скрипта:

chmod +x /etc/NetworkManager/dispatcher.d/99-resolv.conf.dhclient

Перезапускаем сеть:

systemctl restart NetworkManager

Через 2 секунды проверяем:

cat /etc/resolv.conf

Взаимодействие DHCP-сервера и клиента

Сервер и клиент обмениваются сообщениями по принципу «запрос-ответ». Взаимодействие состоит из 4 этапов и сокращенно называется «DORA». По одной букве на каждый этап:

  1. Поиск – Discover.

  2. Предложение – Offer.

  3. Запрос – Request.

  4. Подтверждение – Acknowledgement (ACK).

Поиск (Discover): Клиент → Сервер

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

Мы включили компьютер, который находится в сети. Еще в этой же сети работает DHCP. В данном случае наш компьютер – это клиент, а DHCP – сервер. Теперь нашему устройству необходимо получить IP-адрес и другую необходимую информацию о сети, например шлюз, адреса DNS и маску подсети. Поэтому клиент начинает поиски сервера и посылает сообщение «DHCPDISCOVER» на компьютеры внутри этого сегмента сети. 

Такое сообщение называется широковещательным (broadcast) – это значит, что поток данных от клиента получат все устройства внутри его сети. Ответить на такое сообщение смогут только DHCP-серверы.

Запрос клиента получат все участники сети, но ответит только сервер

Предложение (Offer): Сервер → Клиент

DHCP-сервер получает сообщение от клиента, после чего выбирает свободный IP-адрес из числа доступных и отправляет его в ответном сообщении «DHCPOFFER». 

Как правило, IP-адрес закрепляется за клиентом на определенное время, поэтому может меняться между сеансами работы в сети. 

Если клиенту ответили несколько серверов, он выберет какой-то один и получит от него IP-адрес с настройками.

Запрос (Request): Клиент → Сервер

Клиент получил IP-адрес и отправляет серверу ответное сообщение: «DHCPREQUEST». В нем он еще раз прописывает полученный адрес и тем самым подтверждает, что будет использовать его.

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

Только один сервер продолжает взаимодействие с клиентом. Это тот, который предложил выбранный клиентом IP-адрес.

Подтверждение (ACK): Сервер → Клиент

Сервер отправляет сообщение «DHCPACK» и тем самым закрепляет IP-адрес за клиентом. В сообщении содержится сам адрес, срок его использования и дополнительные настройки сети. Клиент проверяет эти настройки, применяет полученную конфигурацию и получает доступ к сети. 

В общем виде весь процесс взаимодействия выглядит так:

– (Клиент) Кто тут сервер? Мне надо получить IP-адрес: «DHCPDISCOVER».

– (Сервер) Я сервер, предлагаю тебе использовать вот этот IP: «DHCPOFFER».

– (Клиент) Хорошо, я буду использовать этот IP, что ты мне отправил: «DHCPREQUEST».

– (Сервер) Вот и договорились. Приятной работы в сети: «DHCPACK».

Другие варианты сообщений

  • «DHCPINFORM» – так клиент запрашивает локальные настройки сети. В ответ на это сообщение сервер посылает запрашиваемую конфигурацию.

  • «DHCPNAK» – так сервер отказывает клиенту пользоваться IP-адресом.

  • «DHCPRELEASE» – так клиент сообщает, что отключается от сети и освобождает свой IP-адрес. После этого сервер снова добавляет этот адрес в список доступных.

Преобразование IP-адресов в символьные адреса

Технология активно используется для назначения буквенно-цифровых названий веб-ресурсов. При вводе домена в адресной строке браузера сначала происходит обращение к специальному серверу DNS. Он всегда прослушивает порт 53 у всех компьютеров, которые подключены к интернету, и по запросу преобразует введенное название в стандартный IP-адрес.

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

Шаг 4: Настройка DHCP-клиентов

8. Теперь вы можете настроить своих клиентов в сети на автоматическое получение IP-адресов от DHCP-сервера. Войдите на клиентский компьютер и измените файл конфигурации интерфейса Ethernet следующим образом (не берите имя/номер интерфейса):

Добавьте следующие строки:

Сохраните файл и выйдите.

9. Также вы можете выполнить настройку на компьютере с помощью графического интерфейса (GUI), для этого установите Method на Automatic (DHCP), как показано на скриншоте ниже (Ubuntu 16.04 desktop).

10. Затем перезапустите сетевые службы следующим образом (вы также можете просто перезагрузить систему):

Если все настройки правильны, то ваши клиенты будут автоматически получать IP-адреса от DHCP-сервера.

Спасибо за внимание! Надеемся, что данная статья помогла вам

Шаг 4: Настройка машин клиентов

9. Теперь можно настроить клиентские компьютеры в сети для автоматического получения IP-адресов от DHCP-сервера.

Отредактируйте файл конфигурации интерфейса Ethernet на клиентской машине (обратите внимание на имя/номер интерфейса):

$ sudo vi /etc/network/interfaces

Укажите следующие опции:

auto eth0
iface eth0 inet dhcp

Сохраните и закройте файл, а затем перезапустите сетевые службы или перезагрузите систему:

———— SystemD ————

$ sudo systemctl restart networking

———— SysVinit ————

$ sudo service networking restart

Если все настроено правильно, клиентская машина должна автоматически получать IP-адреса от DHCP-сервера.

Настройка DHCP-сервера завершена. Более подробную информацию о dhcpd и dhcpd.conf с описанием всех возможных опций можно получить в соответствующих man-страницах:

$ man dhcpd
$ man dhcpd.conf

Способы выдачи IP-адресов

Чтобы компьютер мог работать в сети, ему нужен IP-адрес. Он выглядит как 4 числа через точку. Например, IP-адрес timeweb.com – 185.114.246.105. Это как страна, город, улица и дом в почтовом адресе, только в интернете – это узлы связи и магистральные роутеры. Если устройству не выдали IP-адрес, оно не может общаться с другими устройствами в сети.

«IP» расшифровывается как Internet Protocol. Данный протокол имеет две версии: IPv4 и IPv6. 

  • IPv4 записывается, как в примере выше: 185.114.246.105
  • IPv6 в 4 раза длиннее и выглядит примерно так – 2001:0DA8:AB10:0001:0010:0000:0001:00FB

Устройство может получить IP-адрес двумя способами: статическим (ручным) и динамическим. 

  • Статический – когда человек, например администратор сети, заходит в настройки компьютера и вручную прописывает для него IP-адрес. Это удобно, когда в сети мало компьютеров (дома или в небольшом офисе).
  • Динамический – когда компьютер автоматически получает IP-адрес после подключения к сети. Такой IP-адрес называется динамическим и присваивается компьютеру на ограниченный промежуток времени. Этот способ помогает снизить трудозатраты, когда в сети много компьютеров или устройств. 

Динамический способ подойдет как для предприятий, где количество устройств фиксировано, так и для кафе, через Wi-Fi которых каждый день проходит много разных гаджетов. 

Как работает протокол DHCP?

Прежде чем двигаться дальше, давайте кратко объясним, как работает DHCP:

Когда клиентская машина, настроенная на использование DHCP и подключенная к сети, включена, она посылает сообщение DHCPDISCOVER на DHCP-сервер.
И после того, как DHCP-сервер получает сообщение DHCPDISCOVER, он отвечает сообщением DHCPOFFER.
Затем клиент получает сообщение DHCPOFFER и отправляет на сервер сообщение DHCPREQUEST, означающее, что он готов получить сетевую конфигурацию, предлагаемую в сообщении DHCPOFFER.
Последнее, но не менее важное, DHCP-сервер получает от клиента сообщение DHCPREQUEST и отправляет сообщение DHCPACK, показывающее, что клиенту теперь разрешено использовать назначенный ему IP-адрес.

Как добавить статический маршрут в CentOS

Для управления маршрутизацией в CentOS может понадобиться добавить статический маршрут. Сделать это достаточно просто с помощью консольной команды. Для начала проверим существующие маршруты, используя netstat:

В данном случае у нас один маршрут для адреса 0.0.0.0/0.0.0.0 шлюз используется 192.168.159.2, он же шлюз по-умолчанию. То есть по сути, статических маршрутов никаких нет. Добавим один из них.

Допустим, у нас есть подсеть 192.168.8.0 маска 255.255.255.0, трафик в эту подсеть маршрутизирует шлюз 192.168.159.5 Добавляем маршрут:

Проверяем, появился ли добавленный маршрут в таблицу маршрутизации:

Все в порядке, маршрут добавлен. Делаем то же самое с помощью утилиты ip.

Но после перезагрузки этот статический маршрут будет удален. Чтобы этого не произошло и добавленные маршруты сохранялись, необходимо их записать в специальный файл. В папке /etc/sysconfig/network-scripts создаем файл с именем route-eth0 следующего содержания:

Перезагружаемся и проверяем, на месте ли маршрут:

Все в порядке, статический маршрут добавлен.

Время аренды по-умолчанию и максимальное время аренды в DHCP

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

default-lease-time — это значение в секундах, в котором срок действия арендованного IP-адреса будет установлен в том случае, если DHCP-клиент не запрашивает другого конкретного срока действия арендыmax-lease-time — это значение в секундах, которое определяет максимальное время истечения срока действия для IP-адреса, арендуемого DHCP-сервером

Пример:

default-lease-time 600;
max-lease-time 7200;

subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
}

subnet 192.168.0.0 netmask 255.255.0.0 {
}

Настройка сети CentOS 8 через конфигурационные файлы

Первый метод мы с вами разобрали, он подходит всем, кто делает установку системы сам. Теперь ситуация, когда вам передали уже готовую CentOS 8, пусть в установке Minimal, это стандартный нормальный вариант использования CentOS 8, в качестве серверной ОС. Нет графики, нет кучи компонентов, меньше фронт атаки. Подключаемся к вашему терминалу. Первое, что вам необходимо сделать, это посмотреть список и названия всех ваших сетевых интерфейсов, для этого есть команда:

ip a (То же самое, что и ввести ip addr show)

Как видим у меня два сетевых интерфейса ens33 и ens36. У меня почему, то у интерфейса ens33 нет IPv4 адреса, у второго я получил 192.168.253.145, это мой интернет шнурок.

Если у вас один интерфейс и он не получил ни какого IP-адреса, то логично что вы поставить IFCONFIG не сможете, поэтому сразу переходите к редактированию конфигурационных файлов и настройке статического или динамического IP

Пробуем с вами посмотреть текущие сетевые настройки IP адреса, маску, шлюз в более удобном виде, для этого мы использовали утилиту IFCONFIG. Пишем команду:

ifconfig

Но в случае с CentOS 8 Minimal у вас выскочит ошибка «Command not found» или в русском варианте «ifconfig команда не найдена». Нам ее нужно установить

Установка IFCONFIG в CentOS 8

Давайте выясним, в каком пакете у нас идет утилита IFCONFIG, для этого вам необходимо выполнить команду:

yum provides ifconfig

На выходе я получил «Basic networking tools (BaseOS)»

Установим данный пакет, пишем команду:

yum install net-tools

Вас спросят хотите ли вы установить данный пакет net-tools, нажмите «Y». Видим, что все успешно установилось.

Пробуем теперь запустить IFCONFIG. Как видим в таком варианте считывание информации, о настройках сети CentOS 8 куда приятнее.

Давайте теперь я отредактирую сетевые настройки для интерфейса ens33 и задам ему:

  • IP — 192.168.31.31
  • Маску — 255.255.255.0
  • Шлюз — 192.168.31.1
  • DNS — 192.168.31.1, 192.168.31.2
  • Автоматическое включение при старте CentOS 8

В операционных системах CentOS настройки сетевых интерфейсах лежат по пути /etc/sysconfig/network-scripts/. Давайте посмотрим содержимое Для этого введите:

dir /etc/sysconfig/network-scripts/

Вы увидите конфигурационные файлы ваших сетевых интерфейсов, в моем случае, это ens33 и ens36

Чтобы настроить сеть на интерфейсах CentOS 8, вам необходимо отредактировать нужный конфигурационный файл. Для этого я воспользуюсь встроенным редактором vi. Пишем команду:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

Чтобы начать редактировать файл нажмите клавишу «INSERT»

Далее чтобы задать статический IP-адрес приведите настройки вот к такому виду:

  • TYPE=Ethernet
  • BOOTPROTO=none (означает задать статические настройки), можно поменять значение на DHCP
  • NAME=ens33
  • ONBOOT=yes (иначе не будет стартовать при запуске)
  • NAME=ens33 мое имя интерфейса
  • UUID можно менять при клонировании конфигурационного файла
  • IPADDR=192.168.31.31 мой IP-адрес
  • PREFIX=24 маска 255.255.255.0
  • DNS1=192.168.31.1 мой основной DNS
  • DNS2=192.168.31.2 дополнительный DNS
  • DOMAIN=root.pyatilistnik.org
  • GATEWAY=192.168.31.1 основной шлюз

Чтобы сохранить настройки нажмите ESC, потом введите :wq  если нужно выйти без сохранения введите :qa!

Чтобы получать динамический IP-адрес по DHCP, выставите в опции BOOTPROTO=dhcp и удалите пункты DNS, IPADDR, PREFIX, GATEWAY

осталось теперь поднять наш сетевой интерфейс для этого есть несколько методов, самый простой использование ifup введите:

ifup ens33

Как видим, у меня сетевой интерфейс стал в состояние подключено и я вижу через ifconfig его ip адрес.

Проверим через утилиту PING доступность контроллера домена и другого сервера, отлично пакеты ходят.

Определение DNS-сервера

Другим параметром конфигурации, который может быть задан DHCP-сервером своему клиенту, является определение DNS-сервера. Если вы хотите, чтобы ваши клиенты использовали DNS-сервер с IP-адресом 8.8.8.8 и 10.1.1.1, вы можете сделать это, включив опцию domain-name-servers в конфигурационный файл DHCP.

default-lease-time 600;
max-lease-time 7200;

subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
option domain-name-servers 10.1.1.1, 8.8.8.8;
}

subnet 192.168.0.0 netmask 255.255.0.0 {
}

subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
option routers 10.1.1.1;
}

Настройка сети при установке CentOS 8

В окне «Network & Host Name» вы увидите список ваших сетевых интерфейсов, они по умолчанию отключены. В моем примере их два. Каждый сетевой интерфейс имеет отличительное имя, в моем примере, это ens33 и ens36. Видно, что текущий статус «Disconnected», чтобы это изменить переведите тумблер с состояния «Off» на «On».

Если в вашей с локальной сети есть сервер DHCP, в моем примере на CISCO, то вы должны получить нужные настройки, как видно я поймал IP адрес 192.168.31.10/24 и DNS 192.168.31.1, 192.168.31.2. Чуть ниже в левом нижнем углу вы можете сразу задать имя вашего сервера CentOS 8. Если вас не устраивает, что CentOS 8 будет получать настройки сети по DHCP и вы хотите задать статический IP-адрес, то нажмите кнопку «Configure».

В окне свойств сетевого интерфейса найдите вкладку IPV4 Settings, обратите внимание, что тут будет поле «Method», в котором по умолчанию стоит «Automatic (DHCP)», то есть динамическое получение сетевых настроек в CentOS 8. На выбор у вас будут вот такие пункты:

  • Automatic (DHCP) — автоматическое получение всех настроек: IP, маску, DNS, Основной шлюз, маршруты
  • Automatic (DHCP) addresses only — вы получите автоматически только IP-адрес
  • Manual — ручная настройка сети CentOS 8
  • Link-Local Only — Локальные ссылки назначаются автоматически, когда компьютер не настроен на использование статического IP-адреса и не может найти DHCP-сервер. По сути, то APIPA адрес из диапазона 169.254.0.0
  • Shared to other computers — это совместное использование сетевого интерфейса. Простой пример у вас есть сервер с двумя сетевыми интерфейсами один LAN второй WAN, и есть другой сервер, где просто один сетевой интерфейс с LAN и без интернета. Вы можете выставить на первом сервере WAN в режим «Shared to other computers» и указать его в маршрутах для выхода в интернет.
  • Disabled — отключение получения настроек

Давайте я настрою статический IP-адрес на моем сетевом интерфейсе ens33. Выставляю в методе получения «Manual». В поле «Address» я нажимаю кнопку «Add», для добавления новых настроек, задаю Ip-адрес, маску в «Netmask» и основной шлюз в «Gateway». Чуть ниже я указываю свои DNS сервера, у меня это 192.168.31.1, 192.168.31.2, так же можете в поле «Search domains» указать ваше имя домена Active Directory, у меня это root.pyatilistnik.org.

Галка «Require IPv4 addressing for this connection to complete (Требовать адресацию IPv4 для этого соединения)» — Чтобы разрешить системе устанавливать это соединение в сети с поддержкой IPv6, если конфигурация IPv4 завершится неудачно, но конфигурация IPv6 будет успешной. Кнопка «Routes» позволяет вам настроить дополнительные маршруты в CentOS 8.

Нажмите кнопку «Add», чтобы добавить IP-адрес, маску сети, адрес шлюза и метрику для нового статического маршрута. Можете выбрать «Use this connection only for resources on its network», чтобы ограничить подключения только к локальной сети.

Функциональность

DHCP запускается на прикладном уровне стека TCP (протокол управления передачей) для динамического назначения IP-адресов различным устройствам, а также распределения различной информации о конфигурации между клиентами DHCP. Пользователи должны знать, что DHCP является протоколом клиент-сервер. Это означает, что серверы управляют списком уже объединенных уникальных IP-адресов и информацией о нескольких параметрах конфигурации.

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

Динамическая аренда

Динамическая аренда — это когда клиент не обязательно владеет назначенным ему IP-адресом, а, напротив, «арендует» или занимает этот IP-адрес на такой короткий период времени. Клиенту может потребоваться пройти определенные шаги для того, чтобы прервать IP-адрес определенного устройства, одновременно подключив другой IP-адрес к тому же устройству. В большинстве случаев сервер назначает новый адрес, а не использует старый IP-адрес. Время аренды DHCP будет зависеть от конкретного местоположения пользователя. Следующий цикл применяется, когда речь идет об аренде.

  1. Устройство получит IP-адрес в процессе назначения запроса DHCP-сервера.
  2. Если устройство уже имеет существующий IP-адрес, полученный из аренды, оно должно будет обновить его сразу после выключения, чтобы новый IP-адрес заполнился.
  3. Когда новая аренда теперь считается активной, устройство/клиент теперь привязан к аренде и IP-адресу.
  4. Если устройство перемещается в другую сеть, динамический IP-адрес будет прерван и в конечном итоге запросит новый IP-адрес от DHCP другой сети.

Проще говоря, IP-адрес устройства привязан к сети, будь то локальная сеть или большая общедоступная сеть, например, Интернет.

DHCP Подача рукопожатия

При выполнении квитирования DHCP выполняются следующие действия:

  1. Обнаружение — Клиент предлагает DHCP обнаружить сообщение для идентификации DHCP серверов.
  2. Offer (Предложение) — сервер DHCP отвечает доступным IP-адресом, а также параметрами.
  3. Запрос — Клиент запрашивает IP-адрес у сервера.
  4. Подтверждение — Сервер подтверждает новый IP-адрес, назначенный данному устройству, и завершает цикл квитирования.

1.2 IP-адреса запросов/ответов ВООТР

Сообщения ВООТР инкапсулируются в заголовках UDP, идентифицирующих номер
порта, используемого процессами ВООТР. Дейтаграмма UDP

инкапсулируется в заголовке IP. Но какие адреса отправителя и получателя
используются в заголовке IP? Интересный вопрос, потому что при выдаче запроса
клиент ВООТР должен указать эти адреса. Как правило, клиент ВООТР не знает
своего IP-адреса и указывает вместо него 0.0.0.0. Если же адрес известен, он
используется в клиентском запросе ВООТР.

Известен ли IP-адрес сервера клиенту ВООТР? В общем случае неизвестен.

Это особенно верно по отношению к ситуациям, когда клиент ВООТР
представляет собой бездисковую рабочую станцию и не располагает средствами для
определения адреса сервера. Впрочем, если адрес сервера ВООТР может
настраиваться на уровне рабочей станции, он используется клиентом ВООР. Если
клиент ВООТР не знает IP-адрес сервера ВООТР, он использует ограниченную
рассылку IP. В качестве адреса ограниченной рассылки используется следующее
значение: 255.255.255.255

Пакеты, отправленные по адресу ограниченной (локальной)
рассылки, принимаются всеми IP-узлами локального сегмента сети, включая серверы
ВООТР.

А если сервер ВООТР находится в другой подсети IP, за граничным
маршрутизатором? Как говорилось выше, ограниченная рассылка за маршрутизатор не
распространяется. Для таких случаев на маршрутизаторе работает агент-ретранслятор
ВООТР (ВООТР relay agent), который проверяет, используется ли в дейтаграмме
ограниченной рассылки приемный порт UDP с номером 67 (порт зарезервирован для
BOOTP/DHCP). Если условие выполняется, ограниченная рассылка перенаправляется в
сетевые интерфейсы маршрутизатора (рис.2 «Пересылка сообщений ВООТР через
граничный маршрутизатор»).

Сервер ВООТР, находящийся в локальной сети, может ответить на запрос
клиента ВООТР. Будет ли в этом сообщении использоваться IP-адрес клиента?

Иначе говоря, может ли сервер ВООТР послать направленный ответ? Все
зависит от реализации сервера ВООТР.

Сервер знает IP-адрес клиента, хранящийся в базе данных конфигурации
ВООТР. Почему же он не может использовать этот адрес для посылки направленного
ответа клиенту? Дело в том, что в момент отправки сервером запроса ARP на
получение аппаратного адреса клиента ВООТР клиент ответить не может. Почему?
Потому что он еще не знает своего IP-адреса. Сервер ВООТР получает аппаратный
адрес клиента из заголовка канального уровня в сообщении клиента ВООТР.
Реализация сервера ВООТР может добавить запись с информацией о клиенте ВООТР в
кэш ARP (рис.3 «Изменение кэша ARP сервером ВООТР»). При наличии
такой записи сервер ВООТР может использовать направленный ответ.

Модификация кэша ARP используется в реализации ВООТР для BSD
Unix.

Если сервер ВООТР не изменяет содержимое кэша ARP, ответ рассылается в
широковещательном режиме.

Сетевые настройки на сервере CentOS

Первый раз с сетевыми настройками сервера CentOS 7 или 8 мы сталкиваемся, когда производим установку. На экране первоначальной настройки есть отдельный пункт, касающийся настройки сетевых интерфейсов:

Зайдя в него мы видим список подключенных сетевых карт. Каждую из них можно включить соответствующим ползунком (пункт 1 на картинке). При активировании интерфейса он автоматически получает настройки по dhcp. Результат работы dhcp можно посмотреть тут же. Если вас не устраивают эти настройки, их можно отредактировать, нажав configure (пункт 3 на картинке). Здесь же можно задать hostname (пункт 2 на картинке):

Открыв окно дополнительный настроек Ehernet, вы сможете изменить имя сетевого интерфейса, указать настройки IP (пункт 1 на картинке), выбрать ручные настройки (пункт 2 на картинке), назначить ip адрес (пункт 3 на картинке), установить dns сервер (пункт 4 на картинке) и сохранить сетевые настройки (пункт 5 на картинке):

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

Теперь рассмотрим другую ситуацию. Сервер, а соответственно и конфигурацию сети, производили не вы, а теперь вам надо ее посмотреть либо изменить. В вашем распоряжении консоль сервера, в ней и будем работать. Если у вас установка производилась с дистрибутива minimal, то при попытке посмотреть сетевые настройки с помощью команды ifconfig в консоли вы увидите следующее:

или в русской версии:

Для работы с ifconfig и прочими сетевыми утилитами необходимо установить пакет net-tools. Сделаем это:

Теперь можно увидеть настройки сети:

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

Мы увидели конфигурацию сети, теперь давайте ее отредактируем. Допустим, нам нужно сменить ip адрес. Для этого идем в директорию /etc/sysconfig/network-scripts и открываем на редактирование файл ifcfg-eth0 или ifcfg-ens18. Название файла будет зависеть от имени сетевого интерфейса. В Centos 8 по-умолчанию убрали поддержку настройки сети через конфигурационные скрипты, поэтому установите отдельно пакет network-scripts.

По настройкам из этого файла мы получаем ip адрес по dhcp. Чтобы вручную прописать статический ip, приводим файл к следующему содержанию:

Мы изменили параметры:

BOOTPROTO с dhcp на none
DNS1 указали dns сервер
IPADDR0 настроили статический ip адрес
PREFIX0 указали маску подсети
GATEWAY0 настроили шлюз по-умолчанию

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

Проверяем, применилась ли новая конфигурация сети:

Все в порядке, новые настройки сетевого интерфейса установлены.

Установка и настройка сервера и клиента NFS в CentOS Linux 7.2

В этой статье мы рассмотрим простой пример того, как установить и настроить Network File System (NFS) в CentOS Linux 7.2.
На стороне сервера будет настроена NFS-шара, а на стороне клиента эта шара будет подключена.

В некоторых дистрибутивах Linux NFS-сервер и клиент устанавливаются при установке ОС.
Например в CentOS 6 NFS-сервер устанавливался по умолчанию, но служба не была включена в автозагрузку.
В CentOS 7 серверные и клиентские компоненты NFS нужно устанавливать самостоятельно.
При этом в CentOS 7 используется обновлённая усовершенствованная версия NFS 4.1.

Установка и настройка NFS-сервера

Устанавливаем пакеты для организации NFS-сервера

# yum install nfs-utils

Включаем автозагрузку для служб rpcbind и nfs-server:

# systemctl enable rpcbind nfs-server

Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service 
to /usr/lib/systemd/system/nfs-server.service.

Запускаем службы:

# systemctl start rpcbind nfs-server

Проверяем для каких версий NFS способен принимать подключения наш NFS-сервер:

# rpcinfo -p localhost

   program vers proto   port  service
...
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
...

Как видим, наш NFS сервер должен принимать подключения как NFSv3 так и NFSv4.

Создаём каталог под NFS-шару

# mkdir -p /var/nfs
# chmod -R 777 /var/nfs

Создаём NFS-шару в файле /etc/exports:

# cat /etc/exports

/var/nfs 10.1.1.0/24(rw,sync,no_root_squash,no_all_squash)
  • /var/nfs — путь к папке, для которой предоставляется общий доступ;
  • 10.1.1.0/24 –IP-подсеть, которой разрешён доступ к шаре;
  • (rw,sync,no_root_squash,no_all_squash) — набор опций для шары.

Описание использованных опций позаиствовано отсюда:

  • Русскоязычное сообщество Ubuntu Linux — Wiki — NFS
  • Википедия Пингвиньи радости — Описание параметров файла конфигурации Exports

Чтобы служба nfs-server перечитала конфигурацию, выполним

# exportfs -r

Выполнив команду exportfs убедимся в том, что ресурс опубликован:

# exportfs

/var/nfs
        10.1.1.0/24

Добавляем разрешающие правила брандмауэра:

# firewall-cmd --permanent --zone=public --add-service=nfs
# firewall-cmd --permanent --zone=public --add-service=mountd
# firewall-cmd --permanent --zone=public --add-service=rpc-bind
# firewall-cmd --reload

Установка и настройка клиента NFS

Устанавливаем пакетов поддержки NFS:

# yum install nfs-utils

Включаем и запускаем включаем службы NFS:

# systemctl start rpcbind
# systemctl enable rpcbind

Создаем каталог, в который будет смонтирована шара и монтируем шару:

# mkdir /mnt/nfs-share
# mount -t nfs KOM-FS03.holding.com:/var/nfs/ /mnt/nfs-share/

Проверяем то, что каталог примонтирован:

# mount | grep nfs4

KOM-FS03.holding.com:/var/nfs/ on /mnt/nfs-share type nfs4 
(rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,
namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,
clientaddr=10.1.1.201,local_lock=none,addr=10.1.1.4)
# df -hT | grep nfs4

KOM-FS03.holding.com:/var/nfs               nfs4      3.6T   88M  3.4T   1% /mnt/nfs-share

Проверим возможность записи в шару

# touch /mnt/nfs-share/test.txt
# rm /mnt/nfs-share/test.txt

Настраиваем автоматическое монтирование шары при перезагрузке системы, добавляя запись в конец файла /etc/fstab:

# cat /etc/fstab

...
KOM-FS03.holding.com:/var/nfs/ /mnt/nfs-share/ nfs defaults 0 0

Автор первичной редакции:Алексей Максимов
Время публикации: 01.09.2016 15:30

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: