Настало время рассказать про "Утонченный сервер" и другие аспекты моей домашней сети. Началось все в далеком 1997 году. Тогда у меня появился компьютер с процессором PentiumII 300МГц, 64 МБ памяти и модемом U.S. Robotics Sportster . Через этот модем я подключался к Aha.ru. Доступ стоил дорого, соединение рвалось. Но я, тем не менее, качал программки для OS/2 по FTP с различных варезных сайтов. Потом я стал подключаться к РОЛ. Скорость была побольше, обрывов поменьше, цены пониже. Зато дозвониться было очень сложно. В определенный момент в СТРИМЕ появились тарифы без учета траффика. 128 Кб/с круглосуточно, после модема - очень приятно. Скорость на безлимитных тарифах постепенно росла, но ADSL все же имеет ограничения. Входящего канала (4 Мб/с) мне хватало сполна, а вот исходящий канал 768 кб/с для торрентов маловат. Поэтому совсем недавно я перешел на Корбину. Теперь за те же деньги входящий канал увеличился почти вдвое, а исходящий почти в 10 раз.
Когда я подключился к СТРИМу, стало актуальным провести сеть по квартире. Мама с сестрой смогли бы выходить в инет со своих компов и оставить меня наконец в покое. Первыми сетевыми девайсами стали китайский модем ZTE - единственный ethernet модем который был в офисе стрима и свич на 8 портов. Этот свич я очень удачно купил на Совке: его предлагали во многих лавках примерно за 1000 рубей, а я нашел за 450. Следующим сетевым агрегатом стал мой старый ноутбук. На нем у меня работал вебсервер, осел, ftp и ssh. Очень удобно, когда есть доступ в домашнюю сеть из вне. К сожалению со временем осел стал загибаться и я перешел на торренты. Примерно в это же время у меня появилось еще 2 сетевых девайса NAS и точка вай-фай доступа.
Как я уже писал, с торрентами в OS/2 есть определенные проблемы. FreeBSD не оправдало ожиданий и в
ru_freebsd мне предложили поставить NetBSD. Поставилось все очень хорошо за исключением пустяка: торрентовая качалка использует mmap, а в NetBSD невозможно писать в mmapленные файлы через SMB. Отказаться от идеи качать торрены сразу на NAS, а потом и раздавать их оттуда я ни как не мог. Можно было конечно поставить линукс на ноутбук, но NetBSD мне уж очень понравилась и я решил пойти другим путем: поставить NFS на NAS. Благо там работает линукс для embedded систем. Лузерспейс NFS сервер заработал сразу, но производительность меня не впечатлила, тем более что постоянно лезли сообщения "NFS server is down". Я взялся за кернелспейс NFSd. Модуль загружался, но вылезали странные сегфолты. На определенной стадии вылавливания этих сегфолтов мне понадобился нормальный insmod. Он мне указал, что ядро и модуль скомпилины разными версиями гцц! Встроенный insmod толи этого не замечал, толи хотел позабавиться. С новым модулем все заработало. Однако сетевые тормоза не прекращались. Неужели линупс? Оказалось, что в линупсе сеть тормозит еще больше, а причина в кривом драйвере.
Внезапно дело приняло новый оборот! На день рожденья друзья подарили мне тонкий клиент, которому было суждено стать утонченным сервером. Там была установлена WinCE, и предполагалось работать через Remote Desktop на удаленном сервере. Вместо диска 32 Мб флешь. Сначала я хотел загрузиться оп сети, но сетевая загрузка оказалась безнадежно заглюченой. К счастью можно загрузиться с USB Mass Storage. Я поставил туда NetBSD таким образом, что рут находится на флеше, а /usr, /var и /tmp на NFS. Я рискнул отказаться от свапа и не зря. Для качания торрентов и ssh 128 Мб оказалось вполне достаточно. Так тонкий клиент превратился в утонченный сервер.
Последним сетевым девайсом стал маршрутизатор Cisco 851. Перед переходом на Корбину я очень озаботился выбором правильного маршрутизатора. Интернеты открыли мне правду: сил у бюджетных роутеров не хватает чтоб раздавать интернет даже на домашнюю сеть из двух-трех компов. А ядро линупса, который любят ставить на такого рода девайсы не держит DOS атаки. Я бы пережил некую потерю производительности и надобность периодически перезагружать роутер. Но есть один нюанс. Стоит мне отлучиться из дома более чем на неделю, как ADSL модем сглючивает. Он теряет настройки DHCP, отказывается выдавать интернет и делает много других пакостей. Весьма вероятно, что аналогичный девайс будет вести себя также. Поэтому я решил купить серьезную железку, тем более что стоит она всего 6000 рублей.
Я думал, что с настройкой у меня проблем не будет. Наверняка есть веб-интерфейс, там все интуитивно понятно и т.д., тем более что я нашел уже готовый конфиг для Корбины. В действительности все оказалось немного не так. Вместо веб-интерфесйа аццкая программа с огромным количеством настроек, интерфейсов, зон и маршрутов правил доступа. Более того, настроить все через эту программу невозможно. Есть еще 2 варианта настройки: через командную строку и конфигурационным файлом через TFTP. Я сдуру подправил готовый конфиг и залил в роутер. Желаемого результата я, естественно, не получил. Только через несколько дней изучение документации я понял в чем была моя ошибка. Еще я понял за что означает специалист по Cisco. Настроить их маршрутизатор совсем не тривиально. Зато там можно настроить абсолютно все. Некоторые вещи остались для меня загадкой. Например, каким образом передавать на сервер во внутренней сети запросы на любой порт из заданного диапазона.
