- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF136:Тема номера
Материал из Linuxformat.
Cети – это просто
- Linux — лучшая в мире ОС для поиска и устранения неполадок в сети, что и продемонстрирует Грэм Моррисон.
Лет десять назад очень многие надеялись прожить долго и счастливо, не вникая в проблемы пропускной способности канала или влияния латентности одноранговых подключений на групповые сеансы компьютерных игр… Ожидания не оправдались.
Телевизоры, игровые консоли и Linux-машины сражаются за IP-адреса и трафик в сетях с плохой проводкой и неудачной компоновкой – при поддержке по принципу «догадайся сам». Мы намерены исправить положение.
Платформа Linux – прямой результат развития сетевых технологий. Ядро этой ОС писалось с расчетом на взаимодействие с другим таким же ядром едва ли не с первой строки – такая система идеальна для выявления сетевых неполадок. Здесь нет скрытых настроек, нередактируемых параметров или «чёрных ящиков» – поэтому Linux служит отличной площадкой для тренировки будущих системных администраторов и надёжным союзником в поиске трудноуловимых проблем и повышении производительности.
Мы решили собрать как можно больше распространённых вопросов о работе сетей. Ответы помогут вам понять, каким образом Linux управляет сетью, что общего в сетевых проблемах, как добиться наивысшей производительности и довести свою сеть до идеального состояния.
В Как изменить мое имя хоста?
О На первый взгляд такой вопрос может показаться слишком техническим для начала нашей «сетевой» статьи. Но имя хоста – это всего лишь имя, которое вы даете своей машине при установке большинства дистрибутивов. Например, Ubuntu попросит ввести описательное имя и впоследствии отображает его на экране входа и в приглашении командной строки. То же имя присваивается вашему компьютеру в локальной сети и исторически называется именем хоста системы [system hostname] – машины, обслуживающей данный сеанс.
Вдобавок это прекрасная иллюстрация специфики работы в Linux: в большинстве дистрибутивов нет графического средства для изменения такой простой вещи, как имя хоста. В прежнем менеджере сетей Gnome было редактируемое поле, а теперь у пользователя не осталось ничего, кроме командной строки и специнструментов вроде Ubuntu Tweak.
К счастью, изменение имени в командной строке не составляет особого труда – пара способов все-таки есть. Казалось бы, специально для этого существует команда hostname, с единственным аргументом – новым именем хоста. Однако, попробовав ее, вы уясните, что она оказывает лишь временное воздействие на систему. Придется прибегнуть к методу старой школы: отредактировать файлы /etc/hosts и /etc/hostname, попросту заменив там вхождения безликого «hostname» (по одному в каждом) новым именем.
Чтобы увидеть результат изменений в этих файлах, нужно завершить сеанс и войти в систему снова – а лучше попросту перезагрузить компьютер.
В Как сделать интернет-подключение общим?
О Сейчас большинство подключается к Интернету через беспроводной маршрутизатор, и общее интернет-подключение настроить уже не так сложно, как прежде. Новые машины могут использовать как беспроводное соединение, так и свободный Ethernet-порт на задней панели маршрутизатора. Организовать общий доступ к Интернету со своей машины можно несколькими способами. При наличии двух Ethernet-портов (один из которых служит для выхода в Интернет) вторую машину можно подключить к свободному порту через кабель-кроссовер. Кроме того, нужно будет разрешить общий доступ к подключению с помощью менеджера сети. Стандартный инструмент Gnome позволяет это сделать, как и версия в последних релизах Ubuntu. Вы также можете попробовать утилиту Firestarter (http://www.fs-security.com) – мы писали о ней в LXF122.
Менеджер сетей понадобится и в том случае, если на машине есть две Ethernet-карты, а использовать нужно только одну. Если обе карты подключены к работающим серверам DHCP (или настроены вручную), то при определенных условиях возможны конфликты. К счастью, активировать и дезактивировать подключение с помощью менеджера сети не составляет особого труда – можно либо удалить соединение полностью, либо выбрать нужное в выпадающем списке.
Общий доступ к Интернету из Ubuntu
- 1 Откройте подключение
- Щёлкните правой кнопкой мыши на сетевом апплете и выберите команду Edit Connections... [Изменить подключения] в выпадающем меню.
- 2 Выберите новый порт
- Выберите соединение, через которое подключена новая машина (Ethernet или беспроводная сеть) и нажмите кнопку Edit [Правка].
- 3 Допустите других
- Откройте вкладку IPv4 и выберите вариант Shared To Others [Сделать общим], затем нажмите кнопку Apply [Применить]. Чтобы активировать общий доступ, может потребоваться перезагрузка.
В Как установить время с помощью NTP?
О Компьютеры, по сути, те же часы – однако, при всей их умопомрачительной точности, это не лучшие устройства для контроля времени (особенно когда речь идет о переходе на летнее или зимнее время). А если вы путешествуете с ноутбуком, лишь очень немногие дистрибутивы способны отмечать перемену местонахождения и соответственно обновлять время.
Большинство системных часовых приложений с графическим интерфейсом оснащается этой функцией по умолчанию. Например, в KDE щёлкните правой кнопкой мыши на значке часов в правом нижнем углу, затем выберите команду Adjust Date And Time [Настроить дату и время]. В появившемся окне выберите вариант Set Date And Time Automatically [Устанавливать дату и время автоматически]. Активируется поле Time Server [Сервер времени], расположенное ниже; выберите географически ближайший сервер NTP.
Любителям работать в терминале понадобится команда ntpdate [сейчас во многих дистрибутивах она заменена на sntp]. Обычно она установлена по умолчанию, но выяснить интернет-адреса двух серверов времени предстоит самому. Проще всего это сделать, выбрав на сайте http://www.pool.ntp.org адреса двух ближайших серверов в списке справа. Двух – потому что ntpdate вычисляет латентность канала между вашим компьютером и удалёнными серверами посредством «триангуляции», чтобы получить более точный результат. По той же причине полезно выбирать географически ближайшие серверы. Затем наберите команду ntpdate -b 0.ru.pool.ntp.org 1.ru.pool.ntp.org [вместо ntpdate -b используйте sntp -s](если у вас нет прав на изменение времени, получите их через su или sudo). Вы увидите процесс обновления времени, а вывод команды укажет, на сколько пришлось скорректировать показания часов – по этому значению можно будет судить о дате следующей синхронизации.
В Почему сайты иногда не загружаются?
О Если ваша сеть исправна, но ввод URL в адресную строку браузера завершается лишь сообщением об отключении по тайм-ауту – высока вероятность сбоя сервера DNS. DNS переводит текстовые адреса, по которым люди запоминают большинство интернет-серверов и сайтов, в цифровые – понятные машинам. Если сервер DNS работает исправно, то после ввода ping linuxformat.ru в командную строку вы получите примерно такой вывод:
PING linuxformat.com (88.212.205.226) 56(84) bytes of data.
Команда ping – одно из простейших средств диагностики сети: она просто посылает короткое сообщение на удалённый сервер. Если сообщение дойдет до сервера, тот отошлет его обратно (если только подобное действие не запретил его администратор). Хотите верьте, хотите нет – но название команды подражает звуку, который издает гидролокатор подлодки, ощупывая морское дно.
Из вывода команды ясно, что сервер DNS преобразовал нашу команду в IP-адрес (88.212.205.226) – и это первый тест, который вы должны выполнить при возникновении любого сбоя. Полезно также выяснить IP-адрес сервера (его можно использовать вместо URL). Если запрос ping возвращается при вводе IP-адреса, но не имени – значит, почти наверняка неисправен DNS; попросту смените его.
В наши дни серверы DNS настраиваются, как правило, через серверы DHCP, которые присваивают компьютерам IP-адреса. Для большинства современных домашних систем эти серверы находятся на роутерах, то есть адрес вашего сервера DNS совпадает с адресом маршрутизатора. Итак, первое, что нужно проверить – web-страница настройки вашего роутера (если она тоже не открывается, попробуйте перезагрузить устройство). Определив адрес DNS-сервера, проверьте с помощью ping, срабатывает ли запрос по IP-адресу. Если нет, свяжитесь с интернет-провайдером и спросите, не изменился ли этот адрес. Если это так, просто замените старый адрес новым. В противном случае, ничто не мешает заменить старый адрес DNS адресом публичной службы, например, OpenDNS и Google. Адреса OpenDNS – 208.67.222.222 и 208.67.220.220. Адреса Google запомнить проще (8.8.8.8 и 8.8.4.4), но обе службы могут сократить время, необходимое компьютеру для перевода URL в IP-адрес.
Можно сменить DNS и для отдельной машины – среди инструментов настройки сети должен быть графический инструмент для этого. Если его нет, следует отредактировать файл /etc/resolv.conf (от имени root). Новейшие дистрибутивы, рассчитанные на работу с DHCP, могут не создавать его по умолчанию – так что сделайте это сами. Содержимое должно быть примерно таким:
nameserver 8.8.8.8 nameserver 8.8.4.4
Как видите, мы указали адреса DNS-службы Google – но вы можете подставить адреса OpenDNS или собственного маршрутизатора (шлюза), если это даст вам нужный результат. В любом случае, чтобы изменения вступили в силу, понадобится перезагрузить компьютер или перезапустить сеть (командой service networking restart). Учтите, что впоследствии /etc/resolv.conf может быть переписан клиентом DHCP или другой программой.
В Почему не работает USB-модем?
О USB-модемы, как старого коммутируемого типа, так и нового (ADSL), по большей части «неодушевленные». Их рабочее ПО загружается при подключении и выполняется на центральном процессоре, и без драйвера такие модемы попросту мертвы. Вот почему так много USB-модемов не работают под Linux: чтобы оживить их, недостаточно обратного инжиниринга драйверов – приходится выстраивать всю функциональность модема с нуля.
Исключения возможны, если доступна прошивка модема (код, выполняемый на его процессоре). Linux-драйвер может загружать это ПО в модем, после чего тот действует безупречно. Одна беда: производители оборудования неохотно идут на распространение прошивок, а их распространение в двоичном виде изрядно досаждает сторонникам открытости.
Причина бездействия вашего модема кроется скорее всего в этом, и лучшее решение здесь – NdisWrapPer. Это приложение позволяет использовать сетевые драйверы Windows XP в Linux. Но прежде всего придётся добыть файлы .inf и .sys, скрытые в комплекте драйвера Windows. Это нелёгкая задача, и проще всего начать с похода на вики NdisWrapper (http://sourceforge.net/apps/mediawiki/ndiswrapper/index.php?mediawiki/index.php/List) и поиска своего устройства. Если оно числится в списке, то к нему прилагаются инструкции по выуживанию необходимых файлов. Остаётся найти их штатными средствами поиска и установить драйвер. После этого ваша система определит устройство и настроит его точно так же, как с «родным» драйвером.
В Провайдер блокирует (ограничивает) передачу данных?
О Многие провайдеры хвалятся «неограниченной» передачей пакетов, но мало кто обеспечивает подлинно бесконтрольную передачу. Две основные цели вмешательства – блокирование портов и ограничение (шейпинг) трафика. В первом случае вы не сможете использовать собственный почтовый или web-сервер – или службу VoIP для телефонных звонков по Интернету. Во втором случае будет ограничен поток данных для определённых служб, таких как одноранговые сети, видеотрансляция или FTP.
Лучший способ уличить провайдера в блокировании портов – просканировать свою сеть откуда-нибудь извне, набрав nmap в сопровождении IP-адреса сети на удалённой Linux-машине. Приверженцам GUI можно посоветовать Zenmap. Если вы не можете получить доступ к своей машине, находясь вне пределов домена, обратитесь на один из многих сайтов, которые сканируют ваш IP-адрес и сообщают обо всех обнаруженных портах. Если порты общего назначения блокированы (это порт 80 для HTTP и порт 25 для отправки почты через SMTP), но открыты при работе внутри сети, то налицо блокировка доступа провайдером. Можно попробовать сменить порты для этих служб (SSH и SFTP нетрудно переключить через файлы настройки). HTTP/Apache тоже способен на такой трюк – но в этом случае для доступа к вашему сайту, кроме обычного адреса, придётся специально указывать номер порта. Если ничего не поможет, обратитесь к провайдеру с предложением снять ограничения, либо поищите другого провайдера.
Определить ограничение трафика сложнее, чем выявить блокирование портов. Дело в том, что скорость интернет-подключения варьируется в течение суток независимо от действий провайдера. Лучший показатель – скачок скорости в одно и то же время ночью, что можно проследить, если вы распространяете любимый дистрибутив с помощью Vuze. Но это изменение может быть не очевидным, или происходить в разное время суток, или влиять на другие службы (видеотрансляцию, например), для которых не так легко заметить разницу. В этом случае можно проверить достоверность заявленного качества предоставляемых провайдером услуг или сделать прямой запрос.
Пути обхода аналогичны случаю блокирования портов. Нужно придать проблемной службе неузнаваемый вид – что неизбежно влечёт за собой смену используемых сервером портов. Провайдеры оценивают также тип передаваемого трафика – но и здесь их тактику можно расстроить, шифруя передачу. Но всё это лишь обходные манёвры; радикальный же способ – смена провайдера.
В Почему не действует общий доступ к файлам?
О Если в вашей сети не один компьютер, рано или поздно возникнет необходимость передачи файлов между машинами. Дело обычное, но, как вы, видимо, уже заметили, может тоже обернуться кошмаром. И всё-таки можно настроить обмен файлами без отправки их самому себе по почте. Ключ к успеху – Samba (На самом деле для Linux ьашин правильный ответ NFS- сетеваяайловая система, это протокол родной для Unix и прекрасно работающий). Это реализация протокола, который используется в одной из альтернативных ОС для «переговоров» о передаче файла с одной машины на другую, а также для выполнения других полезных задач (например, перемещения по файловой системе удалённой машины или печати на удалённом принтере).
Samba можно настроить и сам по себе, но для удобства и гибкости мы рекомендуем устанавливать его в среде рабочего стола. Причём в Gnome удалось добиться более весомых результатов: в KDE были кое-какие проблемы с файлообменом. В Gnome из состава Ubuntu, например, достаточно нажать правую кнопку мыши на любой папке и выбрать команду Sharing Options [Общий доступ]. Если такой команды в меню нет, установите пакет nautilus-share.
Затем нужно выбрать вариант Share This Folder [Разрешить общий доступ к папке], после чего система установит несколько служебных пакетов и запросит перезапуск сеанса. Снова получив доступ к параметрам папки, примите решение о допуске к ней посторонних и выберите вариант Create Share [Создать разделяемый ресурс]. После этого над пиктограммой папки появится эмблема из двух стрелок, указывающая на возможность общего доступа. Пользователи удалённых машин, просматривая ресурсы локальной сети, смогут увидеть вашу папку и войти в неё.
Пользователям KDE необходимо установить и Samba, и пакет kdenetwork-filesharing (Kubuntu по умолчанию этого не делает). После установки щёлкните правой кнопкой мыши на папке, которую хотите открыть для общего доступа (например, Public в домашнем каталоге), и выберите команду Properties [Свойства]. В появившемся окне откройте вкладку Share [Общий доступ] и нажмите кнопку Configure File Sharing [Настроить доступ].
После ввода пароля администратора появится окно модуля управления файлообменом. Нажмите кнопку Allowed Users [Авторизованные пользователи] и выберите вариант Allow All Users To Share Folders [Разрешить всем пользователям открывать доступ к папкам] в появившемся окне. Затем нажмите кнопку Apply [Применить]. После этого можно открывать общий доступ к любой папке в окне Dolphin.
В Почему мне не получить удалённый доступ к файлам?
О Разрешить другим пользователям доступ к своим файлам по Samba – это одна задача, а добраться до файлов этих пользователей самому – совершенно иная. К счастью, вторая часть значительно проще первой и не требует установки дополнительных пакетов.
Например, в Gnome выберите пункт Network [Сеть] в меню Places [Переходы]. В открывшемся окне файлового менеджера появятся пиктограммы всех сетевых машин с установленным Samba – на любую из них можно войти и увидеть общедоступные папки.
Если искомой машины в перечне нет, но вы знаете её IP-адрес, выберите в меню Places вариант Connect To Server [Подключиться к серверу] и укажите тип службы Windows Share [Общие ресурсы Windows]. Введите IP-адрес в поле адреса сервера и нажмите кнопку Connect [Подключить]. В открывшемся файловом менеджере вы и обнаружите необходимые файлы и папки.
Пользователям KDE следует открыть файловый менеджер Dolphin и перейти в локальную сеть, щёлкнув по иконке Network [Сеть] в левой панели окна. А можно подключиться к серверу напрямую, используя URL Samba в форме smb://имя_пользователя@сервер. Если опустить имя пользователя, Dolphin предложит ввести его вместе с паролем для использования в текущем сеансе браузера. Тот же URL можно применить и в Gnome при ручном вводе названия ресурса. А можно ввести этот адрес в строке Firefox – после чего просматривать общие ресурсы и загружать файлы в одном и том же окне.
В Как настроить безопасную работу по SSH?
О Подключение к удалённым серверам по SSH используется повсеместно – от рабочей станции до игровой консоли. Можно подумать, что средство, чьё название расшифровывается как «безопасная оболочка», по определению безопасно – в основном так и есть. Однако у SSH хватает хорошо известных уязвимых мест, и эта служба тоже нуждается в доработке.
Самая простая и, вероятно, самая эффективная часть работы – разрешение входа по SSH только определённым пользователям, с безопасными паролями. Это самое слабое звено цепи, поэтому, имея учётную запись test с паролем test, безопасностью вы будете наслаждаться недолго.
Ещё один важный шаг – устранение поддержки устаревшей версии 1, успешно взломанной в прошлом. Этот и остальные параметры настройки SSH скрыты в файле конфигурации, который чаще всего находится в каталоге /etc/ssh. Новейшую версию файла под названием ssh_config следует открыть с правами суперпользователя в текстовом редакторе (рекомендуем Nano).
Чтобы убрать поддержку устаревшей версии, найдите в файле строку Protocol 2,1. Такая запись позволяет серверу работать с обеими версиями протокола SSH, первой и второй. Удалите цифру 1, и поддержка старой версии прекратится. Если эта строка начинается символом # (закомментирована), удалите и его тоже. Редактируя файл конфигурации, можно сделать немало полезных вещей для повышения уровня безопасности. Мы бы советовали добавить (или раскомментировать) строку ‘PemitRootLogin no’, чтобы исключить непосредственный доступ к учётной записи системного администратора. Если понадобится, вы всегда сможете повысить привилегии обычного пользователя командой su или выполнять команды через sudo.
Ещё один совет для повышения безопасности – добавить в файл конфигурации строку ‘MaxAuthTries 3’. Так вы оставите удалённому пользователю только три попытки входа. Но лучшая замена в заботе о пресечении неавторизованного доступа – это перенос сервера SSH с порта 22 на какой-нибудь другой. Порт 22 отлично известен, и в Интернете за ним охотятся тысячи скриптов. Смена номера порта значительно повысит безопасность (на самом деле "не значительно повысит безопасность", поскольку многие инструменты, такие как nmap, легко обнаруживают не только открытые порты, но и службы их открывшие), убрав порт сервера с глаз долой. Это делается в строке Port 22 файла конфигурации. Вариант: если на роутере перед Linux-машиной работает брандмауэр, можно перенаправить на порт 22 вашего SSH-сервера любой случайный удаленный порт.
Внеся все необходимые изменения в настройки SSH, перезапустите сервер. Пользователям Debian-Ubuntu для этого достаточно набрать service ssh restart – а можно просто перезагрузить машину.
В Что можно противопоставить интернет-атакам?
О Даже если вы открываете в Интернет единственный порт (например, порт 22 для SSH), ваша сеть тут же становится видимой для миллионов других компьютеров. Стоит микроскопической части этих миллионов запустить команды nmap в автоматических скриптах, как ваша машина подвергнется нашествию злонамеренных атак. Вот почему так важны файлы журналов: они позволяют вовремя заметить опасность. Главный файл из тех, что вам необходимо проверить – /var/log/auth. Здесь регистрируются все попытки входа в вашу систему, как обычные, так и по SSH. Регистрируются и успешные, и безуспешные попытки, и если вы заметите десятки последних, стоит принять меры предосторожности.
Возможно, вы заметите наплыв таких попыток входа с одного и того же IP-адреса (как правило, с перебором распространённых имён пользователей и стандартных паролей). Если имя пользователя редкое, а пароль достаточно сложный, бояться нечего.
Другой способ обезопасить себя – блокировать чересчур настойчивые попытки доступа к вашей машине. Это можно сделать вручную, добавив неблагонадёжные IP-адреса в файл /etc/hosts.deny.
Но есть и более простой способ – с помощью инструмента DenyHosts (его можно установить с помощью системного менеджера пакетов). Это отличная программа: она отслеживает изменения в файлах журнала, автоматически определяет нежелательные подключения и блокирует доступ с определённых IP-адресов при превышении заданных пороговых значений. После установки утилиты значения порогов можно изменить, открыв файл /etc/denyhosts.conf в текстовом редакторе. Рекомендуем уменьшить значение DENY_THRESHOLD_INVALID с 5 до 2. Это допустимое количество попыток входа с удалённого сервера под именем пользователя, не существующим в данной системе. Значение DENY_THRESHOLD_VALID мы бы сократили до 3 – дав лишний шанс легальным пользователям, которых постигла временная парольная амнезия.
После редактирования файла демон запускается командой service denyhosts start от имени системного администратора. Единственная опасность, которая теперь угрожает вам – блокирование собственного доступа к системе. Тогда останется либо получить физический доступ к машине, либо ждать окончания «срока давности», указанного параметром AGE_RESET_VALID (по умолчанию – пять дней). Если хотите проследить за работой DenyHosts, откройте файл /var/log/denythosts. Здесь регистрируются все заблокированные IP-адреса вместе с результатами поиска по доменному имени (вдруг вам вздумается отправить письмецо провайдеру нарушителя).
В Почему не работает Wi-Fi?
О Не так давно настройка Wi-Fi на Linux была настоящим подвигом. Даже при наличии драйверов для устройства Wi-Fi нужно было приложить титанические усилия, чтобы всё это установить, сконфигурировать и запустить. Но за пару последних лет всё разительно переменилось: теперь беспроводные устройства автоматически самонастраиваются и работают безупречно. В системном лотке отображается индикатор мощности радио-сигнала, а переключаться между сетями, вводить пароли и останавливать службы можно мышью.
И всё же неприятности возможны. Если ваша карта не распознана с первой попытки, примените инструмент iwconfig – полный аналог ifconfig, только для беспроводных сетей. Начать лучше всего с ввода iwconfig в командной строке. Если устройство распознано системой, а драйвер установлен правильно, вы увидите сведения об устройстве в выводе команды. В противном случае придётся открывать системные файлы журналов.
Если у вас USB-устройство, попробуйте подключить его и набрать dmesg. Система попытается определить подключённую карту и, в случае удачи, установит нужный драйвер. При неудаче – проверьте, есть ли драйверы искомого устройства для вашего дистрибутива. Правда, модель аппаратного обеспечения конкретного устройства не так-то просто определить. Подробные спецификации редко печатают на упаковке или самом устройстве. Лучший способ найти необходимые сведения – это набрать lspci или lsusb при подключённом устройстве (хотя иногда помогает и вывод dmesg). Вывод для нашего беспроводного USB-адаптера выглядел следующим образом:
0cf3:9170 Atheros Communications, Inc. AR9170 802.11n
Поиск по AR9170 в Google показал, что драйвер устройства включён в ядро 2.6.31 – значит, требуется дистрибутив как минимум на этой версии ядра. После перехода на такой дистрибутив (Ubuntu 10.04) устройство заработало без дополнительной настройки.
Беспроводные подключения KDE
- 1 Откройте сетевое меню
- Нажмите маленький значок вилки на панели апплетов: появится «сетевое меню». Разрешите беспроводные подключения, затем щёлкните на Create Network connection [Создать сетевое подключение].
- 2 Выберите сеть
- Появится окно со списком доступных беспроводных сетей, обнаруженных вашим беспроводным устройством. Выберите свою сеть и нажмите кнопку Connect [Подключиться].
- 3 Введите пароль
- Если вход в вашу сеть защищён паролем (а это стандарт для любой сети, кроме точек общего доступа), введите пароль и нажмите кнопку OK для подключения.
Почему сеть работает медленно?
Это ощущение вам наверняка знакомо. У вас всего час, чтобы загрузить новейший ISO любимого дистрибутива и установить его на ноутбук перед уходом на выходной. А ваше широкополосное подключение ведёт себя как допотопный модем 56k года этак 1999‑го.
На пути данных к вашей машине немало «узких мест», и первое, с чего следует начать – точка, в которой Интернет соединяется с локальной сетью. Чаще всего это маршрутизатор, подключённый к телефонной линии по ADSL, или кабельный модем – в любом случае проверить скорость подключения можно, подключившись к устройству через web-браузер. IP-адрес зависит от конфигурации, но чаще всего встречаются значения 192.168.0.1, 192.168.1.1 и 192.168.1.254. Вероятно, понадобится ввести ещё имя и пароль. Пользователям ADSL следует проверить скорость подключения. Обычно она выражается значением выгрузки/загрузки в байтах, и должна быть близка к ожидаемой. В противном случае вероятны неполадки на линии, подведенной к помещению, или в самом помещении (неисправный фильтр, помехи или повреждённый телефонный провод). Простейший способ проверить это – подключить маршрутизатор к основной розетке и повторно замерить скорость подключения. Пользователи кабельных модемов могут провести такую же проверку, хотя для них более вероятна неисправность модема, чем входного кабеля.
Если скорость подключения нормальная, ищите причину в локальной сети. Возможно, одна из машин стягивает весь трафик на себя – например, для клиента BitTorrent; возможно даже, что у вас в сети действует Windows-машина, поражённая вирусом. Проще всего было бы проверить это на маршрутизаторе, но на такое способны только самые современные модели. Fritz!Box обеспечивает графический мониторинг трафика в любой момент времени, что полезно, скажем, для контроля ночных событий. Но если монитора нет, проще всего отсоединить от сети все машины, кроме той, что с Linux, и снова проверить пропускную способность сети.
Поиск сетевых проблем посложнее
Допустим, вы отследили все сетевые проблемы вплоть до своей Linux-машины и исправили все недостатки вроде ненадёжных интерфейсов и повреждённых кабелей. Остаётся ещё несколько вариантов. Для начала убедитесь, что сеть и в самом деле тормозит. Рекомендуем использовать командную строку: введите wget для загрузки ISO избранного дистрибутива и проконтролируйте скорость. Удобно пользоваться зеркалами Canonical для Ubuntu.
Следующий шаг – запуск бессмертной команды ifconfig в терминале. На первый взгляд её вывод кажется запутанным, но, зная цель, расшифровать его не так уж трудно. По сути, это перечень сетевых устройств в вашей системе вкупе с обзором их текущего состояния. Среди данных состояния есть IP-адрес устройства (при наличии такового) и количество ошибок, происходящих при попытке обработать получаемые или отправляемые данные.
В простейшем случае вы увидите всего два устройства, eth0 и lo. Первое – стандартный Ethernet-порт системы, второе – так называемая «заглушка» (или «петля»). Она служит только для проверки и удобства: это виртуальное устройство для IP-адреса 127.0.0.1 и имени http://localhost, используемых серверами, работающими на вашей локальной машине. Если на машине установлено ПО виртуализации вроде VMware или VirtualBox, то должно быть ещё несколько виртуальных устройств: они служат для создания сетевых мостов между реальным подключением и виртуальными машинами. При наличии беспроводного подключения, в списке будет присутствовать устройство wifi0 или, возможно, ath0.
Важная часть проверки вывода ifconfig – сведения об ошибках, отброшенных пакетах и переполнении. Чем больше сообщений об ошибках, тем выше вероятность снижения производительности сети. Ошибки в беспроводной сети серьёзно влияют на скорость передачи, но их возникновение на пути сигнала от роутера к машине неизбежно. Другое дело eth0: здесь ошибок не должно быть. Если это не так, проблема требует углублённого изучения: установите утилиту ethtool и выполните команду ethtool -S eth0 в терминале с привилегиями администратора.
Небольшой процент конфликтов – дело обычное, тут беспокоиться не о чем. Большое количество конфликтов свидетельствует о перегрузке сети. Конфликты запаздывания (tx_late_collision и rx_late_collision) – признак чрезмерной длины сетевого кабеля. Если есть ещё и ошибки CRC (tx_crc_errors и rx_crc_errors), то вероятно физическое повреждение Ethernet-кабелей, одного из портов или самой карты. Ещё одна распространённая проблема – многочисленные ошибки выравнивания фреймов (rx_frame_align_error), чаще всего это указывает на электромагнитные помехи где-то на пути передачи данных.
Можно использовать ethtool и для проверки скорости работы вашей карты – она также может быть причиной проблем с сетью. Набрав ethtool eth0, вы получите вывод с указанием производительности аппаратного обеспечения и параметры его конфигурации. Данные должны быть следующими: скорость не менее 100 Мбит/с, Duplex: Full и Link Detected: yes. Если чего-то недостаёт, попробуйте переключить сетевую карту на альтернативное устройство.