Читаем Ubuntu 10. Краткое руководство пользователя полностью

Причиной отказа сети могут быть физическими или программными. Физические связаны с неработающим сетевым оборудованием или повреждением среды передачи данных. Программные — с неправильной настройкой сетевого интерфейса. Как правило, избавиться от программных проблем помогает конфигуратор сети — вы его еще раз запускаете и правильно настраиваете сетевые интерфейсы. Если вы сомневаетесь в своих действиях, обратитесь за помощью к более опытному коллеге.

Для диагностики работы сети мы используем стандартные сетевые утилиты, которые входят в состав любого дистрибутива Linux. Предположим, что у нас не работает PPPoE/DSL-соединение. Проверить, «поднят» ли сетевой интерфейс, можно с помощью команды ifconfig. Итак, сначала мы предприняли попытку установить соединение командой sudo pon dsl-provider, а затем вызвали ifconfig, чтобы понять, установилось ли соединение (рис. 24.1).

Присутствие интерфейса ppp0 в списке вывода команды ifconfig указывает на то, что соединение установлено. Интерфейс eth0 относится к первой сетевой плате (вторая называется eth1, третья — eth2 и т. д), а интерфейс lo — это интерфейс обратной петли, который используется для тестирования программного обеспечения (у вас он всегда будет «поднят»).

Если же интерфейс ppp0 в списке вывода отсутствует (не «поднят»), следует просмотреть файл /var/log/messages сразу после попытки установки сообщения:

tail — n 10 /var/log/messages

Эта команда просматривает «хвост» файла протокола (выводит последние 10 сообщений). В случае удачной установки соединения сообщения в файле протокола будут примерно следующими:

Feb 6 14:28:33 user-desktop pppd[5176]: Plugin rp-pppoe.so loaded.

Feb 6 14:28:33 user-desktop kernel: [17179852.932000] CSLIP: code copyright 198

9 Regents of the University of California

Feb 6 14:28:33 user-desktop kernel: [17179852.944000] PPP generic driver versio n 2.4.2

Feb 6 14:28:33 user-desktop pppd[5183]: pppd 2.4.4b1 started by root, uid 0

Feb 6 14:28:33 user-desktop pppd[5183]: PPP session is 2838

Feb 6 14:28:33 user-desktop kernel: [17179852.984000] NET: Registered protocol family 24

Feb 6 14:28:33 user-desktop pppd[5183]: Using interface ppp0

Feb 6 14:28:33 user-desktop pppd[5183]: Connect: ppp0 <-> eth0

Feb 6 14:28:33 user-desktop pppd[5183]: Remote message: Login ok

Feb 6 14:28:33 user-desktop pppd[5183]: PAP authentication succeeded

Feb 6 14:28:33 user-desktop pppd[5183]: peer from calling number 00:15:F2:60:28:97 authorized

Feb 6 14:28:33 user-desktop pppd[5183]: local IP address 193.254.218.243

Feb 6 14:28:33 user-desktop pppd[5183]: remote IP address 193.254.218.129

Feb 6 14:28:33 user-desktop pppd[5183]: primary DNS address 193.254.218.1

Feb 6 14:28:33 user-desktop pppd[5183]: secondary DNS address 193.254.218.27

Первая строчка — сообщение о том, что загружен модуль поддержки PPPoE. Следующие два сообщения информируют нас о поддержке нашим компьютером протоколов CSLIP и PPP. Затем сообщается, что демон pppd запущен, от чьего имени он запущен (root) и приводится версия самого pppd. Далее сообщается имя используемого интерфейса (ppp0) и имя вспомогательного интерфейса (помните, что протокол PPPoE подразумевает передачу кадров PPP по Ethernet) — eth0. Следующие два сообщения свидетельствуют об удачной регистрации:

Feb 6 14:28:33 user-desktop pppd[5183]: Remote message: Login ok

Feb 6 14:28:33 user-desktop pppd[5183]: PAP authentication succeeded

Затем система сообщает нам наш IP-адрес, адрес удаленного компьютера, который произвел аутентификацию, а также IP-адреса серверов DNS.

А вот пример неудачной попытки соединения:

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Programming with POSIX® Threads
Programming with POSIX® Threads

With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset. Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.

David Butenhof

Программирование, программы, базы данных