Трудно ли быть пользователем? | Популярный Linux

vgololobov аватар
Опубликовано vgololobov в Ср, 20/08/2008 — 13:52

Никто не любит пользователей компьютера. Исключая, возможно, их самих.

В этом я лишний раз убедился, обратившись к теме замены пиратского ПО на лицензионное. Особенно в образовательных учреждениях. Если в бизнесе, малом ли большом, вопрос решается из соображений чисто экономических, то, скажем, в школах, где компьютеры появляются чаще всего, и спасибо их дарителям, в том виде, в каком они «плавали» на предприятиях или в учреждениях, и вопрос: как ими пользоваться? — далеко не праздный, во всех проблемах в первую очередь обвиняют администрацию и учителей. Какие-то обоснованные претензии? Отнюдь… и обиднее всего слышать подобные обвинения из уст поклонников Linux.

Я остаюсь, и не стыжусь этого, толстым и ленивым пользователем, способным нажимать только на кнопочки мышки, когда курсор указывает на кнопочки приложений. Если что-то не получается в этом процессе, то я, естественно, раздражаюсь. Было бы странно, если бы было иначе. Да, было время, когда компьютер мог позволить только ввод двоичных чисел. Он был таким, каким был. Но со временем появились операционные системы, с компьютером стало возможно разговаривать на языке, хотя еще маловразумительном для нас, но понятном ему — языке команд. Так и разговаривали. Однако с появлением более сложных операционных систем, оплаченных, кстати, нашими с вами деньгами, разговор с компьютером переместился в область щелчков мышки. Отчего же сегодня можно услышать уничижительные замечания о кривых руках, когда обращаешься за помощью, если ты не желаешь морочить себе голову, разбираясь в устройстве операционной системы?

Затруднения может вызвать любая малость. Вот появилась необходимость подключать иногда ноутбук к Интернету. Мой провайдер Netbynet, как подтвердили в службе технической поддержки, не против этого, если использовать не прокси-сервер, а роутер. Прочитав на Linux форумах, что последний еще лучше, чем Windows приспособлен к решению этих вопросов, я решил, что быстро справлюсь без посторонней помощи, установив вторую сетевую карту. И был неправ.

Я просмотрел все рекомендации на форумах, которые нашел. Попутно почитал, как ругают других, когда они «осмеливаются» задать вопрос — как соединить два домашних компьютера так, чтобы оба могли выходить в Интернет. Ругали их все, упрекая в отсутствии желания поискать по форуму или воспользоваться поиском на Google. Я искал и на форумах, искал и с помощью всех доступных мне поисковых систем. Разумных ответов, кстати, я находил не так много. Скачал даже несколько статей (на тех форумах, где этот вопрос освещался, эти статьи с небольшими изменениями повторялись), посвященных использованию NAT для создания такой конфигурации домашней сети.

У меня на компьютере три дистрибутива Linux, которые я использовал для настройки. Доверившись знатокам, а в одной из статей говорилось, что достаточно дать команду:

  1. iptables -t nat -A POSTROUTING -o <интерфейс, который наружу> -s <докальная сетка> -j MASQUERADE

чтобы все заработало. Правда на втором компьютере следует указать адрес основного в качестве шлюза, а на основном, где у меня Linux, подправить файл, расположенный в директории /etc, и называемый sysctl.conf. В нем нужно найти строку net.ipv4.ip_forward=0, где заменить   на 1.

Первое, с чем я столкнулся в Fedora — команда iptables работает только в виде /sbin/iptables. Это можно изменить, но я не стал этого делать. Добавить несколько букв к команде, что может быть проще. В оригинальной статье о настройке NAT в Linux, команда, которую следовало дать, выглядела несколько иначе:

  1. [root]# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

С нее я и начинал, впрочем.

Я не очень склонен читать руководства по всем составляющим операционной системы, по этой причине я из этой команды понял только, что ее следует дать в терминале от лица администратора (root), на что указывало начало: [root]# . Я честно повторил все команды, включая сохранение и таблиц, и содержимого файла конфигурации sysctl.conf. Интернет на втором компьютере не появился. Я пробовал, что-то прочитав на форуме, использовать команду /sbin/route для изменения маршрутов, но столь же безуспешно. На основном форуме Fedora, где зарегистрировано более сотни тысяч пользователей, я нашел совет использовать для «раздачи Интернета» программу firestarter. Эта программа нашлась для всех дистрибутивов Linux моего компьютера, она действительно должна была выполнить то, что мне хотелось, и так, как мне хотелось — несколькими щелчками мышки. Но, увы, разные варианты использования этой программы приводили либо к отсутствию результата, либо к тому, что Интернет пропадал на основном компьютере так основательно, что помогала только перезагрузка с предварительной чисткой Firewall’а.

В статье, описывающей настройки таблиц межсетевого экрана (firewall), который еще называли роутером в другой статье, очень хорошо разбиралась работа протокола TCP/IP, начиная с появления пакетов в кабеле, их прохождения через физические устройства, сетевые карты в моем случае, и далее. В статье, как во всех описаниях сетевых протоколов, обсуждаются разные уровни работы сети: физический, транспортный и т.д. Я в них плохо разбираюсь, но после чтения этих статей я, вероятно, немного «зациклился» на двух физических интерфейсах eth0 и eth1. Мне не обязательно использовать NAT, маскирование адресов, но я не знаю других вариантов, поскольку настроить маршруты с помощью route мне не удалось.

В целом, под влиянием ли всех тех воспоминаний, о которых я написал выше, или по иным причинам, эта история с «раздачей Интернета» напомнила мне первые настройки выхода в Интернет через vpn-сервер провайдера. И тогда я читал руководство за руководством, тщательно выполнял все пошаговые инструкции, описанные «гуру» от Linux и читал их возмущенные выговоры таким, как я. В тот раз, я это вспомнил, мне очень помогла одна программа, сейчас она называется Wireshark Network Analyzer. Запустив эту программу, я увидел, как второй компьютер с адресом всех ленивых пользователей домашних сетей 192.168.0.2 пытается через серверы доменных имен, адреса которых я добавил в свойства соединения на втором компьютере, пытается «достучаться» до Интернета. Wireshark позволяет выбрать любой из интерфейсов компьютера, на котором работает, для отслеживания происходящего. При первой настройке выхода в Интернет, много лет назад, тогда программа называлась Ethereal, как мне помнится, она помогла мне увидеть то, чего не хватало в настройках.

Программа, как я подозреваю, нисколько не предназначена для обычного пользователя. При первом запуске мне стало не по себе от увиденного, но в отсутствии других вариантов пришлось, преодолев испуг, привыкнуть к программе и попытаться разобраться в увиденном.

Программа Wireshark при отсутствии активности
Рис. 7.1. Программа Wireshark при отсутствии активности

Именно в этой программе я увидел, «кто стучится в дверь Интернета». А вспомнив, а я это уже пробовал, до того как перепробовал в настройках firewall все варианты использования NAT с интерфейсами eth0 и eth1, что в самой первой из статей предлагалось маскировать, именно так можно понять команду

  1. iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

виртуальный интерфейс ppp0, я решил, предварительно сбросив все настройки, обратиться к этому варианту. Я часто использую Webmin, хотя специалисты не советуют делать это. И для настройки межсетевого экрана у Webmin’а есть раздел в пункте «Сеть», есть и клавиша сброса всех настроек (reset firewall). С ее помощью можно убрать любые настойки, и после нажатия клавиши «Применить конфигурацию» попасть в исходную позицию, где можно выбрать во второй опции настройку NAT для желаемого интерфейса. Я мог выбрать eth0, eth1 или ppp0, или другой интерфейс. До этого в уже выбранной конфигурации, а в Fedora 9 есть настройка межсетевого экрана в разделе администрирования, я и пытался маскировать все, кроме ppp0. От этой идеи меня отвратил неудачный опыт в firestarter. При выборе такого варианта, именно этого, Интернет пропадал полностью.

У меня была еще одна возможность — попросить о помощи кого-нибудь на форуме. И я знал, кого. Я уже обращался однажды и получил помощь от одного из спокойных и терпеливых специалистов, который под ником sergeil появляется на форумах Клуба любителей и Клуба пользователей ASPLinux. Я уверен, что он поможет, но это — на самый крайний случай.

После выбора интерфейса ppp0 в качестве объекта NAT, после применения выбранной конфигурации, я увидел в программе Wireshark, что окно, где раньше появлялись только безнадежные запросы DNS с адреса второго компьютера, заполнилось содержательной беседой.

Программа Wireshark, когда выбранный интерфейс активен
Рис. 7.2. Программа Wireshark, когда выбранный интерфейс активен

Со второго компьютера появилась возможность выйти на Yandex. Но только на Yandex. Окно Webmin с настройкой Nat выглядело так:

Окно настройки Firewall в Webmin
Рис. 7.3. Окно настройки Firewall в Webmin

Я вспомнил о том случае, когда Сергей помог мне разобраться в той таинственной ситуации, что однажды возникла при работе с Интернетом. До этого я думал, что «глюкам» подвержены только программы. А в тот раз, возникло то, во что мне не хотелось верить — я мог из Linux зайти на любой сайт, кроме двух, одним из которых был сайт «Чип и Дип», где можно было проверить наличие нужных радиодеталей в магазинах этой сети, можно было найти описание на многие электронные компоненты и приборы. Как объяснил Сергей, это было связано с параметром MRU. Проблемы, как я понимаю, возникли не у меня, а где-то на трассе прохождения к этим сайтам, но исправить что-то на трассе, естественно, было нельзя, а настроить свой компьютер, изменив параметры, можно.

Сейчас ситуация складывалась обратная. С основного компьютера я мог зайти на любой сайт, а с ноутбука доступен был только Yandex. Мне бы и в голову не пришло пытаться менять параметры MTU или MRU, если бы ни прошлый случай со странным поведением Интернета. Но теперь я твердо знал, что следует изменить MTU на втором компьютере.

В Linux при соединении с Интернетом я задаю параметры mtu 1480 и mru 1500 в файле pptp.options. Однако изменить это в Windows оказалось не так просто. Помогла программа, которую я нашел тоже в Интернете. Думаю, она вписала в реестр нужный раздел и нужный параметр MTU, который оказался равным 1400. Определить значение этого параметра помогла команда, ее я тоже подсмотрел в Интернете,

  1. ping <a href=«http://www.mwil.ru» title=«www.mwil.ru»>www.mwil.ru</a> -f -l 1400

в которой значение я подбирал «на ощупь», пока не стал доходить пинг.

Я понимаю, что желание настроить два компьютера для выхода в Интернет выходит за рамки обычной работы пользователя. Но, если такая необходимость есть, то отчего не сделать в настройках раздел, где в простом и понятном любому диалоге было бы выполнено все, что требуется для такой конфигурации?

Запись опубликована в рубрике Технические вопросы. Добавьте в закладки постоянную ссылку.