Статьи про переносной сервер на Linux для новичков — нужны ли?

В этой серии статей я буду рассказывать, как сделать свой переносной сервер на Linux из нетбука EEE Pc 701, способный для множества задач, как то:

  • Раздача 3G-интернета с USB-модема (да, в принципе, хоть с тостера) через вайфай-карточку, плюс использование внешних прокси и VPN прозрачно для пользователя
  • Безопасный файловый сервер — защита от вирусов и тому подобное
  • Проверка вайфай-сетей, да и практически чего угодно, защищённого паролем, на прочность
  • Система голосового оповещения
  • Система распознавания голоса и, соответственно, управления голосом
  • Переносной медиапроигрыватель и будильник
  • Стационарный телефон (хотелось бы задействовать внутренний модем)
  • Сервер видеонаблюдения и потокового вещания звуков с микрофона — может иногда быть крайне полезно, если нужно кого-то подслушать
  • Девайс для починки роутеров со слетевшими прошивками, используя TFTP и USB-UART преобразователь, ну и пару скриптов для облегчения своих стараний
  • Много чего интересного, что только взбредёт в голову.


Статьи будут предназначены для тех, кто не боится компьютеров и готов экспериментировать. Для экспериментов я выберу нетбук Asus EEE Pc 701 4G с системой Debian — мне он достался с разбитым экраном по символической цене в 25$, поэтому я сразу загорелся идеей сделать из него переносной сервер, который сможет выживать в довольно суровых условиях. В принципе, ноутбуку при падении особо нечего терять, кроме жёсткого диска и экрана, но экран разбит, а жёсткий диск в этом ноутбуке отсутствует в принципе — вместо него внутри встроена флешка на 4 гигабайта, которая и послужит системным диском. Батареи для этого ноутбука недороги, около 20 долларов на dx.com, и я с удовольствием прикуплю ещё парочку, благо они маленького размера — всё для портативности. Также я планирую заняться небольшим моддингом этого ноутбука — допаять внутренние USB-порты, а к ним подключить что-нибудь функциональное, вроде Bluetooth адаптера. Для чего мне это надо?

  • Портативность. Столько самых необходимых в моей жизни функций в моей сумке иметь очень удобно.
  • Получение опыта работы с системой Debian. Не скажу, конечно, что у меня его совсем нет, но всё же хочется больше.
  • Масса веселья при настройке и использовании — будут обязательно.
  • Получится просто классный гаджет, который облегчит жизнь.

Что есть?


Информация о системе:

Debian 7
uname -a:

>Linux localhost 3.2.0-4-486 #1 Debian 3.2.41-2 i686 GNU/Linux
Никакая оболочка рабочего стола не установлена, поскольку в ней элементарно нет смысла — экран разбит напрочь, да и делать всё необходимое спокойно можно через SSH. Аккаунт буду использовать рутовый — просто нет смысла создавать ещё один, так как систему планируется однажды настроить и больше не использовать — смысл тогда делать аккаунт для пользователя? Мой любимый язык программирования — Python, но использовать для программной части я буду Bash — скрипты на Bash в большинстве своём удобнее для задач автоматизации в Линуксе.
Батарея неопределённой ёмкости — возможно, что и уже значительно подсела, не могу протестировать это с Windows XP и Everest, чтобы получить детализированную информацию об ожидаемом времени работы и прочем. Однако при включенном и настроенном энергосбережении работает сравнительно долго — часа 2 точно.

  • Вайфай-карта Atheros AR242x / AR542x
  • 1 гигабайт оперативной памяти
  • 4 гигабайта на SSD-диске — как ни странно, он всё ещё работает
  • Модем для аналоговой телефонной линии, встроенный. Мне, правда, пришлось найти подходящий и поставить внутрь, но при наличии отвёртки это не проблема.
  • Встроенные динамики и микрофон, Ethernet 100/10 Mbps, VGA-out, 3xUSB (+ 2 нераспаянных внутри), SATA — нераспаянный внутри
  • 3G модем от одного латвийского провайдера
  • Терпение

Что планируется?


Сделать несколько железных модов нетбука:

  • Внутренний инфракрасный порт для управления с пульта — нет смысла каждый раз использовать SSH или клавиатуру вслепую, а вот мелкий пульт был бы идеален
  • E-SATA порт, используя нераспаянные контакты SATA на материнской плате
  • Возможно, банальное расширение жёсткого диска (флешка для пользовательских данных внутри) и встроенный Bluetooth.

Сделать из ноутбука почти что полноценный переносной сервер:

  • Создание WiFi-точки доступа
  • Настройка DHCP-сервера
  • Маршрутизация между двумя интерфейсами — внешним и локальным
  • Подключение 3G модема
  • Загрузка по сети для других машин
  • Видеонаблюдение
  • Файловый сервер
  • Голосовое оповещение

Прочие цели:

  • Hydra для подбора паролей и прочего
  • Связка из Aircrack, Reaver и других прикольных штук — конечно же, пентестинг и только пентестинг
  • Система распознавания голоса на основе CMU Sphinx
  • Проигрывание музыки (ну а почему бы и нет?)
  • To be continued

Необходимые допилы:

  • Настройка энергосбережения
  • Очистка места на жёстком диске (удаление ненужных пакетов и запасных файлов, ну и там по мелочи)
  • To be continued

Итак, вопрос.
Хотелось бы обитателям Хабрахабра прочитать цикл статей по подобным темам? Я работаю над статьями в своё свободное время и надеюсь, что они помогут новичкам в Linux освоить прикладное использование различных пакетов в условиях подобных серверов, возможно, встроенных или же переносных, как у меня, и постичь часть интереснейших деталей конструктора, коим являются системы на базе Linux. Конечно же, эти статьи могут пригодиться для тех же переносных компьютеров на базе Raspberry Pi или других становящихся популярными платформ — да и вообще для всего, на что можно поставить Linux и подключить к сети — те же тостеры не исключение. После этих статей я, возможно, начну книгу, которая поможет пользователю, ни разу в жизни не сталкивавшемуся с системой Linux, но работавшему с Windows, освоить Linux как минимум до уровня новичка, но, видимо, это будет темой уже для отдельного блога — на Хабре всё же в большей части люди более-менее знакомы с этой системой или имеют о ней представление. Будет востребовано или нет? Вот в чём вопрос.
Поделиться публикацией

Комментарии 32

    +36
    Зачем спрашивать? Просто пишите!
    +5
    Буду ждать статью про распознавание речи. Пригодится для автомобильного компьютера, т.к. руки заняты обычно.
      0
      Если честно, у меня ощущение, что это будет одна из самых непростых статей — я пока только на стадии начального изучения pocketsphinx и Sphinx CMU (скомпилировал пакеты, поставил, ничего особо не понял), сам пока ищу для себя годные мануалы. Но — раз статей мало, значит, буду стараться компоновать сведения из всех и проверять, а потом по возможности опишу то, что удалось получить.
        0
        Так это Вы про sphinx? Ничего годного (по крайней мере по поводу русского языка) с ним не получится, но можете попробовать :)
          0
          у меня pocketsphinx с русским языком довольно не плохо работает, просто словарь нужно ограничивать и грамматику прописывать. так же отмечу что pocketsphinx работает на raspberry pi вполне сносно.
      0
      Разумеется пишите!
        0
        Очень было бы хорошо. Пожалуйста, поясняйте скрипты для новичков.
        • НЛО прилетело и опубликовало эту надпись здесь
            0
            Интересно было бы узнать процесс установки дебиана в headless режиме.
              0
              Я подсоединил монитор, вот и всё. К сожалению, про тонкости установки через UART не расскажу =) Это будет потом, если у меня руки дойдут до покупки SoM Aria =)
                0
                +1
                Сколько нужно времени на написание первой статьи? Когда ожидать? Тема очень интересна.
                Иначе пост — выпрашивание инвайта, не более=)
                  +1
                  К этому моменту у меня уже почти полностью готовы статьи про hostapd, isc-dhcp-server, iptables (nat), wvdial (3G модем), cpufreqd (настройка энергосбережения), сейчас буду допиливать детали вроде тонкостей, с которыми столкнулся, первой опубликую статью про настройку hostapd и далее по списку.
                  Опубликую первую в самое ближайшее время — день-два.
                  0
                  Пост пригодится, с радостью почитаю опыт использования этой модели ноута другим человеком. Сам на таком держу Lubuntu и использую лишь как монитор сетей.
                    0
                    Я вот прочитал первый список и не понял к чему слово «сервер» в заголовке, потом почитал развёрнутые списки… может не его нафиг эти серверные задачи? как самбу или нат поднять исписано пол интернетов, а писать обо всём остальном что у вас указано (ну из серверного у вас я бы только тему «Голосовое оповещение» оставил) мне кажется это было бы более интересно.
                      0
                      Поддерживаю KorP. Пишите, судя по описанию, это должно быть интересно!
                        +2
                        Только умоляю, без этого: «Чтоб установить ftp-сервер введем команду apt-get install vsftpd». То есть предполагайте, что все-таки азы своего дистра пользователи знают. Тогда и Вам меньше воды писать и пользователям других дистров меньше воды отфильтровывать.
                          0
                          Хм. Вид навроде: «Устанавливаем фтп-сервер: apt-get install vsftpd» вас устроит? Или вы считаете, что нужно указывать только лишь «Установите пакет vsftpd»? Я решил, что хотя бы названия пакетов уж обязательно нужно упоминать, к тому же бывают случаи, когда нужно подхватить ещё парочку пакетов вместе с этим, а зависимостями они не являются — просто помогут при настройке. А тогда — почему уже не указать команду? Вроде оскорблением не является =)
                            +1
                            У меня в генте могут быть совсем другие зависимости. Если зависимость неочевидна, но необходима, то почему бы и нет. Но конкретные команды имхо избыточны. Но Вы автор, Вам решать.
                          0
                          Мне будет очень интересна тема про голосовую связь через «Стационарный телефон через внутренний модем», втч и через usb модем.
                          Да и остальные статьи тоже с удовольствием прочитаю.
                            0
                            мне кажется он слишком большой, да и из любого ноута можно сделать такое.
                            лучше бы на чем нибудь совсем маленьком.
                              0
                              Совсем маленьком — это Rapberry PI? Этого тоже много, если поискать.

                              Но ведь интересно совсем другое- как люди подходят к решению сложных задач, разбивая их на простые. Это называлось раньше «делиться опытом». Так что: писать, однозначно!
                                0
                                Так то обычно это у нас называлось linux way.
                                0
                                На самом деле — он реально маленький. К тому же — фарша у него по сравнению с Распберри предостаточно — место под экран, динамики, довольно ёмкая батарея с возможностью замены такими же по 20 долларов, гиг оперативки, нормальная звуковуха (с микрофоном!) и выводов чуть побольше, да и скорость сетевых интерфейсов бОльшая в силу того, что они на PCI-E, а не на USB Тот же корпус попрочнее, антенны Wi-Fi уже закреплены повыгоднее. И всё это скреплено вместе уже на заводе, что уменьшает вероятность глюков и необходимость допила под себя железа — только софт, остальное есть. Так что — в каком-то смысле мелкий ноут выходит выгоднее.
                                0
                                Во всем этом меня смущает только пентестерская часть. Если я правильно помню эту модель (сам владел некоторое время назад), то под брутфорс не хватает производительности, а под прогон по rainbow tables — жесткого диска.
                                Как Вы планируете обходить эти ограничения?
                                  0
                                  Не знаю, сколько надо места под таблицы, но обычно в таких штуках есть кард ридер для SD, а если совсем руки чешутся — то есть: USB-входы для внешних накопителей (флешки, диски, ...), есть по-моему неразведенный SATA внутри (о чём автор упомянул)…
                                    0
                                    Вот, например, ссылки на скачивание распространенных RT.
                                    Наименьший размер — 32 ГБ для достаточно простого варианта (LM до 14 знаков). А вот для SHA-1, MD-5 или NTLM размер RT достигает 864 ГБ для 9-значного пароля с, впрочем, достаточно большим чарсетом.
                                    Ломать хеш-функции с солью через стандартные RT все равно бесполезно, так что в условиях Eee PC 701 всё утыкается снова в производительность (в данном случае, на генерацию новой RT уйдет в лучшем случае столько же времени, как и на прямой брутфорс).

                                    Собственно, поэтому я и ставлю под вопрос использование данной модели в качестве платформы для пентестинга.
                                  0
                                  По мои личным наблюдениям сообщество хабра всегда хорошо воспринимает статьи где автор взял и что-то реально сделал сам. Так что пишите конечно. А еще стать здорово помогают самому автору структурировать и «придать законченности» своему проекту.
                                    0
                                    Я больше предпочитаю сейчас Gentoo, но если есть желание написать интересные статьи про любой linux, то конечно пишите. Я, в своё время, писал про FreeBSD и статья неплохо поднялась в яндексе. Если вы очень хорошо разбираетесь в вопросе, обязательно пишите. Тем более, что пока пишите, у вас будут возникать вопросы по теме :) И вам придётся в них разбираться!
                                      0
                                      Статьи здорово помогают самому автору структурировать и «придать законченности» своему проекту.

                                      Даа, а ещё полностью пересмотреть большую часть системы =D Перешёл с isc-dhcp-server на dnsmasq, сейчас разбираюсь с конфигом кеширующего DNS. Так что статья про саму точку доступа будет сегодня вечером или, в самом худшем случае, завтра утром. Простите, что запаздываю.

                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                      Самое читаемое