Шукати в цьому блозі

пʼятниця, 11 березня 2016 р.

Debian: перехід з network interfaces на network-manager та налаштування vlan-ів.

Нещодавно все ж таки оновив wheezy на jessy і так сталося, що аж закортіло поміняти звичні налаштування у /etc/network/interfaces на те, що прпонує network-manager.

Раніше (давно, ой як давно) від цього кроку суттєво стримала відсутність підтримки vlan (чи то просто не помічав?). Але цього разу помітив її у gui від gnome, і вирішив більш досконало покопатися та зрозуміти що до чого, якщо захочеться лапками підправити.

Для початку, наш погляд має змінити напрямок з /etc/network/ на /etc/NetworkManager/, саме в останній директорії знаходяться всі налаштування щодо network-manager-а.

Головний файл налаштувань NetworkManager.conf залишився таким яким був за-замовченням. Найбільш цікаво це налаштування інтерфейсів. Інтерфейси описуються тут /etc/NetworkManager/system-connections, окремими файлами. Так, так, коли інтерфейси описується у gui network-manager-а то зберігаються вони саме тут.

Але від слів до діла. Припустимо, що нам треба налаштувати vlan7 зі статичною ip-адресою.

От як це виглядало б у interfaces:
auto vlan7
iface vlan7 inet static
        vlan_raw_device eth0
        address 93.124.120.14
        netmask 255.255.255.240
        gateway 93.124.120.1
        network 93.124.120.0
        broadcast 93.124.120.15
От як ті самі налаштування виглядатимуть у network-manager-і, додаємо файл /etc/NetworkManager/system-connections/vlan7 наступного змісту:
[connection]
id=VLAN7
uuid=6b5a8896-a4ab-4993-82b0-ce6739e389b7
interface-name=vlan7
type=vlan
timestamp=1457621961

[ipv6]
method=auto
ip6-privacy=0

[vlan]
interface-name=vlan7
parent=eth0
id=7

[ipv4]
method=manual
dns=211.89.160.2;211.89.160.8;
address1=93.124.120.14/28,93.124.120.1
Так, писати, якщо це робити вручну, стало трішки більше.
Що ми зробили? Описали секції для інтерфейсу за яким здійснюється з'єднання (connection), опції протоколів ipv6 та ipv4, та секцію яка описує наш vlan.

uuid у секції connection можна згенерувати за допомогою uuidgen (пакет uuid-runtime), він має бути унікальним.

Цікавим моментом є те, що до налаштувань можна одразу додати інформацію щодо маршрутів. Трішки змінимо секцію ipv4:
[ipv4]
method=manual
dns=211.89.160.2;211.89.160.8;
address1=93.124.120.14/28,93.124.120.1
route1=172.16.1.0/29,93.124.120.2
route2=10.254.0.0/16,93.124.120.2
route3=10.255.0.0/16,93.124.120.2
Тепер, наш хост знає, що шукати мережі 172.16.1.0/29, 10.254.0.0/16 та 10.255.0.0/16 треба не по маршруту за-замовченням, а через інший хост 93.124.120.2, який входить до мережі 93.124.120.0/28.

Ніякої потойбічної магії. Всі опції та поля задокументовані і не є якоюсь таємницею.

Останнє, у тому випадку якщо зміни які було внесено через gui одразу ж не застосовуються, треба просто переініціалізувати відповідний сервіс:
sudo service network-manager force-reload
От і все. Не настільки загадково, як здавалося на перший погляд ;)

Немає коментарів: