NetworkManagement/uk: Difference between revisions

From KDE UserBase Wiki
(Created page with ''''wpa_supplicant''' — низькорівнева програма для обміну даними з драйвером, яка забезпечує роботу можлив...')
No edit summary
 
(19 intermediate revisions by 2 users not shown)
Line 58: Line 58:
=== NetworkManager ===
=== NetworkManager ===


'''NetworkManager''' is the system daemon at the centre of the networking subsystem on most end user Linux installations. It has root privileges, needed to control the lower layers, and exposes some controls up to clients running in the user session via '''DBUS'''. It writes a log in /var/log.  ''NM'' also controls ''DHCP'' clients as needed and rewrites /etc/resolv.conf with the ''DNS servers'' it has configured. '''NetworkManager''' also provides a '''SystemSettings''' service, which is responsible for reading your distribution's network configuration files (system wide) and feeding them into '''NetworkManager'''.
'''NetworkManager''' — фонова служба системи, яка перебуває у центрі підсистеми керування мережею у більшості стільничних системах Linux. Служба працює від імені адміністратора системи (користувача root), що потрібно для керування нижчими рівнями, і надає можливості керування з боку клієнта за допомогою системи '''D-Bus'''. Журнал служби записується до /var/log.  Крім того, ''NM'' керує клієнтами ''DHCP'' за потреби і перезаписує файл /etc/resolv.conf власними даними щодо ''серверів DNS''. Крім того, '''NetworkManager''' надає у розпорядження користувача модуль '''Системних параметрів''', призначеним для читання (загальносистемних) файлів налаштування мережі вашого дистрибутива і надання отриманих даних '''NetworkManager'''.


=== Клієнтські програми ===
=== Клієнтські програми ===


'''KNetworkManager''' applet for KDE 4, '''Network Management Plasmoid''' under KDE 4, '''KNetworkManager''' under KDE 3, '''nm-applet''' under GNOME, and '''cnetworkmanager''' is your last life. These are responsible for
'''KNetworkManager''' — аплет KDE 4, '''Плазмоїд керування мережею''' у KDE 4, '''KNetworkManager''' у KDE 3, '''nm-applet''' у GNOME і '''cnetworkmanager''', як остання надія. Ці програми відповідальні за
* giving feedback on the networking status of ths system,  
* надання користувачеві даних щодо стану роботи мережі системи,  
* communicating the user's actions to '''NetworkManager''' and for storing
* передавання повідомлень про дії користувача до '''NetworkManager'''  
* communicating the user's network connection details (policy) to NM.
* та зберігання обміну даними щодо параметрів мережевого з’єднання користувача (правил) у NM.
While they are the most visible part of the system, they are also the least important to making a successful connection.   
Хоча ці програми є найпомітнішими частинами системи, вони є малозначущими для успішного встановлення з’єднання.   
Since they share a standard interface to '''NetworkManager''', they can be exchanged easily.
Оскільки всі ці програми користуються стандартним інтерфейсом '''NetworkManager''', вони є взаємозамінними.


== Якщо щось не працює ==
== Якщо щось не працює ==
Line 73: Line 73:
=== Де шукати джерело негараздів? ===
=== Де шукати джерело негараздів? ===


Simple. Start at the top of the stack and work down. When you find something that works, you found the site of the problem. When you run out of things you can change, hand over to an expert (probably the responsible team at your Linux distribution).
Дуже просто. Почніть з вершити стосу і спускайтеся вниз. Якщо вам вдасться знайти щось, що працює, вам вдасться знайти джерело проблеми. Якщо всі внесені вами зміни не дадуть результату, передайте проблему на розгляд експерат (ймовірно, учасника відповідальної команди вашого дистрибутива Linux).


# Are you actually using '''NetworkManager''' on your system? '''Mandriva''' doesn't use it. '''ArchLinux''' uses '''wicd'''.  '''Moblin''' uses '''Connman'''.   
# Чи справді '''NetworkManager''' використовується у вашій системі? У '''Mandriva''' ця система не використовується. У '''Moblin''' використовується '''Connman'''.   
# Try a different '''NetworkManager''' client. If that helps, continue in the next section to try and further localize the problem in '''Network Management'''. Then bugs.kde.org, product "Network Management" is the place to go.
# Спробуйте скористатися іншою клієнтською програмою '''NetworkManager'''. Якщо інша програма виявиться працездатною, перейдіть до наступного пункту і спробуйте локалізувати проблему у '''Керуванні мережею'''. Після цього звітуйте на bugs.kde.org щодо продукту «Network Management».
# Try to configure a connection using your distro's system configuration tools, so '''SystemSettings''' picks it up. It's unlikely but worth a go.
# Спробуйте налаштувати з’єдання за допомогою інструментів налаштування системи вашого дистрибутива, щоб '''Системні параметри''' отримали ці налаштування. Навряд чи це спрацює, але варто спробувати.
# Try a manually configured connection via '''wpa_supplicant'''. The documentation is rather sparse but there are example configurations include in the package. Here is the [http://hostap.epitest.fi/wpa_supplicant/ list of supported hardware]. If wpa_supplicant on its own works, '''NetworkManager''' is at fault. Talk to your distro or report it at bugs.freedesktop.org.
# Спробуйте налаштувати з’єднання за допомогою '''wpa_supplicant'''. Документація до програми доволі куца, але у ній є приклад налаштувань. Список підтримуваного обладнання наведено [http://hostap.epitest.fi/wpa_supplicant/ тут]. Якщо сам wpa_supplicant працює, джерелом помилок є '''NetworkManager'''. Повідомте до вашого дистрибутива або до системи стеження за вадами bugs.freedesktop.org.
# If that didn't work, reconfigure a wireless router to use a different (weaker) encryption type or none at all. If this works, the problem is either in '''wpa_supplicant''' or the driver. Either way, take it to your distro.
# Якщо це не спрацювало, змініть налаштування бездротового маршрутизатора так, щоб він використовував інший (слабший) тим шифрування або взагалі не використовував шифрування. Якщо після цього вдасться встановити з’єднання, проблемним є '''wpa_supplicant''' або драйвер. Яким би не було джерело проблеми, повідомте про нього до системи стеження за вадами вашого дистрибутива.


=== Це все кляте KDE! ===
=== Це все кляте KDE! ===
Якщо ви читаєте ці рядки, вам вдалося встановити з’єднання за допомогою іншої клієнтської програми '''NetworkManager'''.   
Якщо ви читаєте ці рядки, вам вдалося встановити з’єднання за допомогою іншої клієнтської програми '''NetworkManager'''.   


First, make sure that you are not running another client as well as '''Network Management'''. This will lead to unpredictable results. If you were, remove and restart '''Network Management'''.  You can run it externally to '''Plasma''' as {{Input|1=plasmoidviewer networkmanagement}} if you want.
Спочатку переконайтеся, що у системі не працює інша клієнтська частина, не пов’язана з '''Керуванням мережею'''. Одночасна робота двох систем може призвести до непередбачуваних результатів. Якщо таку систему було запущено, вилучіть і перезапустіть '''Керування мережею'''.  Якщо бажаєте, можете запустити систему з Плазми за допомогою команди {{Input|1=plasmoidviewer networkmanagement}}


You should now try to figure out how the connection provided by '''Network Management''' differs from that provided by the other client. If you build '''Network Management''' from source you can use the tool 'qdbusfornm', which is a version of qdbus extended to handle NM's data types.
Вам слід спробувати визначити, чим з’єднання, яке намагається встановити '''Керування мережею''', відрізняється від з’єднання, яке встановлюється іншою клієнтською програмою. Якщо '''Керування мережею''' було зібрано з початкових кодів, ви можете скористатися програмою '''qdbusfornm''', різновидом qdbus, можливості якого розширено для обробки типів даних NM.


If you do not build from source, just replace {{Input|1=./qdbusfornm --system}}by {{Input|1=qdbus --system --literal}} in the command shown below. It is a bit harder to read but should give you the same output.
Якщо програму не було зібрано з початкових кодів, просто замініть {{Input|1=./qdbusfornm --system}}на {{Input|1=qdbus --system --literal}} у командному рядку, наведеному нижче. Дані буде трошки важче читати, але їхня змістовність залишиться незмінною.


If you use {{Input|1=qdbus --system --literal}}please take the time to format the output so there is one key per line, similar to the qdbusfornm output below. This is easy and just takes time, so it is better for you to do this than a developer.
Якщо ви скористалися командою{{Input|1=qdbus --system --literal}}будь ласка, виправте форматування даних так, щоб у одному рядку було одне повідомлення, подібно до наведених нижче даних, виведених qdbusfornm. Виконати форматування дуже просто, крім того, ви зекономите час розробника.


The value 0 below identifies the connection. Change it if you have more than one until you find the relevant connection.
Наведене нижче значення 0 відповідає з’єднанню. Змінюйте його, якщо у вашій системі декілька з’єднань, доки не буде виведено дані щодо потрібного вам з’єднання.


{{Input|1=./qdbusfornm --system org.freedesktop.NetworkManagerUserSettings/org/freedesktop/NetworkManagerSettings/0
{{Input|1=./qdbusfornm --system org.freedesktop.NetworkManagerUserSettings /org/freedesktop/NetworkManagerSettings/0
org.freedesktop.NetworkManagerSettings.Connection.GetSettings}}
org.freedesktop.NetworkManagerSettings.Connection.GetSettings}}


returns here
виведе щось таке:
<pre>
{{Output|1=<nowiki>a{sa{sv}}(==802-11-wireless==
a{sa{sv}}(==802-11-wireless==
  band: bg
  band: bg
  mode: infrastructure
  mode: infrastructure
Line 116: Line 115:
  dns-search:
  dns-search:
  method: auto
  method: auto
  )
  )</nowiki>}}
</pre>
Тепер спробу з’єднання слід повторити за допомогою іншої клієнтської програми, яка є працездатною, потім скопіювати обидва набори виведених даних і долучити їх до звіту щодо вади на bugs.kde.org. На основі цих даних ваду буде швидко виправлено.
Now you should repeat using the other, working client and copy both sets of output, before attaching them securely to a bug report at bugs.kde.org. With this information we will quickly be able to implement a fix.


==== Аварійні завершення роботи ====
==== Аварійні завершення роботи ====


If you have a crash ensure you install [http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports debugging symbols] and take a backtrace. In '''Kubuntu''' you need to add the [https://wiki.kubuntu.org/DebuggingProgramCrash debug repository] and install '''plasma-widget-networkmanagement-dbgsym'''.
Якщо програма аварійно завершує роботу, встановіть пакунки [http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports символів для зневаджування] і отримайте дані зворотного трасування. У '''Kubuntu''' вам слід додати [https://wiki.kubuntu.org/DebuggingProgramCrash сховище debug] і встановити пакунок '''plasma-widget-networkmanagement-dbgsym'''.


[[Category:Система/uk]]
[[Category:Система/uk]]

Latest revision as of 13:18, 16 September 2011

Other languages:

Вступ

У деяких дистрибутивах Linux для надання користувачеві доступу до керування мережевими з’єднаннями використовується фонова служба NetworkManager. У KDE основними графічними інтерфейсами до NetworkManager є KNetworkManager (KDE3 і KDE4) та Керування з’єднаннями (плазмоїд KDE4).

Вади

Сповіщення про вади

Щоб створити корисне повідомлення про ваду у Керуванні мережею, вкажіть такі дані:

  • версію вашого дистрибутива;
  • Чи використовується NetworkManager? У деяких дистрибутивах використання цієї системи є необов’язковим, оскільки ця система непотрібна для статичних серверних систем. Якщо NetworkManager не використовується, повідомляти про ваду у ньому, ймовірно, не варто.
  • версію аплету Керування мережею (NetworkManager-kde4.rpm у openSUSE, plasma-widget-network-manager у Kubuntu 9.04, plasma-widget-networkmanagment у Kubuntu 9.10, kde-plasma-networkmanagement у fedora)
  • версію пакунка NetworkManager;
  • версію пакунка ModemManager;
  • архітектуру вашого комп’ютера, якщо це комп’ютер, несумісний з архітектурою x86. Користувач PPC? Авторам варто знати це.
  • версію обладнання для роботи у мережі (скористайтеся командою lshal для отримання цих даних);
  • записи журналу системи, що стосуються роботи NetworkManager під час спроби з’єднання;
    • для openSUSE: /var/log/NetworkManager
    • для kubuntu: /var/log/syslog
    • для fedora: /var/log/messages
  • Для бездротових мереж:
    • Чи використовується прихований SSID?
    • Тип захисту бездротової мережі: WEP/WPA-PSK/WPA-EAP?
    • Довжина ключа.
    • Тип ключа (пароль або шістнадцятковий ключ для WEP).
    • Шифри (TKIP/AES).
    • Механізми розпізнавання (TLS/TTLS/PEAP/...).
  • Для мобільних широкосмугових мереж:
    • обладнання;
    • використані драйвери (отримати ці дані можна за допомогою dmesg під час виконання з’єднання);
    • мережа, яка використовується;
    • тип мережі (GSM/CDMA/UMTS);
    • чи використовується apn.
    • журнали ModemManager ("killall NetworkManager", "killall modem-manager", start "modem-manager --debug", "NetworkManager --no-debug") можуть бути корисними для визначення того, чи вдалося NetworkManager виявити ваше обладнання.

І дуже важливі дані: чи можете ви встановити з’єднання за допомогою іншої клієнтської програми? Наприклад, nm-applet у GNOME або cnetworkmanager у консолі. Якщо з’єднання можна встановити, будь ласка, спробуйте додати порівняльні відомості, описані наприкінці цієї статті.

Обробка повідомлень про вади

Керування мережею у більшості стільничних систем Linux є вершиною великого та дуже нестійкого стосу компонентів. Причиною цього є потреба у роботі у багатьох різних системах. Якщо спроба з’єднання зазнає невдачі, причиною цього може бути один або декілька елементів стосу, але повідомлення про невдачу, зазвичай, є подібними до «З’єднання встановлено на 28%, після чого спроба зазнала невдачі». Обробка повідомлень про вади на bugs.kde.org полягатиме у пошуках шару, на якому сталася помилка, так, щоб точно визначити відповідальний за помилку компонент.

Структура компонентів

Обладнання

У обладнанні для бездротового зв’язку є неочікувано багато вад. Якщо вам поталанить, ці вади можна виправити на наступному рівні.

Ядро

На цьому рівні працює справжній драйвер, що керує обладнанням. Тут також є багато доволі цікавих вад. З часу впровадження шару стандартного бездротового зв’язку MAC у ядро Linux ситуація з вадами покращується. Для частини обладнання не існує драйвера для Linux, користувачі керують ним за допомогою програми ndiswrapper, яка завантажує драйвери Windows і всі вади з ними пов’язані. Повідомлення драйвера можна знайти у журналі системи, обмінюватися даними з драйвером можна за допомогою набору програм iwtools.

Допоміжна програма (wpa_supplicant)

wpa_supplicant — низькорівнева програма для обміну даними з драйвером, яка забезпечує роботу можливостей розпізнавання та шифрування. Код цієї програми є відкритим і, загалом, досить високої якості. До створення NetworkManager користувачам доводилося налаштовувати програму вручну за допомогою файлів керування у каталозі /etc. Недосвідченим користувачам важко було налаштувати програму. Журнал програми можна, зазвичай, знайти за адресою /var/log/wpa_supplicant.log. У сучасних системах програмою віддалено керує...

NetworkManager

NetworkManager — фонова служба системи, яка перебуває у центрі підсистеми керування мережею у більшості стільничних системах Linux. Служба працює від імені адміністратора системи (користувача root), що потрібно для керування нижчими рівнями, і надає можливості керування з боку клієнта за допомогою системи D-Bus. Журнал служби записується до /var/log. Крім того, NM керує клієнтами DHCP за потреби і перезаписує файл /etc/resolv.conf власними даними щодо серверів DNS. Крім того, NetworkManager надає у розпорядження користувача модуль Системних параметрів, призначеним для читання (загальносистемних) файлів налаштування мережі вашого дистрибутива і надання отриманих даних NetworkManager.

Клієнтські програми

KNetworkManager — аплет KDE 4, Плазмоїд керування мережею у KDE 4, KNetworkManager у KDE 3, nm-applet у GNOME і cnetworkmanager, як остання надія. Ці програми відповідальні за

  • надання користувачеві даних щодо стану роботи мережі системи,
  • передавання повідомлень про дії користувача до NetworkManager
  • та зберігання обміну даними щодо параметрів мережевого з’єднання користувача (правил) у NM.

Хоча ці програми є найпомітнішими частинами системи, вони є малозначущими для успішного встановлення з’єднання. Оскільки всі ці програми користуються стандартним інтерфейсом NetworkManager, вони є взаємозамінними.

Якщо щось не працює

Де шукати джерело негараздів?

Дуже просто. Почніть з вершити стосу і спускайтеся вниз. Якщо вам вдасться знайти щось, що працює, вам вдасться знайти джерело проблеми. Якщо всі внесені вами зміни не дадуть результату, передайте проблему на розгляд експерат (ймовірно, учасника відповідальної команди вашого дистрибутива Linux).

  1. Чи справді NetworkManager використовується у вашій системі? У Mandriva ця система не використовується. У Moblin використовується Connman.
  2. Спробуйте скористатися іншою клієнтською програмою NetworkManager. Якщо інша програма виявиться працездатною, перейдіть до наступного пункту і спробуйте локалізувати проблему у Керуванні мережею. Після цього звітуйте на bugs.kde.org щодо продукту «Network Management».
  3. Спробуйте налаштувати з’єдання за допомогою інструментів налаштування системи вашого дистрибутива, щоб Системні параметри отримали ці налаштування. Навряд чи це спрацює, але варто спробувати.
  4. Спробуйте налаштувати з’єднання за допомогою wpa_supplicant. Документація до програми доволі куца, але у ній є приклад налаштувань. Список підтримуваного обладнання наведено тут. Якщо сам wpa_supplicant працює, джерелом помилок є NetworkManager. Повідомте до вашого дистрибутива або до системи стеження за вадами bugs.freedesktop.org.
  5. Якщо це не спрацювало, змініть налаштування бездротового маршрутизатора так, щоб він використовував інший (слабший) тим шифрування або взагалі не використовував шифрування. Якщо після цього вдасться встановити з’єднання, проблемним є wpa_supplicant або драйвер. Яким би не було джерело проблеми, повідомте про нього до системи стеження за вадами вашого дистрибутива.

Це все кляте KDE!

Якщо ви читаєте ці рядки, вам вдалося встановити з’єднання за допомогою іншої клієнтської програми NetworkManager.

Спочатку переконайтеся, що у системі не працює інша клієнтська частина, не пов’язана з Керуванням мережею. Одночасна робота двох систем може призвести до непередбачуваних результатів. Якщо таку систему було запущено, вилучіть і перезапустіть Керування мережею. Якщо бажаєте, можете запустити систему з Плазми за допомогою команди

plasmoidviewer networkmanagement

Вам слід спробувати визначити, чим з’єднання, яке намагається встановити Керування мережею, відрізняється від з’єднання, яке встановлюється іншою клієнтською програмою. Якщо Керування мережею було зібрано з початкових кодів, ви можете скористатися програмою qdbusfornm, різновидом qdbus, можливості якого розширено для обробки типів даних NM.

Якщо програму не було зібрано з початкових кодів, просто замініть

./qdbusfornm --system

на

qdbus --system --literal

у командному рядку, наведеному нижче. Дані буде трошки важче читати, але їхня змістовність залишиться незмінною. Якщо ви скористалися командою

qdbus --system --literal

будь ласка, виправте форматування даних так, щоб у одному рядку було одне повідомлення, подібно до наведених нижче даних, виведених qdbusfornm. Виконати форматування дуже просто, крім того, ви зекономите час розробника.

Наведене нижче значення 0 відповідає з’єднанню. Змінюйте його, якщо у вашій системі декілька з’єднань, доки не буде виведено дані щодо потрібного вам з’єднання.

./qdbusfornm --system org.freedesktop.NetworkManagerUserSettings /org/freedesktop/NetworkManagerSettings/0
org.freedesktop.NetworkManagerSettings.Connection.GetSettings

виведе щось таке:

a{sa{sv}}(==802-11-wireless==
 band: bg
 mode: infrastructure
 security: 802-11-wireless-security
 ssid: opensuse-guest
 ==802-11-wireless-security==
 auth-alg: open
 key-mgmt: wpa-psk
 wep-tx-keyidx: 0
 ==connection==
 autoconnect: true
 id: openSUSE
 type: 802-11-wireless
 uuid: {951cc7d9-1fa0-4525-9ab7-7199849e1b19}
 ==ipv4==
 dns-search:
 method: auto
 )

Тепер спробу з’єднання слід повторити за допомогою іншої клієнтської програми, яка є працездатною, потім скопіювати обидва набори виведених даних і долучити їх до звіту щодо вади на bugs.kde.org. На основі цих даних ваду буде швидко виправлено.

Аварійні завершення роботи

Якщо програма аварійно завершує роботу, встановіть пакунки символів для зневаджування і отримайте дані зворотного трасування. У Kubuntu вам слід додати сховище debug і встановити пакунок plasma-widget-networkmanagement-dbgsym.