Коннект? Есть коннект

06.12.2006 22:34:08

Не прошло и полгода, как в доме появился правильный шнурок UTP пятой категории с RJ-45 на конце. Правильные шнурки такого типа, как известно, ведут в Интернет. И своим наличием в хате непременно радуют окружающих.

Это, конечно, не tvoe.tv, которое избаловало меня до неприличия, это небольшой сельский провайдер CCTech, у которого на данном этапе нету даже нормальной безлимитки. Однако, относительно недавних модемных потугов, свершилось! Да и безлимитку обещают вскоре сделать, да и, в общем-то, в нашем контексте значительно важнее перманентность доступа, а не ограничения по скорости/трафику.

Однако, намаялся малость с подключением. Провайдер дает интернет через так называемый VPN (а без этого в шнурке только локальная сеть), который, по сути, и не VPN вовсе (VPN должен быть OpenVPN), а «VPN по-микрософтовски», то есть PPTP (надо отдать должное, описано в RFC и придумано не в MS, но обозвать это VPN-ом надо было додуматься…). Конечно, все давно реализовано в свободном виде, но почему-то нифига не работает с первого тычка.

Изначально, естественно, правильный шнурок был воткнут в lapsang, через который, соответственно, должна получать доступ моя внутренняя сеть, которая, правда, на сегодня состоит из единственного ноута.

Железяка работает под FreeBSD 6.1 и всем радует, но вот настроить pptp-client мне на ней так и не удалось. Вроде бы и в бубен бил, и чаек прихлебывал, и печеньку съесть за этим делом успел, а все никак. Общий синдром — во время установления соединения или уже даже сразу после его установления ppp ловит SIGTERM и торжественно закрывается. Откуда он этот SIGTERM берет, леший знает.

pptp-client, он ведь хитрый. Он сам по себе тупенький и работает исключительно с PPTP частью соединения, далее ведь поверх этого PPTP уже идет нормальная сессия PPP (здравствуйте, ошметки модемного величия), но с наворотами (шифрование MPPE, аутентификация CHAP в стиле MS второй версии…). А с PPP в FreeBSD все весьма интересно.

Есть там привычный pppd, то есть демон, использующий ядерную реализацию PPP, он такой же и для GNU/Linux, но есть и свой собственный, FreeBSD-шный, исключительно правильный клиент ppp, работающий в пользовательском пространстве. Естественно, что на FreeBSD pptp-client’у логично использовать ppp, а не pppd, на то он и пропатчен в портах.

Но зачем-то он так любит SIGTERM, даже не знаю. А pppd, который все же можно использовать, требует поддержки MPPE в ядре, которой в FreeBSD, ясен пончик, нету (в Linux, начиная с 2.6.15 встроенна в основную ветку).

В общем, потанцевав с бубном вокруг этого всего, воткнул правильный шнурок в ноутбук и за 2 минуты настроил клиента pptp (в пакетах Debian/Ubuntu он значится как pptp-linux, старое название проекта), да получил доступ в Сеть. Что и неплохо, но по сути является форменным безобразием, поскольку в Сеть должен смотреть lapsang.

Однако, с доступом в Сеть удобнее решать проблемы, так что, пошукав в жужле, нашел информацию о том, что в FreeBSD существует еще некий демон mpd, который по мануалу значится как «netgraph multi-link PPP daemon». Звучит жутко.

Забавный, кстати, момент, пакет mpd я сначала скачал неправильный, для архитектуры i386, по привычке. Причем pkg_add запросто его поставил. Запустить уже, естественно, не смог. Ну, благо, двести с копейками килобайт, скачал и для AMD64.

Потанцевал минуток 5-8 с бубном вокруг mpd и заработало. Получилось где-то так:

mpd.conf:

default:
load vpn
vpn:
new -i ng1 vpn vpn
set iface disable on-demand
set iface route default
set bundle disable multilink
set bundle authname ##LOGIN##
set bundle password ##PASSWORD##
set link accept acfcomp protocomp
set link accept pap chap
set link disable pap chap
set link keep-alive 10 75
set ipcp yes vjcomp
set bundle enable compression
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
open iface

mpd.links:

vpn:
set link type pptp
set pptp self ##MY-ADDRESS##
set pptp peer ##SERVER-ADDRESS##
set pptp enable originate outcall

Потом еще, правда, с файрволлом малость пришлось повозиться, поскольку изначально я его вырубил (дабы не мешался), ну а в реальности он должен работать. Самая главная строка в /etc/pf.conf:


pass in proto gre all keep state

Ибо без этого PPTP не работает. Хотя, наверняка, его можно как-то поаккуратнее ограничить интерфейсом, но как-то сразу не получилось, а теперь, когда все работает, то уже и по барабану.

Сеть, кстати, довольно ощутимо «фонит». Несчастные желяки, зараженные Windows, пытаются найти братьев по разуму с помощью NETBIOS. Некоторые экспортируют по SMB всякое. Есть еще в сети большой FTP-отстойник, где, впрочем, встречается и довольно занятный контент. Наверняка есть и куча малых, но это надо рыться.

В общем, жить стало веселей.

Новья:
Хы! А в каталоге «software» FTP-отстойника обнаружился все-таки каталог «unix», а в нем даже «Distribs». Старенько все довольно-таки, но есть. Что способствует улучшению настроения.

Новья:
Кстати, попеняв на ограничения по трафику, стоит все-таки отметить, что скорость работы весьма приличная. Фактически, как на работе. Местами даже чуть быстрее. 300-400 Кбит Кб/с запросто.
Новья:
А ведь и 700-800 Кб/с тоже запросто. [с важным видом] Неплохо, неплохо…
Новья:
А если с правильных серверов качать, то и до 1.5 Мб/с в максимуме можно дойти. А средненько по 1 Мб/с. Хе-хе. 18 Мб за 18 с. Блин, мне это нравится. И одновременно пугает. Если tvoe.tv меня разбаловало трафиком, то тут волей-неволей разбалуешься скоростью, да так, что потом на безлимитные тарифы и переходить не захочется…

Много комментариев (4) к заметке “Коннект? Есть коннект”

  1. Freeman:

    Выходит, у нас с тобой почти одинаковая сетка, у меня по 800 килобайт качается со slil.ru. А вот локальные FTP ограничивают скорость 512-ю килобайтами. Я сначала за глюк качалки принял — уж больно «круглая» скорость.

  2. Freeman:

    Не проверял, локалка реально гигабитная? Как-то не верится.

  3. Роман:

    Гигабит проверить нечем.

  4. mindochin:

    последнее особенно верно (у нас в глубинке особенно) — после 6 мб/с на безлимит 64кб/с не очень хочется, но видимо придется 🙂

Закомментировать

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