Базовая настройка Локальной Сети: различия между версиями

Материал из Wikibebra
Перейти к навигацииПерейти к поиску
Нет описания правки
Строка 1: Строка 1:
== Предпосылки ==
= Базовая концепция развёртывания и начальной настройки инфраструктурных узлов =
* Все виртуальные машины (ВМ) развернуты и выключены.   
В условиях современной цифровой трансформации даже самая скромная лабораторная среда рано или поздно превращается в полноценную многоуровневую инфраструктуру. 
* Хост-гипервизор позволяет добавлять / удалять сетевые адаптеры «на лету».   
Чтобы миграция сервисов и расширение топологии не обернулись чередой внеплановых простоев, важно ещё на старте заложить единые подходы к именованию, адресации и способам администрирования. 
* ОС семейства Linux (RHEL / CentOS 7+) используется на каждом узле.
Ниже приведён подробный, многоступенчатый документ, описывающий принципы и приёмы, которые зарекомендовали себя в практике многочисленных пилотных внедрений, proof-of-concept-проектов и полевых испытаний.
 
== Предварительные условия ==
Перед тем как приступить к непосредственному взаимодействию с виртуальными машинами, целесообразно удостовериться, что каждый хост находится в **заведомо чистом** и предсказуемом состоянии:
* Инстансы ВМ уже созданы, но в данный момент выключены — это позволяет вносить любые изменения в аппаратную конфигурацию без риска спровоцировать сбой.   
* Гипервизор, под управлением которого работают виртуальные узлы, поддерживает «горячее» добавление сетевых интерфейсов; благодаря этому администратору не придётся прибегать к повторным перезагрузкам только ради подключения ещё одной виртуальной сети.   
* В качестве базовой платформы используется семейство Linux Enterprise (RHEL или CentOS версии 7 и выше). Такая унификация избавляет от фрагментарных решений и облегчает сопровождение в долгосрочной перспективе.


== Шаг 1. Задать полное имя хоста ==
== Шаг 1. Задать полное имя хоста ==
; Файл конфигурации
Каждый сервер, маршрутизатор или вспомогательный сервис становится частью общего пространства имён, и именно поэтому важно, чтобы имя хоста легко читалось, логически вписывалось в схему и не конфликтовало с существующими записями DNS.
<syntaxhighlight lang="bash">
 
mcedit /etc/hostname     # открыть файл для редактирования
<pre>
</syntaxhighlight>
#!bash
mcedit /etc/hostname
</pre>
 
Откройте файл в любом удобном текстовом редакторе и пропишите желаемый **FQDN**, например:
 
<pre>
hq-rtr.au-team.irpo
</pre>


Впишите **полное доменное имя** (FQDN) ― *hq-rtr.au-team.irpo*, затем сохраните и выйдите (`Esc`, → *Save*).
Принято, чтобы в префиксе отражалась роль или локация (HQ, BR и т. п.), а в суффиксе — доменная зона. Это упрощает поиск по инвентарным записям и снижает риск коллизий. Новое имя вступит в силу после перезагрузки (см. шаг 10).
Изменение вступит в силу после перезагрузки (см. шаг 10).


== Шаг 2. Установить доменное имя (DNS-суффикс) ==
== Шаг 2. Установить доменное имя (DNS-суффикс) ==
<syntaxhighlight lang="bash">
Если в вашей среде продолжает использоваться NIS/YP, заранее задайте временный домен для текущего сеанса:
domainname au-team.irpo  # задать NIS/YP-домен текущего сеанса
</syntaxhighlight>


== Шаг 3. Проверить имеющиеся сетевые адаптеры ==
<pre>
<syntaxhighlight lang="bash">
#!bash
ip -c a                  # цветной вывод перечня интерфейсов
domainname au-team.irpo
</syntaxhighlight>
</pre>


Если требуемых интерфейсов нет перейдите в настройки ВМ и добавьте их.
Эта команда изменяет только текущий сеанс и не сохраняет настройки после перезагрузки постоянная запись лежит в /etc/hostname.
 
== Шаг 3. Проверить наличие и состояние сетевых адаптеров ==
Перед настройкой IP-адресов убедитесь, что все нужные интерфейсы видны системе:
 
<pre>
#!bash
ip -c a
</pre>
 
Вы увидите полный список интерфейсов с цветовой подсветкой: активные, ожидающие линк и отключённые.


== Шаг 4. Добавить сетевые адаптеры в гипервизоре ==
== Шаг 4. Добавить сетевые адаптеры в гипервизоре ==
# Выберите ВМ → **Edit Settings** → *Add Network Adapter*.
Операции могут незначительно отличаться в разных платформах (VMware, Proxmox, Hyper-V и т. д.), но общая логика такова:
# Назначьте каждую виртуальную сеть согласно топологии (см. схему в задании).
# Откройте свойства ВМ.
# Перейдите в раздел «Edit Settings».
# Выберите «Add Network Adapter».
# Назначьте каждому адаптеру соответствующую виртуальную сеть по вашей топологии.


== Шаг 5. Создать каталоги конфигурации интерфейсов ==
== Шаг 5. Подготовить каталоги и шаблоны конфигураций ==
<syntaxhighlight lang="bash">
На RHEL/CentOS все интерфейсы хранятся в /etc/sysconfig/network-scripts. Если директории нет или она пуста, создайте её и скопируйте шаблон:
# пример для нового адаптера ens224
 
<pre>
#!bash
sudo mkdir -p /etc/sysconfig/network-scripts
sudo mkdir -p /etc/sysconfig/network-scripts
sudo cp /etc/sysconfig/network-scripts/ifcfg-ens192 \
sudo cp /etc/sysconfig/network-scripts/ifcfg-ens192 \
         /etc/sysconfig/network-scripts/ifcfg-ens224
         /etc/sysconfig/network-scripts/ifcfg-ens224
</syntaxhighlight>
</pre>
 
Копирование существующего файла гарантирует наличие базовых параметров (TYPE, NM_CONTROLLED, ONBOOT и т. д.).
 
== Шаг 6. Назначить IP-адрес и параметры подключения ==
=== DHCP === 
Если в подсети есть надёжный DHCP-сервер, достаточно оставить:
 
<pre>
BOOTPROTO=dhcp
</pre>
 
Сеть автоматически выдаст адрес, и данные сохранятся в директории NetworkManager.


== Шаг 6. Назначить IP-адреса ==
=== Статический адрес ===
=== DHCP ===
Для критичных узлов (маршрутизаторов, контроллеров) укажите:
Оставьте в файле параметр <code>BOOTPROTO=dhcp</code> ― адрес получит сервер DHCP.


=== Статический адрес ===
<pre>
<syntaxhighlight lang="ini">
#!ini
DEVICE=ens224
DEVICE=ens224
BOOTPROTO=static
BOOTPROTO=static
Строка 50: Строка 87:
DNS1=192.168.50.10
DNS1=192.168.50.10
ONBOOT=yes
ONBOOT=yes
</syntaxhighlight>
</pre>
 
Такой профиль гарантирует неизменность IP-адреса при каждом запуске.
 
== Шаг 7. Определить основной шлюз для подсети ==
В каждом статическом профиле указывается ближайший L3-маршрутизатор:
 
* **BR-RTR**: GATEWAY=172.16.0.1 
* **HQ-RTR**: GATEWAY=10.0.0.1 


== Шаг 7. Настроить основной шлюз ==
Эти значения должны соответствовать вашей топологической схеме.
Укажите <code>GATEWAY</code> для каждой сети:
* **BR-RTR** — <code>GATEWAY=172.16.0.1</code> 
* **HQ-RTR** — <code>GATEWAY=10.0.0.1</code> 
* … и т. д. по схеме.


== Шаг 8. Настроить DNS-серверы (кроме ISP) ==
== Шаг 8. Задекларировать DNS-серверы ==
В том же файле интерфейса пропишите:
Чтобы обеспечить надёжное резолвирование, можно указать сразу два сервера:
<syntaxhighlight lang="ini">
 
<pre>
#!ini
DNS1=10.0.0.53
DNS1=10.0.0.53
DNS2=8.8.8.8
DNS2=8.8.8.8
</syntaxhighlight>
</pre>


== Шаг 9. Применить сетевые изменения ==
Первый адрес — внутренний корпоративный резолвер, второй — публичный.
<syntaxhighlight lang="bash">
sudo systemctl restart network  # перезапуск службы сети
ip -c a                          # убедитесь, что адреса применены
</syntaxhighlight>


== Шаг 10. Перезагрузить ВМ для применения hostname ==
== Шаг 9. Применить изменения в сети ==
<syntaxhighlight lang="bash">
После редактирования перезапустите сетевой сервис и проверьте результат:
 
<pre>
#!bash
sudo systemctl restart network
ip -c a
</pre>
 
Эти команды подтвердят, что интерфейсы подняты и настроены корректно.
 
== Шаг 10. Перезагрузить виртуальную машину ==
Финальная перезагрузка закрепит новое имя хоста и гарантирует применение всех низкоуровневых настроек:
 
<pre>
#!bash
sudo reboot
sudo reboot
</syntaxhighlight>
</pre>


= Приватные диапазоны RFC 1918 =
После входа убедитесь, что хост доступен по новому FQDN и IP-адресам.
 
= Справочный раздел: приватные диапазоны RFC 1918 =
{| class="wikitable"
{| class="wikitable"
! Блок !! Первый адрес !! Последний адрес !! Префикс
! Диапазон !! Начало !! Конец !! Префикс
|-
|-
| 10.0.0.0 || 10.0.0.0 || 10.255.255.255 || /8
| 10.0.0.0     || 10.0.0.0     || 10.255.255.255 || /8
|-
|-
| 172.16.0.0 || 172.16.0.0 || 172.31.255.255 || /12
| 172.16.0.0   || 172.16.0.0   || 172.31.255.255 || /12
|-
|-
| 192.168.0.0 || 192.168.0.0 || 192.168.255.255 || /16
| 192.168.0.0 || 192.168.0.0 || 192.168.255.255 || /16
|}
|}


= Примеры адресации =
= Иллюстративные примеры адресации ==
* **HQ-SRV:** 10.0.10.10/24, шлюз 10.0.10.1   
* **HQ-SRV** 10.0.10.10/24, шлюз 10.0.10.1   
* **BR-SRV:** 172.16.10.10/24, шлюз 172.16.10.1   
* **BR-SRV** 172.16.10.10/24, шлюз 172.16.10.1   
* **CLI:** DHCP, резервирование 192.168.56.100
* **CLI-PC** DHCP, статическое резервирование 192.168.56.100


= Разрешённые команды и их назначение =
= Официально допустимые команды и их назначение =
{| class="wikitable"
{| class="wikitable"
! Команда !! Назначение
! Команда !! Назначение
|-
|-
| <code>mcedit /etc/hostname</code> || Правка файла hostname (требует Midnight Commander)
| <code>mcedit /etc/hostname</code>               || Редактирование имени хоста
|-
|-
| <code>domainname &lt;FQDN&gt;</code> || Установка NIS/YP-домена на время сеанса
| <code>domainname &lt;FQDN&gt;</code>           || Установка NIS/YP-домена для сеанса
|-
|-
| <code>ip -c a</code> || Вывод списка интерфейсов и адресов с цветовой разметкой
| <code>ip -c a</code>                           || Отображение состояния интерфейсов
|-
|-
| <code>mkdir -p</code> || Создание каталогов конфигурации
| <code>mkdir -p &lt;путь&gt;</code>             || Создание каталогов без ошибок, если они уже существуют
|-
|-
| <code>cp</code> || Копирование шаблонного файла конфигурации интерфейса
| <code>cp &ltИсточник&gt; &ltПриёмник&gt;</code> || Копирование файлов конфигурации
|-
|-
| <code>systemctl restart network</code> || Перезапуск сетевых служб для применения настроек
| <code>systemctl restart network</code>         || Перезапуск сетевого сервиса
|-
|-
| <code>reboot</code> || Перезагрузка системы
| <code>reboot</code>                           || Полная перезагрузка системы
|}
|}
= Примечания =
* Проверяйте, чтобы каждый статический адрес находился **внутри приватного диапазона** RFC 1918 (см. таблицу выше). 
* После изменения имени хоста некоторые службы (например, SSH) могут перезаписать свои ключи; учтите это при деплое. 
* На ISP-узле DNS прописывать **не нужно** — адреса выдаются провайдером.

Версия от 18:57, 18 мая 2025

Базовая концепция развёртывания и начальной настройки инфраструктурных узлов

В условиях современной цифровой трансформации даже самая скромная лабораторная среда рано или поздно превращается в полноценную многоуровневую инфраструктуру. Чтобы миграция сервисов и расширение топологии не обернулись чередой внеплановых простоев, важно ещё на старте заложить единые подходы к именованию, адресации и способам администрирования. Ниже приведён подробный, многоступенчатый документ, описывающий принципы и приёмы, которые зарекомендовали себя в практике многочисленных пилотных внедрений, proof-of-concept-проектов и полевых испытаний.

Предварительные условия

Перед тем как приступить к непосредственному взаимодействию с виртуальными машинами, целесообразно удостовериться, что каждый хост находится в **заведомо чистом** и предсказуемом состоянии:

  • Инстансы ВМ уже созданы, но в данный момент выключены — это позволяет вносить любые изменения в аппаратную конфигурацию без риска спровоцировать сбой.
  • Гипервизор, под управлением которого работают виртуальные узлы, поддерживает «горячее» добавление сетевых интерфейсов; благодаря этому администратору не придётся прибегать к повторным перезагрузкам только ради подключения ещё одной виртуальной сети.
  • В качестве базовой платформы используется семейство Linux Enterprise (RHEL или CentOS версии 7 и выше). Такая унификация избавляет от фрагментарных решений и облегчает сопровождение в долгосрочной перспективе.

Шаг 1. Задать полное имя хоста

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

#!bash
mcedit /etc/hostname

Откройте файл в любом удобном текстовом редакторе и пропишите желаемый **FQDN**, например:

hq-rtr.au-team.irpo

Принято, чтобы в префиксе отражалась роль или локация (HQ, BR и т. п.), а в суффиксе — доменная зона. Это упрощает поиск по инвентарным записям и снижает риск коллизий. Новое имя вступит в силу после перезагрузки (см. шаг 10).

Шаг 2. Установить доменное имя (DNS-суффикс)

Если в вашей среде продолжает использоваться NIS/YP, заранее задайте временный домен для текущего сеанса:

#!bash
domainname au-team.irpo

Эта команда изменяет только текущий сеанс и не сохраняет настройки после перезагрузки — постоянная запись лежит в /etc/hostname.

Шаг 3. Проверить наличие и состояние сетевых адаптеров

Перед настройкой IP-адресов убедитесь, что все нужные интерфейсы видны системе:

#!bash
ip -c a

Вы увидите полный список интерфейсов с цветовой подсветкой: активные, ожидающие линк и отключённые.

Шаг 4. Добавить сетевые адаптеры в гипервизоре

Операции могут незначительно отличаться в разных платформах (VMware, Proxmox, Hyper-V и т. д.), но общая логика такова:

  1. Откройте свойства ВМ.
  2. Перейдите в раздел «Edit Settings».
  3. Выберите «Add Network Adapter».
  4. Назначьте каждому адаптеру соответствующую виртуальную сеть по вашей топологии.

Шаг 5. Подготовить каталоги и шаблоны конфигураций

На RHEL/CentOS все интерфейсы хранятся в /etc/sysconfig/network-scripts. Если директории нет или она пуста, создайте её и скопируйте шаблон:

#!bash
sudo mkdir -p /etc/sysconfig/network-scripts
sudo cp /etc/sysconfig/network-scripts/ifcfg-ens192 \
        /etc/sysconfig/network-scripts/ifcfg-ens224

Копирование существующего файла гарантирует наличие базовых параметров (TYPE, NM_CONTROLLED, ONBOOT и т. д.).

Шаг 6. Назначить IP-адрес и параметры подключения

DHCP

Если в подсети есть надёжный DHCP-сервер, достаточно оставить:

BOOTPROTO=dhcp

Сеть автоматически выдаст адрес, и данные сохранятся в директории NetworkManager.

Статический адрес

Для критичных узлов (маршрутизаторов, контроллеров) укажите:

#!ini
DEVICE=ens224
BOOTPROTO=static
IPADDR=192.168.50.2
PREFIX=24
GATEWAY=192.168.50.1
DNS1=192.168.50.10
ONBOOT=yes

Такой профиль гарантирует неизменность IP-адреса при каждом запуске.

Шаг 7. Определить основной шлюз для подсети

В каждом статическом профиле указывается ближайший L3-маршрутизатор:

  • **BR-RTR**: GATEWAY=172.16.0.1
  • **HQ-RTR**: GATEWAY=10.0.0.1

Эти значения должны соответствовать вашей топологической схеме.

Шаг 8. Задекларировать DNS-серверы

Чтобы обеспечить надёжное резолвирование, можно указать сразу два сервера:

#!ini
DNS1=10.0.0.53
DNS2=8.8.8.8

Первый адрес — внутренний корпоративный резолвер, второй — публичный.

Шаг 9. Применить изменения в сети

После редактирования перезапустите сетевой сервис и проверьте результат:

#!bash
sudo systemctl restart network
ip -c a

Эти команды подтвердят, что интерфейсы подняты и настроены корректно.

Шаг 10. Перезагрузить виртуальную машину

Финальная перезагрузка закрепит новое имя хоста и гарантирует применение всех низкоуровневых настроек:

#!bash
sudo reboot

После входа убедитесь, что хост доступен по новому FQDN и IP-адресам.

Справочный раздел: приватные диапазоны RFC 1918

Диапазон Начало Конец Префикс
10.0.0.0 10.0.0.0 10.255.255.255 /8
172.16.0.0 172.16.0.0 172.31.255.255 /12
192.168.0.0 192.168.0.0 192.168.255.255 /16

Иллюстративные примеры адресации =

  • **HQ-SRV** — 10.0.10.10/24, шлюз 10.0.10.1
  • **BR-SRV** — 172.16.10.10/24, шлюз 172.16.10.1
  • **CLI-PC** — DHCP, статическое резервирование 192.168.56.100

Официально допустимые команды и их назначение

Команда Назначение
mcedit /etc/hostname Редактирование имени хоста
domainname <FQDN> Установка NIS/YP-домена для сеанса
ip -c a Отображение состояния интерфейсов
mkdir -p <путь> Создание каталогов без ошибок, если они уже существуют
cp &ltИсточник> &ltПриёмник> Копирование файлов конфигурации
systemctl restart network Перезапуск сетевого сервиса
reboot Полная перезагрузка системы