Пояснення терміну «Інтерфейс»

Див. також: Міні-посібник DSA > Незавершені частини, які варто включити, якщо вони залишаються актуальними

Якщо ви прийшли з іншого дистрибутиву Linux або використовували маршрутизатори на зразок pfSense, значення терміну «інтерфейс» може викликати плутанину.

В OpenWrt конфігурація «інтерфейсу» не обов’язково стосується фізичного інтерфейсу. Це може бути оманливим. Як адміністратор Unix ви знайомі з командою ifconfig, і природно припустити, що, наприклад, config interface lan виконує те саме, що й ifconfig. Але це лише частково відповідає дійсності.

Щоб прояснити ситуацію (сподіваємось), давайте уникати терміна «інтерфейс» і замінимо його чимось більш нейтральним. Насправді в OpenWrt ми конфігуруємо те, що можна назвати «конектором» (connector). Конфігурація «конектора» поєднує всі властивості, необхідні для підключення пристрою під управлінням OpenWrt до мережі. Це включає фізичний пристрій (щоб уникнути слова «інтерфейс», назвемо його «контролер») і параметри налаштування, які конфігурують контролер так, щоб він міг приєднати пристрій до мережі.

# Це не валідний конфігураційний код
config connector 'lan'
	option controller 'eth0'
	option setup 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'

Якщо ви вже знайомі з синтаксисом OpenWrt, ви помітите, що я замінив interface на connector, device на controller, а proto на setup, щоб уникнути використання терміну «інтерфейс» та похідних від нього.

Звісно, ця конфігурація впливає на контролер, і ви побачите результати через команди на зразок ifconfig або краще ip a s eth0. Але пам’ятайте: це не вся конфігурація для eth0. Можуть бути інші конектори і до інших мереж, які також використовують той самий контролер. І залежно від вибраного методу налаштування, конфігурація конектора може впливати і на інші компоненти, не лише на контролер.

Наприклад, IPv6. IPv4 і IPv6 — це різні мережі. Пристрої з IPv4-адресами не можуть безпосередньо спілкуватися з пристроями, які мають IPv6-адреси. Тому, якщо ми хочемо, щоб наш пристрій мав зв’язок із пристроями IPv6, нам потрібен окремий конектор.

# Це не валідний конфігураційний код
config connector 'lan6'
	option controller 'eth0'
	option setup 'dhcp6'

Це конфігурує ще один мережевий конектор, який також використовує той самий контролер 1), але використовує іншу стратегію налаштування — автоматичну через DHCP для IPv6. Отже, ця конфігурація впливає не лише на контролер, але й на допоміжні процеси (у цьому випадку — odhcpd).

Підсумок: при читанні або написанні конфігурації мережі OpenWrt майте на увазі:

  • config interface — це не конфігурація фізичного інтерфейсу, а опис конектора з певною мережею.
  • device зазвичай не є об’єктом, який конфігурується через config interface, а є назвою фізичного інтерфейсу. 2)
  • proto — це не мережевий протокол, а протокол для налаштування фізичного інтерфейсу таким чином, щоб він міг приєднатись до відповідної мережі.

1)
На щастя, IPv6 не потребує додаткових фізичних пристроїв
2)
Ймовірно, також можна використовувати device @<devname> як скорочення для посилання на фізичний інтерфейс, вказаний у конфігурації іншого інтерфейсу.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/05/27 10:05
  • by vazaz