Найти в Дзене
Добрая память

Настройка DHCP, DNS и SSH

Эта статья, описывает настройку DHCP, DNS и SSH. Она охватывает настройку устройств main-router, main-server, branch-server и client-pc, продолжая работу после настройки сетевых интерфейсов и маршрутизации. Команды основаны на вашем файле, с использованием vim и формата (insert), (ctrl+c), :wq. Каждое действие сопровождается пояснением, чтобы вы понимали его назначение и могли устранить ошибки. Цель: Настроить DHCP для автоматического назначения IP-адресов, DNS для разрешения имен устройств и SSH для безопасного удаленного доступа, обеспечивая полноценную работу сети. Устройства и IP-адреса: DHCP-сервер на main-router будет выдавать IP-адреса клиентам в VLAN 20 (сеть 192.168.20.0/24). apt-get install dnsmasq
vim /etc/dnsmasq.conf
(insert)
no-resolv
dhcp-range=192.168.20.2,192.168.20.14,9999h
dhcp-option=3,192.168.20.1
dhcp-option=6,192.168.10.2
interface=enp0s8.20
(ctrl+c)
:wq
systemctl restart dnsmasq
systemctl status dnsmasq
(ctrl+c) DNS-сервер на main-server будет разрешать имена ус
Оглавление

Введение

Эта статья, описывает настройку DHCP, DNS и SSH. Она охватывает настройку устройств main-router, main-server, branch-server и client-pc, продолжая работу после настройки сетевых интерфейсов и маршрутизации. Команды основаны на вашем файле, с использованием vim и формата (insert), (ctrl+c), :wq. Каждое действие сопровождается пояснением, чтобы вы понимали его назначение и могли устранить ошибки.

Цель: Настроить DHCP для автоматического назначения IP-адресов, DNS для разрешения имен устройств и SSH для безопасного удаленного доступа, обеспечивая полноценную работу сети.

Устройства и IP-адреса:

  • main-router.network.local:
    VLAN 20: 192.168.20.1/24 (клиенты, DHCP)
  • main-server.network.local:
    enp0s3: 192.168.10.2/24 (VLAN 10, DNS и SSH)
  • branch-server.network.local:
    enp0s3: 192.168.30.2/24 (SSH)
  • client-pc.network.local:
    enp0s3: DHCP (из диапазона 192.168.20.2–192.168.20.14)

Шаги и команды

1. Настройка DHCP на main-router

1.1. Установка и настройка dnsmasq

DHCP-сервер на main-router будет выдавать IP-адреса клиентам в VLAN 20 (сеть 192.168.20.0/24).

apt-get install dnsmasq
vim /etc/dnsmasq.conf
(insert)
no-resolv
dhcp-range=192.168.20.2,192.168.20.14,9999h
dhcp-option=3,192.168.20.1
dhcp-option=6,192.168.10.2
interface=enp0s8.20
(ctrl+c)
:wq
systemctl restart dnsmasq
systemctl status dnsmasq
(ctrl+c)

  • Пояснение:
    apt-get install dnsmasq: Устанавливает dnsmasq, который будет работать как DHCP-сервер.
    no-resolv: Отключает использование /etc/resolv.conf для DNS, так как DNS будет настроен на main-server.
    dhcp-range=192.168.20.2,192.168.20.14,9999h: Задает диапазон IP-адресов (192.168.20.2–192.168.20.14) для выдачи клиентам с временем аренды 9999 часов.
    dhcp-option=3,192.168.20.1: Указывает шлюз по умолчанию (main-router в VLAN 20).
    dhcp-option=6,192.168.10.2: Указывает DNS-сервер (main-server).
    interface=enp0s8.20: Ограничивает работу DHCP интерфейсом VLAN 20.
    systemctl restart dnsmasq: Перезапускает службу для применения настроек.
    systemctl status dnsmasq: Проверяет, что служба работает.
  • Проверка:
    Выполните systemctl status dnsmasq, служба должна быть активна (active (running)).
    На client-pc проверьте получение IP: ip a (должен быть IP из диапазона 192.168.20.2–192.168.20.14).
  • Ошибки:
    Если служба не запустилась, проверьте ошибки: journalctl -u dnsmasq.
    Если клиенты не получают IP, убедитесь, что интерфейс enp0s8.20 активен (ip a) и конфигурация корректна (cat /etc/dnsmasq.conf).

2. Настройка DNS на main-server

2.1. Установка и настройка dnsmasq

DNS-сервер на main-server будет разрешать имена устройств в сети и перенаправлять внешние запросы на публичный DNS.

systemctl disable --now bind
apt-get install dnsmasq
systemctl enable --now dnsmasq
vim /etc/dnsmasq.conf
(insert)
no-resolv
domain=network.local
server=8.8.8.8
interface=*
address=/main-router.network.local/192.168.10.1
ptr-record=1.10.168.192.in-addr.arpa,main-router.network.local
address=/branch-router.network.local/192.168.30.1
address=/main-server.network.local/192.168.10.2
ptr-record=2.10.168.192.in-addr.arpa,main-server.network.local
address=/branch-server.network.local/192.168.30.2
address=/client-pc.network.local/192.168.20.2
ptr-record=2.20.168.192.in-addr.arpa,client-pc.network.local
cname=moodle.network.local,main-router.network.local
cname=wiki.network.local,main-router.network.local
(ctrl+c)
:wq

  • Пояснение:
    systemctl disable --now bind: Отключает службу bind, если она установлена, чтобы избежать конфликтов.
    apt-get install dnsmasq: Устанавливает dnsmasq для работы как DNS-сервер.
    systemctl enable --now dnsmasq: Включает и запускает службу.
    no-resolv: Отключает использование /etc/resolv.conf.
    domain=network.local: Задает домен для сети.
    server=8.8.8.8: Перенаправляет внешние запросы на DNS Google.
    interface=*: Разрешает работу DNS на всех интерфейсах.
    address=/<name>/<ip>: Связывает имена устройств с их IP-адресами.
    ptr-record=<ip>,<name>: Настраивает обратное разрешение (PTR) для преобразования IP в имена.
    cname=<alias>,<name>: Создает псевдонимы moodle и wiki, указывающие на main-router.
  • Проверка:
    Выполните systemctl status dnsmasq, служба должна быть активна.
    На main-server проверьте разрешение имен: ping main-router.network.local (должен пинговаться 192.168.10.1).
    Проверьте внешний DNS: ping google.com.
  • Ошибки:
    Если служба не работает, проверьте логи: journalctl -u dnsmasq.
    Если имена не разрешаются, проверьте конфигурацию (cat /etc/dnsmasq.conf) или перезапустите службу (systemctl restart dnsmasq).

2.2. Настройка /etc/hosts

vim /etc/hosts
(insert)
192.168.10.1 main-router.network.local
(ctrl+c)
:wq

  • Пояснение: Добавляет локальное разрешение имени main-router для ускорения работы DNS на main-server.
  • Проверка: Выполните cat /etc/hosts, строка должна быть в файле. Проверьте: ping main-router.network.local.
  • Ошибки: Если имя не разрешается, проверьте синтаксис в /etc/hosts.

2.3. Перезапуск службы

systemctl restart dnsmasq

  • Пояснение: Применяет изменения в конфигурации DNS.
  • Проверка: Выполните systemctl status dnsmasq, служба должна быть активна.
  • Ошибки: Проверьте логи (journalctl -u dnsmasq).

3. Настройка SSH на main-server и branch-server

3.1. Настройка SSH на main-server

SSH позволит безопасно подключаться к main-server с других устройств.

vim /etc/ssh/sshd_config
(insert)
Port 2024
MaxAuthTries 2
AllowUsers netuser
PermitRootLogin no
Banner /root/banner
(ctrl+c)
:wq
vim /root/banner
(insert)
Authorized access only

(ctrl+c)
:wq
systemctl enable --now sshd
systemctl restart sshd

  • Пояснение:
    Port 2024: Изменяет порт SSH на 2024 для повышения безопасности.
    MaxAuthTries 2: Ограничивает попытки ввода пароля до двух.
    AllowUsers netuser: Разрешает вход только пользователю netuser.
    PermitRootLogin no: Запрещает вход root через SSH.
    Banner /root/banner: Показывает сообщение перед входом.
    vim /root/banner: Создает баннер с текстом «Authorized access only».
    systemctl enable --now sshd: Включает и запускает службу SSH.
    systemctl restart sshd: Применяет изменения.
  • Проверка:
    Выполните systemctl status sshd, служба должна быть активна.
    С другого устройства (например, client-pc) попробуйте: ssh netuser@192.168.10.2 -p 2024. Должно появиться сообщение баннера и запрос пароля (SecurePass123).
  • Ошибки:
    Если подключение не работает, проверьте статус службы (journalctl -u sshd) или конфигурацию (cat /etc/ssh/sshd_config).
    Убедитесь, что пользователь netuser создан (см. предыдущие статьи).

3.2. Настройка SSH на branch-server

Аналогичная настройка для branch-server.

vim /etc/ssh/sshd_config
(insert)
Port 2024
MaxAuthTries 2
AllowUsers netuser
PermitRootLogin no
Banner /root/banner
(ctrl+c)
:wq
vim /root/banner
(insert)
Authorized access only

(ctrl+c)
:wq
systemctl enable --now sshd
systemctl restart sshd

  • Пояснение: Те же настройки, что для main-server, обеспечивают единый стандарт безопасности.
  • Проверка:
    systemctl status sshd: Служба активна.
    С другого устройства: ssh netuser@192.168.30.2 -p 2024. Должен быть баннер и запрос пароля (SecurePass123).
  • Ошибки: Проверьте логи (journalctl -u sshd) или конфигурацию (cat /etc/ssh/sshd_config).

4. Настройка client-pc

4.1. Настройка сетевого интерфейса для DHCP

client-pc должен получать IP-адрес автоматически от DHCP-сервера на main-router.

cd /etc/net/ifaces/
mkdir enp0s3
cd enp0s3
vim options
(insert)
TYPE=eth
DISABLED=no
BOOTPROTO=dhcp
(ctrl+c)
:wq
systemctl restart network

  • Пояснение:
    Настраивает интерфейс enp0s3 для получения IP по DHCP.
    BOOTPROTO=dhcp указывает, что IP-адрес будет выдан автоматически.
    Перезапуск сети применяет настройки.
  • Проверка:
    Выполните ip a, интерфейс enp0s3 должен иметь IP из диапазона 192.168.20.2–192.168.20.14.
    Проверьте шлюз: ip route (должен быть default via 192.168.20.1).
    Пропингуйте DNS-сервер: ping 192.168.10.2.
  • Ошибки:
    Если IP не получен, проверьте статус DHCP на main-router (journalctl -u dnsmasq) или файл options (cat /etc/net/ifaces/enp0s3/options).

Заключение

Эта статья завершает настройку сети , обеспечивая автоматическое назначение IP-адресов через DHCP, разрешение имен через DNS и безопасный удаленный доступ через SSH. Вы настроили:

  • DHCP на main-router для клиентов в VLAN 20.
  • DNS на main-server для разрешения имен устройств и внешних запросов.
  • SSH на main-server и branch-server с защищенными настройками.
  • Сеть на client-pc для получения IP по DHCP.

Проверки для подтверждения работы:

  • На client-pc: ip a (IP из 192.168.20.2–192.168.20.14), ping google.com, ping main-router.network.local.
  • На main-server: ping branch-server.network.local, ssh netuser@192.168.30.2 -p 2024.
  • На branch-server: ssh netuser@192.168.10.2 -p 2024.

Что делать при ошибках:

  • Проверьте конфигурационные файлы (cat <файл>).
  • Просмотрите логи служб (journalctl -u <служба>).
  • Перезапустите службы (systemctl restart <служба>) или сеть (systemctl restart network).
  • Убедитесь, что интерфейсы активны (ip a).

Теперь ваша сеть полностью настроена.