Нещодавно все ж таки оновив 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:
Що ми зробили? Описали секції для інтерфейсу за яким здійснюється з'єднання (connection), опції протоколів ipv6 та ipv4, та секцію яка описує наш vlan.
uuid у секції connection можна згенерувати за допомогою uuidgen (пакет uuid-runtime), він має бути унікальним.
Цікавим моментом є те, що до налаштувань можна одразу додати інформацію щодо маршрутів. Трішки змінимо секцію ipv4:
Ніякої потойбічної магії. Всі опції та поля задокументовані і не є якоюсь таємницею.
Останнє, у тому випадку якщо зміни які було внесено через gui одразу ж не застосовуються, треба просто переініціалізувати відповідний сервіс:
Раніше (давно, ой як давно) від цього кроку суттєво стримала відсутність підтримки vlan (чи то просто не помічав?). Але цього разу помітив її у gui від gnome, і вирішив більш досконало покопатися та зрозуміти що до чого, якщо захочеться лапками підправити.
Для початку, наш погляд має змінити напрямок з /etc/network/ на /etc/NetworkManager/, саме в останній директорії знаходяться всі налаштування щодо network-manager-а.
Головний файл налаштувань NetworkManager.conf залишився таким яким був за-замовченням. Найбільш цікаво це налаштування інтерфейсів. Інтерфейси описуються тут /etc/NetworkManager/system-connections, окремими файлами. Так, так, коли інтерфейси описується у gui network-manager-а то зберігаються вони саме тут.
Але від слів до діла. Припустимо, що нам треба налаштувати vlan7 зі статичною ip-адресою.
От як це виглядало б у interfaces:
От як ті самі налаштування виглядатимуть у network-manager-і, додаємо файл /etc/NetworkManager/system-connections/vlan7 наступного змісту: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
Так, писати, якщо це робити вручну, стало трішки більше.[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:
Тепер, наш хост знає, що шукати мережі 172.16.1.0/29, 10.254.0.0/16 та 10.255.0.0/16 треба не по маршруту за-замовченням, а через інший хост 93.124.120.2, який входить до мережі 93.124.120.0/28.[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
Ніякої потойбічної магії. Всі опції та поля задокументовані і не є якоюсь таємницею.
Останнє, у тому випадку якщо зміни які було внесено через gui одразу ж не застосовуються, треба просто переініціалізувати відповідний сервіс:
От і все. Не настільки загадково, як здавалося на перший погляд ;)sudo service network-manager force-reload
Немає коментарів:
Дописати коментар