Настройка dhcp-сервера Linux_Как собрать сервер самостоятельно
Настройка dhcp-сервера Linux_Как собрать сервер самостоятельно

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.


Описание экспериментальной среды

хост-система

Версия системы

Как получить IP-адрес

IP-адрес

Сервер

Linux

RHEL 7.0

Статический IP

192.168.43.128/24

клиент

Linux

RHEL 7.4

DHCP назначает фиксированный IP

192.168.43.15/24

клиент

Windows

Windows 11

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

x.x.x.x

На что следует обратить внимание

  • При использовании двух хостов Linux,Обязательно убедитесь, что два устройства могут взаимодействовать друг с другом.,Сначала вы можете настроить Статический IP, проверьте, подключены ли два хоста
  • В редакторе виртуальной сети,Не используйтеНазначьте IP-адрес виртуальной машине с помощью локального DHCP-сервиса.
  • Оба устройства используютРежим только хоста,Или используйте тот же интерфейс VMnet.

Конфигурация сервера

Настройте IP-адрес сервера

  • Для IP-адреса сервера конфигурации,и перезагрузите сетевую карту,Сделайте конфигурацию эффективной
Язык кода:javascript
копировать
[root@Server ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 
[root@Server ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736 
TYPE=Ethernet
BOOTPROTO=static
NAME=eno16777736
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.43.128
NETMASK=255.255.255.0
GATEWAY=192.168.43.1
DNS1=8.8.8.8
[root@Server ~]# systemctl restart network

  • Назначенный IP-адрес должен быть настроен и настроен Статический. IP-адрес находится в том же сегменте сети
  • Вотifcfg-ens33для имени моей сетевой карты,Различные версии системы,Будут различия в названиях сетевых карт.,Настройте его специально в соответствии с именем вашей сетевой карты.,NAMEDEVICEОно должно соответствовать имени сетевой карты.

Настройте локальный репозиторий YUM

  • Сначала вам нужно использовать ISO-образ RHEL и подключиться к виртуальной машине.
  • Подключите файл образа
Язык кода:javascript
копировать
[root@Server ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 Защищено от записи, монтируется только для чтения
[root@Server ~]# 
  • Настройте репозиторий YUM и используйте для установки локальный файл образа ISO. Если виртуальная машина уже подключена к сети, вы также можете использовать сетевые источники для установки пакетов программного обеспечения.
Язык кода:javascript
копировать
[root@Server ~]# cd /etc/yum.repos.d/
[root@Server yum.repos.d]# rm -rf * //Удаляем все остальные исходные конфигурации в этом каталоге
[root@Server yum.repos.d]# vim rhel.repo //Настраиваем новые исходные файлы
[root@Server yum.repos.d]# ls
rhel.repo
[root@Server yum.repos.d]# cat rhel.repo 
[Base]
name=RHEL                //Название склада
baseurl=file:///mnt      //Используемый источник хранилища, file:// — фиксированный формат, /mnt представляет каталог, в котором находится локальный пакет программного обеспечения.
gpgcheck=0               //Проверять и проверять
enabled=1                //Включить ли этот склад

  • если/etc/yum.repos.d/В каталоге есть и другие.repoдокумент,затем используйтеrm -rf *всеудалить.избегатьиспользоватьдругие источникидокумент。
  • Очистить кеш пакетов
Язык кода:javascript
копировать
[root@Server yum.repos.d]# yum clean all 
Плагин загружен: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Очистка исходников ПО: Base
Cleaning up everything
[root@Server yum.repos.d]# 
  • Перезагрузить пакет
Язык кода:javascript
копировать
[root@Server yum.repos.d]# yum repolist all 
Плагин загружен: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Base                                            | 4.1 kB     00:00     
(1/2): Base/group_gz                              | 137 kB   00:00     
(2/2): Base/primary_db                            | 4.0 MB   00:00     
Идентификатор источника                         имя источника                       состояние
Base                           RHEL                         Давать возможность: 4,986
repolist: 4,986
[root@Server yum.repos.d]# 

  • repolist:4,986:Указывает количество доступных пакетов программного обеспечения.,если не,Затем проверьте конфигурацию локального исходного файла.

Установить пакет DHCP

  • использоватьYUMинструмент Установить пакет DHCP
Язык кода:javascript
копировать
[root@Server ~]# yum -y install dhcp
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package dhcp.x86_64 12:4.2.5-58.el7 will be installed

...

Installed:
  dhcp.x86_64 12:4.2.5-58.el7                                                   

Dependency Updated:
  dhclient.x86_64 12:4.2.5-58.el7       dhcp-common.x86_64 12:4.2.5-58.el7     
  dhcp-libs.x86_64 12:4.2.5-58.el7     

Complete!
[root@Server ~]# 
  • скопировать файл конфигурации DHCP по умолчанию в каталог конфигурации DHCP
Язык кода:javascript
копировать
[root@Server ~]# cd /etc/dhcp/
[root@Server dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@Server dhcp]# cat dhcpd.conf 
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
[root@Server dhcp]# cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example | grep -v "#" >> dhcpd.conf
[root@Server dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@Server dhcp]# 

  • /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example:дляDHCPпо умолчанию Конфигурациядокумент,В зависимости от версии программного пакета DHCP,,Необходимо изменить/usr/share/doc/внизDHCPВерсия
  • grep -v "#" >> dhcpd.conf:выражатьбудет по умолчанию Конфигурациядокумент Строка комментария вудалить,Затем повторно добавьте его в файл dhcpd.conf.
  • Измените файл конфигурации DHCP и выполните соответствующие настройки в соответствии с потребностями.
Язык кода:javascript
копировать
[root@Server dhcp]# vim dhcpd.conf
[root@Server dhcp]# cat dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
subnet 192.168.43.0  netmask 255.255.255.0 { 
        //Настраиваем адресный сегмент сети и маску подсети, которые могут быть назначены DHCP-сервером
  range 192.168.43.20 192.168.43.40;             //Настраиваем диапазон адресов, который может назначать DHCP-сервер
  option domain-name-servers 192.168.43.128;     //Настраиваем IP адреса DNS-сервера
  option routers 192.168.43.1;                   //Настраиваем шлюз по умолчанию
  default-lease-time 600;                        //Настраиваем период аренды по умолчанию, единица измерения — секунды
  max-lease-time 7200;                           //Настраиваем максимальный срок аренды, измеряется в секундах
}

host RHEL_Client_7.4 { 
                              //Отдельная конфигурация для специальных хостов
  hardware ethernet 00:0c:29:9e:9b:29;           //MAC-адрес хоста, который необходимо привязать к фиксированному IP-адресу
  fixed-address 192.168.43.15;                   //Привязываем фиксированный IP-адрес к хосту
}

  • Изменения в файлах конфигурации,Старайтесь не вносить изменения в исходные файлы.,сначала скопировать,Аннотировать исходный контент,Сделать резервную копию,Чтобы избежать ошибок конфигурации, которые невозможно откатить.
  • Если нет необходимости присваивать фиксированный IP специальному хосту -адрес,Нет необходимости настраивать хост

Настройте брандмауэр и SELinux

  • брендмауэррелиз службы DHCP
Язык кода:javascript
копировать
[root@Server ~]# systemctl status firewalld.service 
firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)
   Active: active (running) since Четыре 2021-12-09 10:10:32 CST; 6min ago
 Main PID: 4060 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─4060 /usr/bin/python -Es /usr/sbin/firewalld --nofork...

декабрь 09 10:10:32 Server systemd[1]: Started firewalld - dynamic ....
Hint: Some lines were ellipsized, use -l to show in full.
[root@Server ~]# firewall-cmd --permanent --add-service="dhcp" //brandmauerrelease DHCP-сервис
success
[root@Server ~]# firewall-cmd --reload //Обновляем правила релиза брандмауэра
success
[root@Server ~]# firewall-cmd --list-all //Перечислить все сервисы, выпущенные брандмауэром
public (default, active)
  interfaces: eno16777736
  sources: 
  services: dhcp dhcpv6-client ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 
	
[root@Server ~]# 

  • Active: inactive (dead):выражатьбрандмауэр Уже закрыто
  • Active: active (running):выражатьбрандмауэр Уже включено
  • Выключите SELinux
Язык кода:javascript
копировать
[root@Server ~]# vim /etc/selinux/config 
[root@Server ~]# cat !$ | grep -v "#" | grep -v "^$"
SELINUX=disabled 
SELINUXTYPE=targeted 
[root@Server ~]#

  • !$:выражать Последний параметр предыдущей команды
  • grep -v "#" | grep -v "^$":выражать Фильтровать строки комментариев и пустые строки

Запустить службу DHCP

  • Запустить службу DHCP
Язык кода:javascript
копировать
[root@Server ~]# systemctl restart dhcpd.service //снова Запустить службу DHCP
[root@Server ~]# systemctl enable dhcpd.service //Устанавливаем автозапуск при загрузке
[root@Server ~]# systemctl status dhcpd.service //Просмотр состояния DHCP
dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled)
   Active: active (running) since Четыре 2021-12-09 11:09:00 CST; 8s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 8274 (dhcpd)
   Status: "Dispatching packets..."
   CGroup: /system.slice/dhcpd.service
           └─8274 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -gr...

Конфигурация клиента

  • Измените метод получения IP-адреса клиента, чтобы динамически получать его через DHCP, и перезагрузите сетевую карту.
Язык кода:javascript
копировать
[root@Client ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@Client ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
BOOTPROTO=dhcp             //Настраиваем получение IP по DHCP-адресу
NAME=ens33
DEVICE=ens33
ONBOOT=yes                 //Настраиваем автоматический запуск при загрузке

# Конфигурация Статический IP-адрес
#IPADDR=192.168.43.131
#NETMASK=255.255.255.0
#GATEWAY=192.168.43.254
#DNS1=8.8.8.8
[root@Client ~]# systemctl restart network

Просмотр IP-адреса клиента

  • использоватьifconfigилиip aПосмотреть местныеIP-адрес
Язык кода:javascript
копировать
[root@Client ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.43.15  netmask 255.255.255.0  broadcast 192.168.43.255
inet6 fe80::20c:29ff:fe9e:9b29  prefixlen 64  scopeid 0x20<link>
ether 00:0c:29:9e:9b:29  txqueuelen 1000  (Ethernet)
RX packets 2961  bytes 275996 (269.5 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 1347  bytes 169005 (165.0 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
inet 127.0.0.1  netmask 255.0.0.0
inet6 ::1  prefixlen 128  scopeid 0x10<host>
loop  txqueuelen 1  (Local Loopback)
RX packets 420  bytes 34416 (33.6 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 420  bytes 34416 (33.6 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@Client ~]# 

  • ether 00:0c:29:9e:9b:29:выражатьлокальная сетевая картаMACадрес,Когда Конфигурация сервераhost привязана к IP,Вам необходимо проверить MAC-адрес локальной сетевой карты
  • Вы можете увидеть местноеIP-адресдля192.168.43.15,Это IP-адрес, назначенный адресом DHCP-сервера.

Просмотр IP-адреса клиента Windows

  • Настройка VMnet для Windowsклиента 1. Способ получения IP-адреса сетевой карты – DHCP.
  • Просмотр информации об IP-адресе

Просмотр файла журнала DHCP на сервере

  • Просмотрите информацию о выделении конкретных адресов на странице «Просмотр файла журнала DHCP на сервере».
Язык кода:javascript
копировать
[root@Server ~]# cat /var/lib/dhcpd/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5
lease 192.168.43.20 { 

starts 4 2021/12/09 02:46:58;
ends 4 2021/12/09 02:56:58;
tstp 4 2021/12/09 02:56:58;
cltt 4 2021/12/09 02:46:58;
binding state free;
hardware ethernet 00:0c:29:9e:9b:29;
}
lease 192.168.43.21 { 

starts 5 2021/12/10 06:57:31;
ends 5 2021/12/10 07:07:31;
cltt 5 2021/12/10 06:57:31;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:50:56:c0:00:01;
uid "\001\000PV\300\000\001";
client-hostname "Hasee-Bad";
}
server-duid "\000\001\000\001)D\034\305\000\014)I\346\331";
[root@Server ~]# 

  • /var/lib/dhcpd/dhcpd.leases:дляDHCPбревнодокумент

Язык кода:javascript
копировать
Вышеуказанный контент является оригинальным.,Если есть какая-либо неопределённость или ошибка,Пожалуйста, укажите на это.

Автор этой статьи: плохо плохо

Ссылка на эту статью: https://blog.csdn.net/qq_45668124/article/details/121810404

Заявление об авторских правах: Если не указано иное, во всех статьях этого блога используются CC BY-NC-SA 4.0 Лицензионное соглашение. По вопросам перепечатки просьба обращаться к автору с указанием источника и ссылкой на данную статью!

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

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/210134.html Исходная ссылка: https://javaforall.cn

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose