Як налаштувати мережу в 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 |
enp0s3 | Ethernet на основі 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 → Enter4. Налаштування 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.com7. Усунення неполадок із загальними проблемами мережі
Навіть досвідчені адміністратори стикаються з проблемами мережі. Ось найпоширеніші проблеми та способи їх вирішення на 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 для середовища розробки або усуваєте проблеми з підключенням на віддаленій машині, кроки, описані в цьому посібнику, забезпечують надійну та надійну основу.
Для підсумування ключових кроків:
- Визначте ваші мережеві інтерфейси за допомогою
ip addr - Відредагуйте відповідний файл конфігурації
ifcfg-<interface> - Встановіть
BOOTPROTO=noneдля статичних IP-адрес абоBOOTPROTO=dhcpдля динамічної адресації - Перезавантажте мережевий сервіс за допомогою
systemctlабоnmcli - Перевірте підключення за допомогою
ip addr,ip routeтаping - Усуньте несправності за допомогою команд брандмауера, перевірки маршрутизації та перевірки DNS
Правильне налаштування мережі особливо важливо при управлінні хмарною інфраструктурою. Якщо ви шукаєте надійне середовище хостингу з повним доступом root та гнучкими параметрами мережі, дослідіть плани VPS Hosting AlexHost — ідеальні для розгортання CentOS, які вимагають стабільного та високопродуктивного підключення. Для критичних робочих навантажень, які вимагають виділених ресурсів, розгляньте Dedicated Servers AlexHost. І якщо ваш сервер розміщує веб-додатки, не забудьте захистити свій домен надійним SSL Certificate, щоб зашифрувати трафік та захистити своїх користувачів.
Регулярно переглядайте конфігурації мережі, моніторте стан інтерфейсів та тримайте правила брандмауера в актуальному стані для підтримання оптимальної продуктивності та безпеки сервера.
на всіх хостингових послугах