Подключение устройств мероприятия

LinuxBeginner
Практиковаться сейчас

Введение

Maple Yard готовится к мероприятию выходного дня. Эталонная стойка уже получает сетевые параметры автоматически. Двум новым гостевым устройствам нужен такой же сервис, но они не должны занимать адреса, зарезервированные для маршрутизатора или постоянных стоек.

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

Используйте Network Desk для изменения сервера, Guest A и Guest B для клиентских команд, а Network Map для наблюдения за работающими узлами. Это изолированные сетевые узлы Linux с общим ядром. Их каталоги и сетевое состояние разделены. Открытие или повторное подключение вкладки не сбрасывает курс.

Подготовка адресов для новых устройств

На этом шаге вы выберете безопасный динамический диапазон и настроите его выдачу сервером DHCP. Начните с Network Map. Найдите карточку reference и нажмите Request programme. Должна появиться программа Maple Yard. Это уже работающий пример, а не ваш новый результат.

Адрес IPv4 идентифицирует устройство в этой сети. Обозначение /24 в 10.77.0.10/24 означает, что адреса, начинающиеся с 10.77.0, относятся к этой локальной подсети. Шлюз передаёт трафик серверу программы в другой подсети. DNS преобразует имя, например programme.event.test, в адрес. Само получение адреса не доказывает полезность остальных параметров.

Переключитесь на Network Desk. Терминал открывается в /home/labex/project/event-network. pwd выводит текущий каталог, а cat — текстовый файл:

pwd
cat devices.tsv

MAC-адрес — идентификатор устройства на канальном уровне в подготовленной сети. Он отличается от адреса IPv4 и удобного имени вкладки. Эталонная стойка использует 10.77.0.10, маршрутизатор и DNS — 10.77.0.1. Не меняйте эти постоянные адреса. Гостевой пул — от 10.77.0.100 до 10.77.0.109 включительно, с маской 255.255.255.0, соответствующей тому же /24.

Прочитайте редактируемый файл сервера:

cat dhcp.conf

Строка conf-file подключает подготовленный эталонный сервис. Сохраните её. dhcp-range задаёт первый и последний адреса, маску подсети и срок аренды. Аренда — временное назначение; 2h означает два часа, а не постоянное владение.

Следующий here-document записывает небольшой файл целиком. > заменяет прежнее содержимое. Кавычки вокруг 'CONF' сохраняют буквальный текст блока; завершающее CONF должно стоять отдельно с начала строки. Скопируйте весь блок:

cat > dhcp.conf <<'CONF'
conf-file=/opt/labex/event-network/server-base.conf
dhcp-range=10.77.0.100,10.77.0.109,255.255.255.0,2h
CONF

--test проверяет синтаксис, не запуская другой сервер. --conf-file выбирает ваш файл:

dnsmasq --test --conf-file=dhcp.conf

Ожидается dnsmasq: syntax check OK.. При ошибке прочитайте сохранённый файл через cat, восстановите показанный блок и проверьте снова. Не перезапускайте работающий сервис с известной синтаксической ошибкой.

sudo выполняет эту одну административную команду. systemctl restart загружает изменённую конфигурацию в сервис курса с именем event-dhcp:

sudo systemctl restart event-dhcp

Успешный перезапуск обычно ничего не выводит. Он не запрашивает аренды за гостей. Вы подготовили то, что сервер может предложить; клиенты ещё должны запросить параметры. В первой работе dnsmasq сообщает свой подготовленный локальный адрес как шлюз и DNS по умолчанию. Следующая работа учит управлять этими значениями через явные параметры сервера.

Запрос аренды каждым гостем

На этом шаге вы подключите обоих новых клиентов реальными запросами DHCP. Переключитесь на Guest A. Это административная оболочка изолированного клиента, уже в его рабочем каталоге. Его eth0 — учебное соединение, а не интерфейс платформы. Не выполняйте эти команды в Network Desk.

dhclient — предоставленный клиент ISC DHCP. Курс использует неизменённую локальную копию с подготовленным обработчиком, применяющим только полученные параметры к изолированному узлу. Он не выдумывает адрес и не меняет резолвер платформы. -4 выбирает IPv4, -v показывает обмен, а -1 завершает эту попытку получения, если сервер не отвечает. -cf client.conf выбирает предоставленные настройки; -pf client.pid и -lf client.leases сохраняют состояние процесса и аренд этого клиента в его каталоге. Подготовленный файл аренд сначала пуст; клиент записывает туда реально полученную аренду. Сохраните подготовленные файлы.

Выполните одной строкой:

dhclient -4 -v -1 -cf client.conf -pf client.pid -lf client.leases eth0

Найдите DHCPDISCOVER, DHCPOFFER, DHCPREQUEST и DHCPACK. При первом обмене клиент ищет сервер, получает предложение, запрашивает его и получает подтверждение. Существующая аренда может сократить последующий обмен. Итоговое bound to 10.77.0... обозначает назначенный адрес. Точный гостевой адрес и время продления могут меняться в пределах пула.

ip -4 addr show показывает адреса IPv4 выбранного интерфейса:

ip -4 addr show dev eth0

Ожидается адрес из 10.77.0.100–10.77.0.109 с /24.

Переключитесь на Guest B, у которого собственные каталог и состояние клиента. Выполните полную команду и там:

dhclient -4 -v -1 -cf client.conf -pf client.pid -lf client.leases eth0
ip -4 addr show dev eth0

Оба адреса должны входить в пул и различаться. Если видите No DHCPOFFERS received, сначала проверьте вкладку, затем вернитесь в Network Desk, прочитайте dhcp.conf, проверьте синтаксис и перезапустите event-dhcp. Повторите получение только на ещё ожидающем клиенте. Не удаляйте файлы аренд и не сбрасывайте VM ради исправления опечатки.

Перезагрузите страницу Network Map. Карточки двух гостей должны показывать реальные адреса. Такое наблюдение не запрашивает и не восстанавливает аренду.

Получение программы с принятыми параметрами

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

ip route show default показывает шлюз для целей за пределами локальной подсети. /etc/resolv.conf содержит DNS-резолвер этого клиента:

ip route show default
cat /etc/resolv.conf

Ожидаются шлюз 10.77.0.1 на eth0 и nameserver 10.77.0.1. Подготовленный маршрутизатор также предоставляет DNS. Сама программа находится в другой подсети, поэтому запросу нужны оба параметра.

curl запрашивает HTTP-ресурс. --noproxy '*' исключает внешние прокси для локального упражнения; кавычки оставляют * буквальным. -f считает HTTP-ошибки неудачей, -s скрывает индикатор хода, а -S сохраняет показ ошибок. --max-time 5 ограничивает ожидание пятью секундами. -o programme.txt сохраняет байты ответа в текущем каталоге клиента:

curl --noproxy '*' -fsS --max-time 5 -o programme.txt http://programme.event.test:8080/programme.txt
cat programme.txt

Ожидаемое содержимое:

MAPLE YARD | Weekend programme
10:00 Welcome desk opens
11:00 Bicycle repair
13:00 Seed exchange
15:00 Community workshop

Переключитесь на Guest B и изучите независимо полученные параметры:

ip route show default
cat /etc/resolv.conf

Загрузите и прочитайте программу также там:

curl --noproxy '*' -fsS --max-time 5 -o programme.txt http://programme.event.test:8080/programme.txt
cat programme.txt

Could not resolve host указывает на разрешение имён; тайм-аут соединения может указывать на путь или шлюз; Connection refused означает отсутствие принимающего подключения сервиса на выбранном порту цели. Даже успешный HTTP-ответ может содержать не тот ресурс, поэтому прочитайте все пункты программы.

Если адрес есть, но запрос не удаётся, сравните шлюз и DNS с указанными выше значениями. Вернитесь к правильному файлу сервера, а не назначайте параметры клиентам вручную. Если нужно освободить и снова запросить аренду, -r освобождает текущую аренду этого клиента и завершает его старый процесс:

dhclient -4 -v -r -cf client.conf -pf client.pid -lf client.leases eth0

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

Наконец, перезагрузите Network Map. Нажмите Request programme у обоих гостей и эталонной стойки. Все трое должны вернуть полную программу. Сохранённые файлы и реальные запросы показывают работоспособную конфигурацию, а не только правдоподобный файл сервера.

Network Map после реальных клиентских запросов

Сравните адрес IPv4, шлюз и DNS каждой карточки, затем прочитайте ответ программы под кнопкой. Конкретные гостевые адреса могут отличаться от примера.

Резюме

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

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