Про мережеві інтерфейси (Network interfaces)

Мережеві інтерфейси (Network Interfaces) — це апаратні або програмні компоненти, що забезпечують зв’язок між пристроєм (наприклад, комп’ютером, сервером, маршрутизатором) та мережею. Мережевий інтерфейс може бути представлений у вигляді фізичного апаратного забезпечення, такого як мережева карта, або програмного компонента, такого як віртуальний мережевий інтерфейс.

Типи мережевих інтерфейсів:

  1. Фізичні інтерфейси (NIC - Network Interface Card):

    • Ethernet - підключення через мідні або оптичні кабелі. eth0 — це стандартне ім’я для першого мережевого інтерфейсу Ethernet на Linux або Unix-подібних системах. Він використовується для підключення пристрою до локальної мережі через кабель Ethernet. У сучасних системах це ім’я може бути замінено на інші (наприклад, enp3s0) через зміну правил іменування інтерфейсів.
    • Wi-Fi: Бездротове підключення до мережі через радіочастотний сигнал. wlan0 — це стандартне ім’я для першого бездротового мережевого інтерфейсу (Wi-Fi) на Linux або Unix-подібних системах. Він використовується для підключення пристрою до бездротової мережі (Wi-Fi). Як і у випадку з eth0, в сучасних системах назва може змінюватися на інші (наприклад, wlp2s0) через нові правила іменування інтерфейсів.
    • Fiber Optic: Підключення через оптичні волокна для високошвидкісного обміну даними.
  2. Віртуальні інтерфейси:

    • VLAN: Віртуальні локальні мережі, що дозволяють створювати кілька логічних мереж на одному фізичному інтерфейсі.
    • VPN: Віртуальна приватна мережа, що забезпечує захищене з’єднання через публічні мережі.
    • Loopback: Спеціальний тип мережевого інтерфейсу, що використовується для тестування і діагностики мережевих програм на локальному пристрої. lo — це ім’я для loopback-інтерфейсу на Linux та Unix-подібних системах. Він використовується для локальної комунікації всередині пристрою, дозволяючи йому надсилати та отримувати мережеві пакети самому від себе. Адреса цього інтерфейсу — 127.0.0.1 (localhost).

Основні функції мережевих інтерфейсів:

  • Адресація: Кожен мережевий інтерфейс має унікальну MAC-адресу, яка використовується для ідентифікації пристрою в мережі.
  • Підключення до мережі: Забезпечення з’єднання з локальною мережею або інтернетом.
  • Передача та прийом даних: Забезпечення передачі даних між пристроєм та мережею.

Приклади використання:

  • Комп’ютер з мережею: Мережевий інтерфейс використовується для підключення до інтернету через Ethernet або Wi-Fi.
  • Віртуалізація: Віртуальні машини часто використовують віртуальні мережеві інтерфейси для комунікації з хостом або іншими віртуальними машинами.

Таким чином, мережеві інтерфейси є ключовими компонентами для взаємодії пристроїв у сучасних мережах.

Окрім eth0, wlan0, та lo, в сучасних Linux і Unix-подібних системах можуть використовуватися різні імена мережевих інтерфейсів. Ось деякі з них:

Стандартні імена:

  • ethX: Використовується для Ethernet-інтерфейсів, де X — це номер інтерфейсу (наприклад, eth1, eth2).
  • wlanX: Використовується для бездротових інтерфейсів, де X — це номер інтерфейсу (наприклад, wlan1, wlan2).

Сучасні імена (Predictable Network Interface Names):

  • enpXsY: Використовується для Ethernet-інтерфейсів, де X — це номер шини (bus), а Y — номер слота (slot) (наприклад, enp3s0).
  • wlpXsY: Використовується для Wi-Fi-інтерфейсів (наприклад, wlp2s0).
  • ensX або enoX: Альтернативні імена для Ethernet-інтерфейсів, де X позначає номер інтерфейсу (наприклад, ens33, eno1).
  • wwpXsY: Використовується для мобільних широкосмугових інтерфейсів (наприклад, wwp0s20u4).

Віртуальні інтерфейси:

  • vethX: Використовується для віртуальних Ethernet-інтерфейсів, зазвичай у контейнерах або віртуальних машинах.
  • brX: Використовується для мостових інтерфейсів (bridge), які об’єднують декілька мережевих інтерфейсів (наприклад, br0).
  • bondX: Використовується для об’єднання декількох фізичних інтерфейсів в один логічний (link aggregation, наприклад, bond0).
  • tunX або tapX: Використовується для тунельних інтерфейсів у VPN або інших тунельних технологіях (наприклад, tun0, tap0).
  • dockerX: Використовується Docker’ом Docker для створення віртуальних інтерфейсів у контейнерах (наприклад, docker0).

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