Коннект? Есть коннект
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 меня разбаловало трафиком, то тут волей-неволей разбалуешься скоростью, да так, что потом на безлимитные тарифы и переходить не захочется…
06.12.2006 23:59:11
Выходит, у нас с тобой почти одинаковая сетка, у меня по 800 килобайт качается со slil.ru. А вот локальные FTP ограничивают скорость 512-ю килобайтами. Я сначала за глюк качалки принял — уж больно «круглая» скорость.
07.12.2006 00:08:44
Не проверял, локалка реально гигабитная? Как-то не верится.
07.12.2006 00:11:11
Гигабит проверить нечем.
04.11.2007 01:04:03
последнее особенно верно (у нас в глубинке особенно) — после 6 мб/с на безлимит 64кб/с не очень хочется, но видимо придется 🙂