Як налаштувати мережу в CentOS: повний покроковий посібник
Налаштування мережі в CentOS є однією з найбільш фундаментальних завдань для будь-якого системного адміністратора. Незалежно від того, чи ви налаштовуєте щойно розгорнуте середовище VPS Hosting або керуєте Dedicated Server, правильне налаштування мережевих інтерфейсів є критичним першим кроком до стабільного, підключеного та готового до виробництва сервера.
Цей комплексний посібник проведе вас через все, що вам потрібно знати: визначення мережевих інтерфейсів, призначення статичних IP-адрес, налаштування DHCP, перезавантаження мережевих служб, перевірку підключення та вирішення найпоширеніших проблем з мережею в системах CentOS.
Зміст
- Розуміння мережевих інтерфейсів у CentOS
- Визначення доступних мережевих інтерфейсів
- Налаштування статичної IP-адреси
- Налаштування DHCP (динамічного призначення IP-адрес)
- Перезавантаження мережевої служби
- Перевірка конфігурації мережі
- Вирішення проблем із мережею
- Висновок
1. Розуміння мережевих інтерфейсів у CentOS {#understanding-network-interfaces}
У 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. Визначення доступних мережевих інтерфейсів {#identifying-network-interfaces}
Перед зміною будь-якої конфігурації ви повинні спочатку визначити, які мережеві інтерфейси існують у вашій системі та який їх поточний стан.
Крок 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-адреси {#configuring-static-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-адрес) {#configuring-dhcp}
Якщо ваше середовище використовує 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. Перезавантаження мережевої служби {#restarting-network-service}
Після збереження змін конфігурації ви повинні перезавантажити мережеву службу, щоб застосувати їх. Існує кілька методів залежно від вашої версії 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. Перевірка конфігурації мережі {#verifying-network-configuration}
Після перезавантаження мережевої служби перевірте, що ваша конфігурація була застосована правильно.
Перевірте призначену 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. Вирішення проблем із мережею {#troubleshooting}
Навіть досвідчені адміністратори стикаються з проблемами мережі. Ось найпоширеніші проблеми та способи їх вирішення в CentOS.
Проблема 1: Мережевий інтерфейс не запускається під час завантаження
Симптом: Сервер втрачає мережеве підключення після перезавантаження.
Причина: Параметр ONBOOT встановлено на no або відсутній у файлі конфігурації.
Виправлення: Відкрийте файл конфігурації інтерфейсу та переконайтеся, що наступний рядок присутній і встановлено правильно:
ONBOOT=yesПотім перезавантажте мережеву службу:
sudo systemctl restart networkПроблема 2: Немає підключення до Інтернету після налаштування
Симптом: Інтерфейс має IP-адресу, але ви не можете досягти зовнішніх хостів.
Можливі причини та виправлення:
- Неправильний шлюз: Перевірте, що
GATEWAYвідповідає IP-адресі вашого маршрутизатора або мережевого шлюзу. - Неправильне налаштування DNS: Переконайтеся, що ###PPT_NOTR_79_CODE
