Введение
Эта статья, описывает настройку 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).
Теперь ваша сеть полностью настроена.