Заощадьте 15% на всіх хостингових послугах

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код: Skills Почати
Рубрики
Linux Адміністрація

Як налаштувати мережу в CentOS: Повний покроковий посібник

Налаштування мережі в CentOS є однією з найбільш фундаментальних завдань для будь-якого системного адміністратора. Незалежно від того, чи ви налаштовуєте щойно розгорнуте середовище VPS Hosting або керуєте Dedicated Server на голому залізі, правильне налаштування мережевих інтерфейсів є критичним першим кроком до стабільного, підключеного та готового до виробництва сервера.

Цей комплексний посібник проведе вас через все, що вам потрібно знати: визначення мережевих інтерфейсів, призначення статичних IP-адрес, налаштування DHCP, перезапуск мережевих служб, перевірку підключення та вирішення найпоширеніших проблем з мережею, які виникають у системах CentOS.

1. Розуміння мережевих інтерфейсів у CentOS

У CentOS (версії 7 та 8) мережеві інтерфейси керуються через файли конфігурації, які зберігаються в наступному каталозі:

/etc/sysconfig/network-scripts/

Кожний мережевий інтерфейс має виділений файл конфігурації, названий за такою конвенцією:

ifcfg-<interface_name>

Де <interface_name> — це ідентифікатор, присвоєний інтерфейсу операційною системою. Типові приклади включають:

Назва інтерфейсуОпис
eth0Традиційне найменування інтерфейсу Ethernet
ens33Передбачуване найменування мережевого інтерфейсу (VMware/віртуальний)
ens3Поширене у віртуальних машинах на основі KVM
enp0s3Ethernet на основі PCI (VirtualBox, bare metal)

> Примітка: CentOS 7 та пізніші версії за замовчуванням використовують «передбачувані назви мережевих інтерфейсів» (наприклад, ens33, enp3s0) замість застарілої конвенції найменування eth0. Це покращує узгодженість під час перезавантажень та змін обладнання.

Розуміння цієї структури є важливим перед внесенням будь-яких змін у конфігурацію. Редагування неправильного файлу або використання неправильних параметрів може призвести до втрати мережевої з’єднаності — особливо критичної проблеми при керуванні віддаленими серверами.

2. Визначення доступних мережевих інтерфейсів

Перед внесенням будь-яких змін до конфігурації необхідно спочатку визначити, які мережеві інтерфейси існують у вашій системі та який їхній поточний стан.

Крок 1: Доступ до терміналу

Підключіться до вашого сервера через SSH або отримайте прямий доступ до терміналу, якщо у вас є фізичний доступ або доступ до консолі:

ssh user@your-server-ip

Крок 2: Список усіх мережевих інтерфейсів

Виконайте наступну команду для відображення всіх доступних мережевих інтерфейсів разом з їхніми IP-адресами та статусами:

ip addr

Приклад виводу:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
    link/ether 00:0c:29:ab:cd:ef brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.105/24 brd 192.168.1.255 scope global dynamic ens33

Крім того, ви можете використовувати старішу команду ifconfig (потребує пакета net-tools):

ifconfig -a

Або перелічіть лише назви інтерфейсів за допомогою:

ip link show

Запишіть назву інтерфейсу, який ви хочете налаштувати (наприклад, ens33), перш ніж перейти до наступного розділу.

3. Налаштування статичної IP-адреси

Призначення статичної IP-адреси — це рекомендований підхід для серверів, оскільки він гарантує, що IP-адреса ніколи не змінюватиметься несподівано — що критично важливо для DNS-записів, правил брандмауера та стабільності віддаленого доступу.

Крок 1: Відкрийте файл конфігурації мережевого інтерфейсу

Використовуйте текстовий редактор, такий як nano або vi, щоб відкрити файл конфігурації для вашого інтерфейсу. Замініть ens33 на фактичну назву вашого інтерфейсу:

sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33

Крок 2: Додайте або змініть параметри конфігурації

Файл може вже містити деякі параметри. Оновіть або додайте наступні рядки для налаштування статичної IP-адреси:

DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

Розбір параметрів:

ПараметрОпис
DEVICEНазва мережевого інтерфейсу
TYPEТип інтерфейсу (зазвичай Ethernet)
BOOTPROTOВстановіть на none для призначення статичної IP
ONBOOTВстановіть на yes для активації інтерфейсу при завантаженні
IPADDRВаша бажана статична IP-адреса
NETMASKМаска підмережі для вашої мережі
GATEWAYШлюз за замовчуванням (IP-адреса вашого маршрутизатора)
DNS1Основний DNS-сервер (Google: 8.8.8.8)
DNS2Вторинний DNS-сервер (Google: 8.8.4.4) — необов’язково

> Важливо: Замініть приклади значень (192.168.1.100, 192.168.1.1 тощо) на фактичні значення, надані вашим мережевим провайдером або хостинг-провайдером.

Ви також можете використовувати нотацію CIDR з параметром PREFIX замість NETMASK:

PREFIX=24

Це еквівалентно NETMASK=255.255.255.0.

Крок 3: Збережіть та вийдіть

Якщо використовуєте nano, збережіть файл, натиснувши:

CTRL + X → Y → Enter

Якщо використовуєте vi або vim:

:wq → Enter

4. Налаштування DHCP (динамічне призначення IP-адрес)

Якщо ваше середовище використовує DHCP-сервер для автоматичного призначення IP-адрес (поширено в середовищах розробки, хмарних платформах або внутрішніх мережах), налаштуйте інтерфейс наступним чином:

Крок 1: Відкрийте файл конфігурації

sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33

Крок 2: Встановіть параметри DHCP

Замініть існуючий вміст на наступну мінімальну конфігурацію DHCP:

DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=dhcp
ONBOOT=yes

Крок 3: Збережіть та вийдіть

Збережіть файл, використовуючи той самий метод, описаний у попередньому розділі.

> Коли використовувати DHCP проти статичної IP: Використовуйте DHCP для робочих станцій, розробницьких ВМ або тимчасових середовищ. Використовуйте статичні IP для виробничих серверів, веб-серверів, серверів баз даних та будь-якої системи, яка вимагає послідовної, передбачуваної адреси. Якщо ви розміщуєте веб-сайти або додатки на плані Shared Web Hosting або VPS, статична IP настійно рекомендується.

5. Перезавантаження мережевого сервісу

Після збереження змін конфігурації необхідно перезавантажити мережевий сервіс, щоб застосувати їх. Існує кілька методів залежно від вашої версії CentOS.

Метод 1: Перезавантаження всього мережевого сервісу (CentOS 7)

sudo systemctl restart network

Метод 2: Вимкнення та повторне включення інтерфейсу

Цей метод перезавантажує лише конкретний інтерфейс, мінімізуючи порушення роботи інших інтерфейсів:

sudo ifdown ens33 && sudo ifup ens33

Метод 3: Використання NetworkManager (CentOS 7/8)

Якщо NetworkManager активний у вашій системі, використовуйте nmcli:

sudo nmcli connection reload
sudo nmcli connection up ens33

Метод 4: Перезавантаження сервісу NetworkManager

sudo systemctl restart NetworkManager

> Попередження: Якщо ви підключені через SSH, перезавантаження мережевого сервісу тимчасово розірве ваше з’єднання. Переконайтеся, що у вас є альтернативний спосіб доступу до сервера (наприклад, консоль або KVM) на випадок, якщо нова конфігурація містить помилку.

6. Перевірка конфігурації мережі

Після перезавантаження мережевого сервісу перевірте, що ваша конфігурація була застосована правильно.

Перевірка призначеної IP-адреси

ip addr show ens33

Вихід повинен відображати IP-адресу, яку ви налаштували в рядку inet:

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
    inet 192.168.1.100/24 brd 192.168.1.255 scope global ens33

Перевірка шлюзу за замовчуванням

ip route show

Ви повинні побачити рядок, подібний до:

default via 192.168.1.1 dev ens33

Перевірка розпізнавання DNS

cat /etc/resolv.conf

Підтвердьте, що ваші DNS-сервери перелічені:

nameserver 8.8.8.8
nameserver 8.8.4.4

Тестування підключення до Інтернету

Пінгуйте зовнішній хост, щоб підтвердити наскрізне підключення:

ping -c 4 google.com

Очікуваний вихід:

PING google.com (142.250.185.46) 56(84) bytes of data.
64 bytes from lga34s32-in-f14.1e100.net: icmp_seq=1 ttl=117 time=12.4 ms
64 bytes from lga34s32-in-f14.1e100.net: icmp_seq=2 ttl=117 time=11.9 ms
...
4 packets transmitted, 4 received, 0% packet loss

Якщо всі чотири пакети отримані з втратою пакетів 0%, ваша конфігурація мережі працює правильно.

Окремо протестуйте розпізнавання DNS

nslookup google.com

або

dig google.com

7. Усунення неполадок із загальними проблемами мережі

Навіть досвідчені адміністратори стикаються з проблемами мережі. Ось найпоширеніші проблеми та способи їх вирішення на CentOS.

Проблема 1: Мережевий інтерфейс не запускається при завантаженні

Симптом: Сервер втрачає мережеву підключення після перезавантаження.

Причина: Параметр ONBOOT встановлено на no або відсутній у файлі конфігурації.

Виправлення: Відкрийте файл конфігурації інтерфейсу та переконайтеся, що присутній наступний рядок і встановлено правильно:

ONBOOT=yes

Потім перезапустіть мережевий сервіс:

sudo systemctl restart network

Проблема 2: Немає підключення до Інтернету після конфігурації

Симптом: Інтерфейс має IP-адресу, але ви не можете досягти зовнішніх хостів.

Можливі причини та виправлення:

  • Неправильний шлюз: Переконайтеся, що GATEWAY відповідає IP-адресі вашого маршрутизатора або мережевого шлюзу.
  • Неправильна конфігурація DNS: Переконайтеся, що DNS1 та DNS2 встановлено на дійсні DNS-сервери.
  • Проблема маршрутизації: Перевірте таблицю маршрутизації за допомогою ip route show та підтвердьте наявність маршруту за замовчуванням.
  • Фізичне підключення: Якщо ви використовуєте фізичний сервер, переконайтеся, що мережевий кабель правильно підключено.

Проблема 3: Конфлікт IP-адреси

Симптом: Мережева підключення переривчаста або інший пристрій у мережі повідомляє про конфлікт IP.

Виправлення: Виберіть статичну IP-адресу, яка знаходиться за межами діапазону пулу DHCP вашого маршрутизатора, або узгодьте з адміністратором мережі резервування IP.

Проблема 4: Брандмауер блокує трафік

Симптом: Сервер має підключення, але конкретні сервіси (HTTP, HTTPS, SSH тощо) недоступні з зовнішніх хостів.

Перевірте поточні правила брандмауера:

sudo firewall-cmd --list-all

Дозволити конкретний сервіс постійно:

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload

Дозволити конкретний порт:

sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

Перевірте, чи запущено firewalld:

sudo systemctl status firewalld

Проблема 5: Конфлікти NetworkManager зі статичною конфігурацією

Симптом: Параметри статичної IP-адреси ігноруються або перезаписуються після перезавантаження.

Виправлення: Якщо ви керуєте інтерфейсами вручну через файли конфігурації та не використовуєте NetworkManager, ви можете або вимкнути NetworkManager, або налаштувати його на ігнорування конкретного інтерфейсу, додавши наступний рядок до файлу ifcfg:

NM_CONTROLLED=no

Крім того, керуйте інтерфейсом через інструмент nmcli NetworkManager для більш інтегрованого підходу.

Проблема 6: systemctl restart network не працює на CentOS 8

Симптом: Сервіс network не існує або не перезапускається на CentOS 8.

Пояснення: CentOS 8 припинив підтримку застарілого сервісу network на користь NetworkManager. Замість цього використовуйте:

sudo systemctl restart NetworkManager

Або керуйте з’єднаннями за допомогою nmcli:

nmcli connection show
nmcli connection up <connection-name>

Висновок

Налаштування мережі в CentOS — це фундаментальна навичка, яку повинен опанувати кожен адміністратор систем Linux. Незалежно від того, чи ви призначаєте статичну IP для виробничого веб-сервера, налаштовуєте DHCP для середовища розробки або усуваєте проблеми з підключенням на віддаленій машині, кроки, описані в цьому посібнику, забезпечують надійну та надійну основу.

Для підсумування ключових кроків:

  1. Визначте ваші мережеві інтерфейси за допомогою ip addr
  2. Відредагуйте відповідний файл конфігурації ifcfg-<interface>
  3. Встановіть BOOTPROTO=none для статичних IP-адрес або BOOTPROTO=dhcp для динамічної адресації
  4. Перезавантажте мережевий сервіс за допомогою systemctl або nmcli
  5. Перевірте підключення за допомогою ip addr, ip route та ping
  6. Усуньте несправності за допомогою команд брандмауера, перевірки маршрутизації та перевірки DNS

Правильне налаштування мережі особливо важливо при управлінні хмарною інфраструктурою. Якщо ви шукаєте надійне середовище хостингу з повним доступом root та гнучкими параметрами мережі, дослідіть плани VPS Hosting AlexHost — ідеальні для розгортання CentOS, які вимагають стабільного та високопродуктивного підключення. Для критичних робочих навантажень, які вимагають виділених ресурсів, розгляньте Dedicated Servers AlexHost. І якщо ваш сервер розміщує веб-додатки, не забудьте захистити свій домен надійним SSL Certificate, щоб зашифрувати трафік та захистити своїх користувачів.

Регулярно переглядайте конфігурації мережі, моніторте стан інтерфейсів та тримайте правила брандмауера в актуальному стані для підтримання оптимальної продуктивності та безпеки сервера.