Як налаштувати мережу в Ubuntu 16.04: повний покроковий посібник
Мережа є одним з найважливіших аспектів будь-якої системи Linux. Незалежно від того, чи ви керуєте виробничим сервером, запускаєте віртуальну машину або налаштовуєте середовище робочого столу, правильне налаштування мережі є важливим для підключення, безпеки та продуктивності. В Ubuntu 16.04 мережа керується утилітою ifupdown, яка читає свою конфігурацію з файлу /etc/network/interfaces — простого, але потужного підходу до управління мережею.
Цей посібник проведе вас через кожен крок, необхідний для налаштування мережі на Ubuntu 16.04, від відкриття файлу конфігурації до перевірки активного підключення. Незалежно від того, чи ви запускаєте Ubuntu на локальній машині чи на плані VPS Hosting, ці інструкції застосовуються безпосередньо до вашого середовища.
Передумови
Перш ніж почати, переконайтеся, що у вас є:
- Запущена система Ubuntu 16.04 (фізична, віртуальна або хмарна)
- Доступ Sudo або root до машини
- Базова знайомість з терміналом Linux
- Ваші деталі мережі готові: бажана IP-адреса, маска підмережі, шлюз та DNS-сервери
Розуміння того, як Ubuntu 16.04 керує мережею
На відміну від новіших версій Ubuntu, які використовують Netplan (представлений в Ubuntu 17.10), Ubuntu 16.04 спирається на класичну структуру ifupdown. Основний файл конфігурації:
/etc/network/interfacesЦей файл визначає, як кожен мережевий інтерфейс поводиться під час завантаження та коли вручну включається або вимикається. Він підтримує як DHCP (автоматичне призначення IP), так і конфігурації статичної IP, що робить його гнучким для широкого спектру випадків використання — від домашніх лабораторій до корпоративних серверів.
Крок 1: Визначте назву вашого мережевого інтерфейсу
Перед редагуванням будь-якої конфігурації вам потрібно знати точну назву вашого мережевого інтерфейсу. Ubuntu 16.04 може використовувати традиційні імена на кшталт eth0 або новіші передбачувані імена на кшталт enp0s3, залежно від вашого обладнання та конфігурації системи.
Запустіть наступну команду, щоб отримати список усіх доступних мережевих інтерфейсів:
ip link showПриклад виводу:
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
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
link/ether 08:00:27:xx:xx:xx brd ff:ff:ff:ff:ff:ffУ цьому прикладі активний інтерфейс — enp0s3. Запишіть назву вашого інтерфейсу — вам це знадобиться протягом цього посібника.
Крім того, ви можете використовувати:
ifconfig -a> Примітка: Якщо ifconfig недоступна, встановіть її за допомогою sudo apt install net-tools.
Крок 2: Відкрийте файл конфігурації мережі
Файл /etc/network/interfaces є центральною точкою конфігурації для мережі в Ubuntu 16.04. Відкрийте його за допомогою текстового редактора з підвищеними привілеями:
sudo nano /etc/network/interfacesЗазвичай ви побачите конфігурацію за замовчуванням, подібну до цієї:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s3
iface enp0s3 inet dhcpРядок inet dhcp означає, що інтерфейс наразі встановлено для автоматичного отримання IP-адреси через DHCP. На наступних кроках ми покажемо вам, як налаштувати як DHCP, так і конфігурації статичної IP.
Крок 3: Налаштуйте статичну IP-адресу
Статична IP-адреса є важливою для серверів, мережевих пристроїв та будь-якої системи, яка потребує послідовної, передбачуваної адреси. Якщо ви розміщуєте веб-сайти, бази даних або послуги на Dedicated Server або VPS, статична IP настійно рекомендується.
3.1 Замініть конфігурацію DHCP
Знайдіть розділ для вашого основного інтерфейсу та замініть рядок dhcp блоком статичної конфігурації. Ось повна синтаксис:
auto enp0s3
iface enp0s3 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.43.2 Розуміння кожної директиви
| Директива | Опис |
|---|---|
auto enp0s3 | Автоматично включає інтерфейс під час завантаження |
iface enp0s3 inet static | Оголошує статичну конфігурацію IPv4 |
address | Статична IP-адреса, яку ви хочете призначити |
netmask | Визначає маску підмережі (наприклад, /24 = 255.255.255.0) |
gateway | Шлюз за замовчуванням (зазвичай IP вашого маршрутизатора) |
dns-nameservers | Розділений пробілами список адрес DNS-розв’язувачів |
3.3 Приклад з користувацькими значеннями
Замініть приклади значень на ваші фактичні деталі мережі:
auto enp0s3
iface enp0s3 inet static
address 203.0.113.50
netmask 255.255.255.0
gateway 203.0.113.1
dns-nameservers 1.1.1.1 8.8.8.8> Порада: Використовуйте публічний DNS Google (8.8.8.8, 8.8.4.4) або Cloudflare (1.1.1.1, 1.0.0.1) для надійного розв’язування імен. Правильне налаштування DNS особливо важливе, якщо ви керуєте Domain Registration або запускаєте поштові сервери.
Після внесення змін збережіть файл, натиснувши Ctrl + O, потім Enter та вийдіть за допомогою Ctrl + X.
Крок 4: Налаштуйте DHCP (опціонально)
Якщо ви віддаєте перевагу автоматичному призначенню IP — поширене в середовищах розробки або на робочих столах — налаштуйте інтерфейс для використання DHCP:
auto enp0s3
iface enp0s3 inet dhcpЦе конфігурація за замовчуванням у більшості встановлень Ubuntu 16.04. DHCP зручна, але не підходить для серверів або систем, які потребують фіксованої адреси.
Крок 5: Налаштуйте кілька мережевих інтерфейсів (опціонально)
Якщо ваша система має більше одного мережевого інтерфейсу — наприклад, публічно доступний інтерфейс та приватний внутрішній — ви можете визначити обидва в одному файлі:
# Public interface (static)
auto enp0s3
iface enp0s3 inet static
address 203.0.113.50
netmask 255.255.255.0
gateway 203.0.113.1
dns-nameservers 8.8.8.8 8.8.4.4
# Private/internal interface (static)
auto enp0s8
iface enp0s8 inet static
address 10.0.0.10
netmask 255.255.255.0Ця конфігурація особливо корисна в хмарних та віртуалізованих середовищах, де сервер може мати як публічну IP, так і приватну мережеву IP для внутрішнього спілкування.
Крок 6: Перезавантажте мережеву службу
Після збереження змін у файлі /etc/network/interfaces ви повинні перезавантажити мережеву службу, щоб нова конфігурація набула чинності.
Метод 1: Використання systemctl (рекомендується)
sudo systemctl restart networkingМетод 2: Вимкнення та включення інтерфейсу
Для більш цільового підходу, який уникає порушення інших інтерфейсів:
sudo ifdown enp0s3 && sudo ifup enp0s3> Попередження: Якщо ви підключені до сервера віддалено через SSH, перезавантаження мережі може тимчасово розірвати ваше з’єднання — особливо якщо ви переходите з DHCP на статичну IP. Переконайтеся, що у вас є доступ до консолі або позаполосний доступ, або використовуйте мультиплексер терміналу на кшталт tmux або screen для захисту вашої сесії.
Крок 7: Перевірте конфігурацію мережі
Після перезавантаження мережевої служби перевірте, що ваші параметри були застосовані правильно.
7.1 Перевірте призначену IP-адресу
ip addr show enp0s3Очікуваний вивід (приклад статичної IP):
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
inet 192.168.1.100/24 brd 192.168.1.255 scope global enp0s37.2 Перевірте шлюз за замовчуванням
ip route showВи повинні побачити рядок на кшталт:
default via 192.168.1.1 dev enp0s37.3 Протестуйте розв’язування DNS
ping -c 4 google.comУспішна відповідь підтверджує, що як ваше мережеве підключення, так і розв’язування DNS працюють правильно:
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.3 ms7.4 Протестуйте підключення до шлюзу
ping -c 4 192.168.1.1Якщо це вдається, але ping google.com не вдається, проблема, ймовірно, полягає в конфігурації DNS, а не в самому мережевому підключенні.
Усунення неполадок з поширеними проблемами мережі
Навіть при правильній конфігурації можуть виникнути проблеми. Ось найпоширеніші проблеми та способи їх вирішення:
Інтерфейс не включається після перезавантаження
- Перевірте, що директива
autoприсутня перед рядкомiface - Перевірте, чи немає помилок у назві інтерфейсу (використовуйте
ip link showдля підтвердження) - Перевірте журнали системи:
sudo journalctl -u networking
Помилка “RTNETLINK answers: File exists”
Ця помилка виникає при спробі включити інтерфейс, який уже налаштований
