---
1. Проверка текущей сетевой конфигурации
Перед началом настройки полезно узнать текущие параметры сети.
# Просмотр активных соединений
nmcli connection show
# Просмотр статуса всех интерфейсов
nmcli device status
# Подробная информация о конкретном соединении
nmcli connection show "System eth0"
---
2. Настройка статического IP-адреса с помощью nmcli
Для настройки статического IP-адреса на интерфейсе eth0:
# Создание или модификация соединения
nmcli connection modify "System eth0" ipv4.addresses 192.168.1.100/24
nmcli connection modify "System eth0" ipv4.gateway 192.168.1.1
nmcli connection modify "System eth0" ipv4.dns 8.8.8.8,8.8.4.4
nmcli connection modify "System eth0" ipv4.method manual
# Применение изменений
nmcli connection up "System eth0"
Пояснение:
ipv4.addresses: Указывает IP-адрес и маску подсети.ipv4.gateway: Шлюз по умолчанию.ipv4.dns: DNS-серверы.ipv4.method manual: Указывает, что используется статическая конфигурация (вместо DHCP).
---
3. Настройка DHCP
Для настройки интерфейса eth0 на получение IP-адреса через DHCP:
# Настройка соединения для использования DHCP
nmcli connection modify "System eth0" ipv4.method auto
# Применение изменений
nmcli connection up "System eth0"
Пояснение:
ipv4.method auto: Включает автоматическое получение IP-адреса через DHCP.
---
4. Редактирование сетевых настроек через файлы конфигурации
NetworkManager в RHEL 8 хранит конфигурации в каталоге /etc/NetworkManager/system-connections/. Для настройки статического IP через файл:
1. Создайте или отредактируйте файл для соединения, например /etc/NetworkManager/system-connections/eth0.nmconnection:
[connection]
id=eth0
type=ethernet
interface-name=eth0
[ipv4]
method=manual
addresses=192.168.1.100/24
gateway=192.168.1.1
dns=8.8.8.8;8.8.4.4
[ipv6]
method=ignore
2. Перезагрузите конфигурацию NetworkManager:
nmcli connection reload
nmcli connection up eth0
Пояснение:
- Файлы
.nmconnectionиспользуют формат ключ-значение. method=manualуказывает на статическую конфигурацию.method=ignoreотключает IPv6 (если не нужен).
---
5. Настройка VLAN
Для создания VLAN (например, VLAN ID 10 на интерфейсе eth0):
# Создание VLAN-соединения
nmcli connection add type vlan con-name vlan10 dev eth0 id 10 ipv4.method manual ipv4.addresses 192.168.10.100/24 ipv4.gateway 192.168.10.1
# Применение изменений
nmcli connection up vlan10
Пояснение:
type vlan: Указывает, что создаётся VLAN-соединение.dev eth0: Родительский интерфейс.id 10: VLAN ID.
---
6. Настройка сетевого моста (Bridge)
Сетевой мост используется, например, для виртуализации или контейнеров. Пример создания моста br0 с подключением интерфейса eth0:
# Создание моста
nmcli connection add type bridge con-name br0 ifname br0 ipv4.method manual ipv4.addresses 192.168.1.200/24 ipv4.gateway 192.168.1.1
# Подключение физического интерфейса к мосту
nmcli connection add type bridge-slave con-name eth0-slave ifname eth0 master br0
# Активация моста и интерфейса
nmcli connection up br0
nmcli connection up eth0-slave
Пояснение:
type bridge: Создаёт мост.type bridge-slave: Подключает интерфейс к мосту.master br0: Указывает, к какому мосту привязан интерфейс.
---
7. Настройка агрегации каналов (Bonding)
Bonding объединяет несколько интерфейсов для повышения пропускной способности или отказоустойчивости. Пример создания bond-интерфейса:
# Создание bond-интерфейса
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=100" ipv4.method manual ipv4.addresses 192.168.1.150/24 ipv4.gateway 192.168.1.1
# Добавление интерфейсов eth0 и eth1 к bond
nmcli connection add type bond-slave con-name bond0-slave1 ifname eth0 master bond0
nmcli connection add type bond-slave con-name bond0-slave2 ifname eth1 master bond0
# Активация bond
nmcli connection up bond0
Пояснение:
mode=active-backup: Режим отказоустойчивости (один интерфейс активен, другой — резервный).miimon=100: Интервал проверки состояния интерфейса (в миллисекундах).
---
8. Настройка DNS
Для явного указания DNS-серверов:
nmcli connection modify "System eth0" ipv4.dns "8.8.8.8,8.8.4.4"
nmcli connection up "System eth0"
Или через файл /etc/NetworkManager/system-connections/eth0.nmconnection:
[ipv4]
dns=8.8.8.8;8.8.4.4
---
9. Отключение NetworkManager и использование network-scripts (устаревший метод)
Хотя NetworkManager является предпочтительным методом в RHEL 8, можно использовать старый подход через network-scripts (не рекомендуется, так как поддержка ограничена):
1. Убедитесь, что пакет network-scripts установлен:
dnf install network-scripts
2. Отключите NetworkManager для интерфейса:
systemctl stop NetworkManager
systemctl disable NetworkManager
3. Настройте интерфейс через файл /etc/sysconfig/network-scripts/ifcfg-eth0:
TYPE=Ethernet
DEVICE=eth0
BOOTPROTO=none
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes
4. Перезапустите сеть:
systemctl restart network
Пояснение:
- Этот метод устарел и не рекомендуется, так как NetworkManager более гибок и интегрирован с современными инструментами.
---
10. Настройка через Cockpit (графический интерфейс)
Если установлен Cockpit, сеть можно настроить через веб-интерфейс:
1. Установите Cockpit:
dnf install cockpit
systemctl enable --now cockpit.socket
2. Откройте браузер и перейдите по адресу https://<IP-адрес>:9090`.
3. В разделе Networking настройте интерфейсы, IP-адреса, VLAN, мосты и т.д. через графический интерфейс.
---
11. Проверка и отладка
- Проверка статуса соединения:
nmcli connection show
nmcli device show eth0
- Логи NetworkManager:
journalctl -u NetworkManager
- Тестирование подключения:
ping 8.8.8.8
curl google.com
---
Итог
NetworkManager в RHEL 8 предоставляет гибкие и мощные инструменты для настройки сети через nmcli, файлы конфигурации или Cockpit. Основные сценарии включают настройку статического IP, DHCP, VLAN, мостов и bonding. В отличие от CentOS 7, где network-scripts был основным методом, RHEL 8 делает акцент на NetworkManager, что упрощает управление и интеграцию с современными технологиями. Для продвинутых сценариев (например, контейнеризация или виртуализация) рекомендуется использовать мосты или VLAN, как показано в примерах выше.
[file-name 000166_2025-07-01_12-53-09.txt]