Задание №1: Базовая настройка сети и хостов
Практическое руководство по выполнению базовой настройки сетевой инфраструктуры в ALT Linux.
В данном задании подробно разбирается не только последовательность действий, но и логика работы подсистемы etcnet, а также используемые конструкции командной строки Bash.
1. Как устроена сеть в ALT Linux (подсистема etcnet)
В отличие от Debian/Ubuntu (netplan, /etc/network/interfaces) или RHEL (NetworkManager), в ALT Linux традиционно используется подсистема etcnet.
Все настройки интерфейсов хранятся в каталоге /etc/net/ifaces/. Один интерфейс = одна папка.
Внутри папки интерфейса создаются простые текстовые файлы:
options— тип интерфейса и его свойства (TYPE=ethдля физической карты,TYPE=vlanдля виртуального саб-интерфейса,HOST=...— физический порт-носитель VLAN,VID=...— номер тега VLAN).ipv4address— IP-адрес с префиксом маски (например,192.168.100.1/27).ipv4route— статические маршруты или шлюз по умолчанию (default via 172.16.1.1).resolv.conf— настройки DNS для данного интерфейса (nameserver 77.88.8.8,search au-team.irpo).
2. Сводная таблица адресации (Таблица 2)
Используйте данную таблицу как эталон при настройке каждого узла:
| Устройство | Интерфейс | IP-адрес / Префикс | Шлюз по умолчанию | DNS-сервер | Описание / Назначение |
|---|---|---|---|---|---|
| ISP | enp7s2 | 172.16.1.1/28 | — | — | Линк в сторону HQ-RTR |
| ISP | enp7s3 | 172.16.2.1/28 | — | — | Линк в сторону BR-RTR |
| HQ-RTR | enp7s1 | 172.16.1.2/28 | 172.16.1.1 | 77.88.8.8 | Внешний линк к ISP |
| HQ-RTR | vlan100 | 192.168.100.1/27 | — | — | Сеть серверов HQ (до 32 IP) |
| HQ-RTR | vlan200 | 192.168.200.1/24 | — | — | Сеть клиентов HQ (от 16 IP) |
| HQ-RTR | vlan999 | 192.168.99.1/29 | — | — | Сеть управления (до 8 IP) |
| HQ-SRV | enp7s1 | 192.168.100.2/27 | 192.168.100.1 | 77.88.8.8 | Сервер главного офиса HQ |
| BR-RTR | enp7s1 | 172.16.2.2/28 | 172.16.2.1 | 77.88.8.8 | Внешний линк к ISP |
| BR-RTR | enp7s2 | 192.168.0.1/28 | — | — | Локальная сеть филиала BR |
| BR-SRV | enp7s1 | 192.168.0.2/28 | 192.168.0.1 | 192.168.100.2 | Сервер филиала BR |
Шаг 1. Настройка FQDN имён хостов
Команда hostnamectl set-hostname навсегда прописывает имя хоста в системе (в файл /etc/hostname).
Команда exec bash через точку с запятой заменяет текущий процесс оболочки на новый, благодаря чему приглашение командной строки (prompt) обновляется мгновенно без необходимости перезагружать систему или заново подключаться по SSH.
# На узле ISP:
hostnamectl set-hostname isp.au-team.irpo; exec bash
# На узле HQ-RTR:
hostnamectl set-hostname hq-rtr.au-team.irpo; exec bash
# На узле HQ-SRV:
hostnamectl set-hostname hq-srv.au-team.irpo; exec bash
# На узле HQ-CLI:
hostnamectl set-hostname hq-cli.au-team.irpo; exec bash
# На узле BR-RTR:
hostnamectl set-hostname br-rtr.au-team.irpo; exec bash
# На узле BR-SRV:
hostnamectl set-hostname br-srv.au-team.irpo; exec bashШаг 2. Настройка сетевых интерфейсов
2.1. Настройка ISP
Маршрутизатор ISP соединяет два офиса через интерфейсы enp7s2 и enp7s3.
# 1. Создаем каталоги настроек сразу для двух интерфейсов enp7s2 и enp7s3.
# Конструкция enp7s{2,3} раскрывается оболочкой в два аргумента: enp7s2 и enp7s3.
mkdir -p /etc/net/ifaces/enp7s{2,3}
# 2. Указываем тип интерфейсов.
# Утилита tee принимает поток от echo и записывает строку 'TYPE=eth'
# одновременно в два файла: enp7s2/options и enp7s3/options.
echo 'TYPE=eth' | tee /etc/net/ifaces/enp7s{2,3}/options
# 3. Назначаем статические IP-адреса на каждый интерфейс:
echo '172.16.1.1/28' > /etc/net/ifaces/enp7s2/ipv4address
echo '172.16.2.1/28' > /etc/net/ifaces/enp7s3/ipv4address
# 4. Перезапускаем сетевую службу для применения параметров:
systemctl restart network
# 5. Проверяем результат (в кратком цветном виде):
ip -c --br aЧто означает ip -c --br a?
-c(color) — подсвечивает состояния интерфейсов цветом (зеленый = UP, красный = DOWN).--br(brief) — выводит таблицу компактно: Имя интерфейса | Статус | IP-адрес.
2.2. Настройка HQ-RTR (Центральный маршрутизатор)
У маршрутизатора HQ есть внешний линк к ISP (enp7s1) и внутренний транк-порт (enp7s2), по которому передаются тегированные пакеты VLAN 100, 200 и 999.
# 1. Создаем каталоги для физических портов, VLAN-интерфейсов и туннеля gre1:
mkdir -p /etc/net/ifaces/{enp7s{1,2},vlan{100,200,999},gre1}
# 2. Физическим интерфейсам enp7s1 и enp7s2 задаем тип Ethernet:
echo 'TYPE=eth' | tee /etc/net/ifaces/enp7s{1,2}/options
# 3. Настраиваем внешний интерфейс enp7s1 (в сторону ISP):
echo '172.16.1.2/28' > /etc/net/ifaces/enp7s1/ipv4address
echo 'default via 172.16.1.1' > /etc/net/ifaces/enp7s1/ipv4route
echo 'nameserver 77.88.8.8' > /etc/net/ifaces/enp7s1/resolv.conf
# 4. Настраиваем виртуальные интерфейсы VLAN (100, 200, 999).
# Команда xargs берет каждый номер VLAN по очереди и создает файл options:
echo $'100\n200\n999' | xargs -i bash -c 'echo -e "TYPE=vlan\nHOST=enp7s2\nVID={}" > /etc/net/ifaces/vlan{}/options'
# 5. Назначаем IP-адреса на созданные VLAN-интерфейсы:
echo '192.168.100.1/27' > /etc/net/ifaces/vlan100/ipv4address
echo '192.168.200.1/24' > /etc/net/ifaces/vlan200/ipv4address
echo '192.168.99.1/29' > /etc/net/ifaces/vlan999/ipv4addressКак настроить VLAN вручную (если забыли команду с xargs)?
Вы можете настроить каждый VLAN отдельно тремя простыми командами:
# Для vlan100:
echo -e "TYPE=vlan\nHOST=enp7s2\nVID=100" > /etc/net/ifaces/vlan100/options
# Для vlan200:
echo -e "TYPE=vlan\nHOST=enp7s2\nVID=200" > /etc/net/ifaces/vlan200/options
# Для vlan999:
echo -e "TYPE=vlan\nHOST=enp7s2\nVID=999" > /etc/net/ifaces/vlan999/optionsПараметр HOST=enp7s2 указывает, через какую физическую сетевую карту ходить тегированному трафику, а VID задает номер тега 802.1Q.
Включение маршрутизации пакетов (Forwarding):
Чтобы маршрутизатор пересылал пакеты между подсетями, ядро Linux должно работать в режиме роутера:
# Разрешаем пересылку IPv4-пакетов в ядре:
echo "net.ipv4.ip_forward = 1" >> /etc/net/sysctl.conf
# Перезапускаем сеть и смотрим назначенные адреса:
systemctl restart network
ip -c --br a2.3. Настройка HQ-SRV (Сервер главного офиса)
Сервер находится в подсети VLAN 100 и использует адрес 192.168.100.2/27. Шлюзом для него выступает маршрутизатор HQ-RTR (192.168.100.1).
# 1. Указываем тип интерфейса (Ethernet):
echo 'TYPE=eth' > /etc/net/ifaces/enp7s1/options
# 2. Назначаем IP-адрес сервера:
echo '192.168.100.2/27' > /etc/net/ifaces/enp7s1/ipv4address
# 3. Указываем шлюз по умолчанию (наш маршрутизатор HQ-RTR):
echo 'default via 192.168.100.1' > /etc/net/ifaces/enp7s1/ipv4route
# 4. Указываем DNS-сервер Яндекса:
echo 'nameserver 77.88.8.8' > /etc/net/ifaces/enp7s1/resolv.conf
# 5. Применяем параметры и проверяем:
systemctl restart network
ip -c --br a2.4. Настройка BR-RTR (Маршрутизатор филиала)
Маршрутизатор филиала соединяет локальную сеть филиала (enp7s2, сеть 192.168.0.0/28) с каналом провайдера (enp7s1, линк 172.16.2.0/28).
# 1. Создаем каталоги для сетевых портов и туннеля gre1:
mkdir -p /etc/net/ifaces/{enp7s{1,2},gre1}
echo 'TYPE=eth' | tee /etc/net/ifaces/enp7s{1,2}/options
# 2. Настраиваем линк к провайдеру ISP:
echo '172.16.2.2/28' > /etc/net/ifaces/enp7s1/ipv4address
echo 'default via 172.16.2.1' > /etc/net/ifaces/enp7s1/ipv4route
echo 'nameserver 77.88.8.8' > /etc/net/ifaces/enp7s1/resolv.conf
# 3. Настраиваем интерфейс внутренней сети филиала:
echo '192.168.0.1/28' > /etc/net/ifaces/enp7s2/ipv4address
# 4. Включаем пересылку пакетов (маршрутизацию):
echo "net.ipv4.ip_forward = 1" >> /etc/net/sysctl.conf
# 5. Применяем настройки:
systemctl restart network
ip -c --br a2.5. Настройка BR-SRV (Сервер филиала)
Сервер филиала имеет IP-адрес 192.168.0.2/28. В качестве DNS-сервера по заданию указывается центральный сервер компании HQ-SRV (192.168.100.2), а также доменный суффикс au-team.irpo.
# 1. Задаем тип сетевого адаптера:
echo 'TYPE=eth' > /etc/net/ifaces/enp7s1/options
# 2. Назначаем статический IP-адрес:
echo '192.168.0.2/28' > /etc/net/ifaces/enp7s1/ipv4address
# 3. Прописываем маршрутизатор филиала как шлюз по умолчанию:
echo 'default via 192.168.0.1' > /etc/net/ifaces/enp7s1/ipv4route
# 4. Задаем домен поиска и корпоративный DNS-сервер:
# Конструкция $'...' позволяет вставить символ перевода строки \n:
echo $'search au-team.irpo\nnameserver 192.168.100.2' > /etc/net/ifaces/enp7s1/resolv.conf
# 5. Применяем настройки и проверяем состояние:
systemctl restart network
ip -c --br aШаг 3. Проверка работоспособности (Верификация)
После выполнения всех настроек обязательно проверьте связность:
Проверка статуса портов:
baship -c --br aВсе настроенные интерфейсы должны иметь статус
UPи корректные маски подсетей.Проверка наличия маршрута по умолчанию:
baship rВ выводе обязана присутствовать строка
default via <IP_шлюза>.Тестирование связности (Ping):
- С HQ-SRV: пинг своего шлюза
ping -c2 192.168.100.1и внешнего адреса ISPping -c2 172.16.1.1. - С BR-SRV: пинг своего шлюза
ping -c2 192.168.0.1и внешнего адреса ISPping -c2 172.16.2.1. - С HQ-RTR: пинг внешнего интерфейса филиала
ping -c2 172.16.2.2.
- С HQ-SRV: пинг своего шлюза
