Серверная дома – Домашний сервер. Часть 1: Вводная теория

Содержание

Домашний сервер для работы и не только. Организация рабочего места ленивого инженера

Однажды став тем или иным специалистом в сфере IT, каждый из нас начинает окружать себя всевозможными инструментами для работы и отдыха. Далее это перерастает в целый комплекс мероприятий по поддержанию привычек, установленного расписания дня, комфортных условий труда и отдыха. Не претендуя на какую-либо уникальность, все же хотелось поделиться организацией «рабочего» процесса и отдыха ленивого администратора, как результатом знакомства с разными сферами IT, близкими к основной деятельности.

Вспоминая слова одного преподавателя вуза: «Кто такой инженер? Это же лентяй! Вот он лежит на диване, смотрит телевзор. И захотелось ему переключить канал — но вставать то лень! „Ай, ну его, каналы вставать переключать — пойду-ка разработаю пульт дистанционного управления…“. Всегда хотелось сделать что-то интересное и максимально это автоматизировать…

Итак, исходные данные:

0. Работа удаленным инженером-администратором. Поддержка парка серверов/сервисов по части software и hardware.

1. Место дислокации — загородный дом.
2. Гигабитный интернет с резервированием (Просто всегда был рад помочь местным сете-строителям с настройкой и сборкой серверов.)
3. Отностительно надежная инфраструктура — водо-, газо-, электроснабжение.
4. Желание тишины и спокойствия автоматизации для комфортной работы и быта.

Задачи:
1. Удобная организация рабочего места с возможностью оперативного мониторинга.
2. Необходимая функциональность в свете безопасности, быстродействия и широкого спектра задач.
3. Энергоэффективность.
4. Изоляция рабочей среды от потенциальных угроз.

Сначала все и вся было уделом одного обычного ПК средней конфигурации — здесь и работа, и развлечения и веб-сервер. Круглосуточная работа, особенно в жилой комнате ну никак не устраивала ни меня, ни домочадцев. Появилось желание сделать все „раз и надолго“. Были испробованы множество вариантов — несколько ПК для разных задач в разных местах, Remote Desktop к рабочему ноутбуку, во избежание всевозможных переустановок, проблем привязки к оборудованию или операционной системе. Но однажды попробовав поиграться с одной из систем виртуализации, понял — это то что решило бы сразу много проблем. Это случилось как раз во время, когда в ESXi было упразднено множество ограничений в бесплатной версии, да так что теперь гипервизор годился прямо в мини-продакшн, для дома это уже была пушка по воробьям Отлично, начнем-с.

Первые грабли не заставили себя ждать. При переносе штатным инструментом (VMware vCenter Converter Standalone Client) ОС Windows 7 из доживающего свое винчестера ноутбука конечно же был словлен блускрин. Решение — загрузочный диск с любым редактором реестра, активация необходимых драйверов путем правки нужных значений (вариант решения).

Как же было приятно потом „лечить“ и украшать медленную 5-летнюю систему! Был произведен перенос всего медиаконтента, „не очень нужных“ программ, система сжата с 500 до 50 гигабайт. Все было чудесно, но, конечно сразу же захотелось „побыстрее“. Здесь начались размышления по поводу, собственно, серверной части. Было решено построить систему с запасом, максимально использовав комплектующие, которые уже были. Основное требование — бесшумность и производительность.

Итак, корпус — был вот такой: INPC DL36 — прочный, просторный корпус, который отлично подходил под все требования — полноценный размер материнской платы, 3U высота для использования полноценных радиаторов и бесшумного блока питания.

Конфигурация оборудования:

  • Материнская плата Tyan S7012. 2xLGA1366, 4 сетевых интерфейса, встроенный IPMI, цена на ebay на момент покупки — $130
  • Процессор 1 х Intel Xeon L5630. 4×2.13GHz, TDP 40W. Второй пока лежит без дела, хотя, как показали измерения, практически не повлиял на снижение средней потребляемой мощности (-10Вт). Цена 1шт. на момент покупки — $50 (ebay)
  • Контроллер LSI 9261-8i. Минимально необходимый для полноценного использования SSD. Замеры iops внутри виртуальных машин это подтверждают. Цена на момент покупки $150 (ebay).
  • Дисковая подсистема Здесь немного понервничал и все же раскошелился. RAID1 на базе 2 x Intel SSD DC S3500 Series (240GB, 2.5in SATA 6Gb/s, 20nm, MLC) + OCZ Deneva 2 480 GB для второстепенных задач, тем не менее требующих быстрой дисковой системы. HDD оказались просто не нужны, к тому же они были бы самым шумным элементом системы! Замер IOPS оказался в „пределах погрешности“ относительно теста производительности RAID при непосредственном подключении, без какой-либо виртуализации.
  • Блок питания Chieftec Smart GPS-500C. Он просто бесшумен. Никакого писка дросселей, никаких шумов, абсолютно.
  • Оперативная память В текущей конфигурации это 3х8Gb — вполне достаточно для текущих задач и неплохой запас на будущее, чтобы лишний раз не выключать сервер.
  • Охлаждение Штатные вентиляторы были выкручены, на продув корпуса установлены Noctua NF-S12A PWM. Основной проблемой конечно же стало охлаждение процессоров. Было решено использовать штатный радиатор Intel STS100C (Cu+Al) вместе с регулируемым вентилятором (штатный даже на минимальных для запуска оборотах был очень шумным). Экспериментальным путем был подобран San Ace 80, регулировка осуществляется с помощью популярного step-down модуля на базе LM2596S. Путем подстройки напряжения получилось добиться скорости 500-700 оборотов, это практически бесшумная работа. Такой режим не допускает перегрева даже жарким летом, все показания датчиков в пределах нормы.

В планах переход на полностью пассивное охлаждение CPU.

Вот как это выглядит на данном этапе:

Вид спереди, диски можно менять не выключая сервер:

Попутно был развеян миф о потребности регулярной перезагрузки Windows:

Итак, сервер собран, далее приступим к повышению надежности в доступных нам пределах. Мною было продумано множество вариантов бесперебойного электропитания дома в целом, и сервера, в частности. От выделенного ИБП с минимально необходимой мощностью для питания сервера и базовых сетевых устройств до полного резервирования всего дома трехфазным ИБП. В итоге проб и ошибок был выбран все же самый адекватный вариант — ИБП средней мощности с запасом для питания критических устройств в течение хотя-бы 12 часов. Таковыми являются газовый котел, собственно, сервер, коммутатор провайдера, роутер, внутренние коммутаторы, видеокамеры, автоматические ворота, дежурное 12В освещение, аварийные розетки в доме и подсобном помещении. Добавление следующего по важности устройства —

чайника, насосной станции очень сильно повышает требования к ИБП, поэтому в случае надобности аварийное снабжение переводится на бензиновый генератор. В качестве источника бесперебойного питания применен APC Smart-UPS 1500, в крайнем случае — достаточный для пуска 0.75кВт насосной станции. Аккумуляторный блок собран из 2х120А*ч батарей.

Потребление резервируемых устройств в штатном режиме:

Организация сети. В который раз пришлось на своем опыте убедиться в законе — если по плану необходимо проложить два кабеля — надо закладывать четыре! Даже без систем умного дома. После разнообразных перестановок была применена следующая схема. Для моей реализации сети идеальным роутером оказался, конечно же, MikroTik. Абсолютно все необходимые функции за минимальную стоимость, с минимальным энергопотреблением. Простая настройка локальной сети, безопасности доступа извне, резервирования каналов связи, дополнительных сервисов — устройство класса „один раз разобрался, настроил и забыл“. Функция резервной маломощной точки доступа Wi-Fi, потому как качественная раздача не является основной задачей подобных устройств. В роли главной точки беспроводного доступа был заказан небезызвестный Ruckus — поставил и забыл, проблемы с Wi-Fi прекратились раз и навсегда.

Два аплинка от провайдеров проверяются на доступность по приоритету (distance) — в случае проблем с приоритетным провайдером автоматически происходит переключение на резерв. Решение простое, не самое надежное, но, как правило, достаточное при типичных проблемах сетей в частном секторе — обрывы кабелей/отсутствие электропитания.

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

1. Основная рабочая система на базе Windows 7, та самая, с трудом и заботой перенесенная со славно поработавшего ноутбука.

2. Отдельная система для ведения финансового учета и проведения переводов — так же, впрочем, перенесенная с нетбука.
3. ОС с софтом для видеонаблюдения. Хотя полностью независимые системы и имеют свои преимущества — но полугодовой опыт использования виртуальной машины для этих целей показал отличную надежность такого решения. Видеонаблюдение было построено на базе камер Hikvision и бесплатного софт-сервера от этого же производителя.
4. Сетевое хранилище для медиаконтента (FreeNAS) — в основном для удобного обмена файлами между устройствами внутри локальной сети и просмотра на фото/видео на телевизоре.
5. Unix сервер, Debian/Ubuntu, без GUI. Как же без простой, безотказной системы под рукой — собрать статистику и вывести показания датчиков на веб-сервер, перекодировать видео с помощью ffmpeg, протестировать скрипты, и т.д.
6. Бонусы — однажды в экстренной ситуации пришлось даже спасать крупный сайт, вытаскивая контент из проблемного рейда, на лету завернув его в виртуальную машину и переместив на временный сервер.

Для взаимодействия с виртуальной средой установлен ПК с 23» монитором, на котором есть относительно мощная видеокарта для видео/игр, подключение к машинам происходит по RDP либо SSH. Если уж совсем лениво — то с ноутбука, лежа на диване.

После всех настроек, проб и ошибок, наконец-то можно сказать что все работает, как и было запланировано! Казалось бы, стольким мелочам было уделено внимание — но в сумме это дало очень много выигранного времени и средств, а именно на включения, выключения, замены, контроль всего потенциального парка домашних устройств.Теперь можно больше сконцентрироваться на основной деятельности, не переживая об отключениях электричества, падающих, забытых, украденных ноутбуках, посыпавшихся жестких дисках и прочих сюрпризах. Надеюсь что мой опыт будет интересен и, возможно, кого-то так же мотивирует применить свои профессиональные знания для обустройства рабочего места на дому!

habr.com

Домашний мини сервер

За последние годы в типичной домашней компьютерной сети появилось множество ресурсоемких сервисов, для работы которых требуется отдельный компьютер — мини-сервер. Для чего же нужны, какими бывают и на что способны домашние серверы.

Десятилетие назад пределом мечтаний любой среднестатистической семьи было обзавестись хотя бы одним компьютером с доступом в Интернет: родителям и детям приходилось работать за ним поочередно. Как говорится — в тесноте, да не в обиде. Сейчас же личный ноутбук, планшет или смартфон, а зачастую все три устройства сразу, есть почти у каждого взрослого человека и даже ребенка.
Из-за этого современные жилища по вечерам превращаются в подобие читального зала, где каждый член семьи уединяется в своей комнате за веб-серфингом, просмотром кинофильмов или компьютерными играми. Тем не менее, компьютеры в домах отнюдь не разрознены, а являются частью небольшой локальной сети. Сравнительно недавно список сетевых устройств пополнили умные телевизоры и медиаплееры с выходом в Интернет. Но многим пользователям этого мало и нередко под различные сетевые задачи выделяется целый компьютер, выступающий в роли сервера.

Зачем нужен домашний сервер

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

 

 

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

Как использовать мини-сервер

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

  • Сетевое хранилище. Одной из самых частых ролей, которые берет на себя домашний сервер, является сетевое хранилище (Network Attached Storage, NAS). Такой подход позволяет предоставить доступ к фильмам и музыке всем сетевым устройствам. Кроме того, с помощью NAS удобно обмениваться только что снятыми смартфоном фотографиями и видеороликами: их нужно лишь загрузить в сетевое хранилище и можно просматривать на компьютере или телевизоре. При желании доступ к файлам из хранилища можно предоставить по протоколу FTP, благодаря чему они станут доступны но вводу пароля еще и пользователям, находящимся за рамками домашней сети.
  • Медиасервер. Унифицированный стандарт DLNA позволяет электронным устройствам обмениваться друг с другом мультимедийным контентом. Мини-сервер, поддерживающий этот стандарт, может транслировать видеопоток на телевизор с поддержкой DLNA, планшетный компьютер или смартфон.
  • Узел пиринговой сети. Процесс загрузки файлов по протоколу BitTorrent на высокой скорости и последующая их раздача ощутимо нагружают жесткий диск и замедляют обмен данными в сети. Поэтому разумно перепоручить выполнение этой задачи домашнему серверу, обладающему собственным жестким диском или даже несколькими. Клиент BitTorrent, как правило, входит в стандартный набор приложений мини-серверов, если же предустановленного приложения в меню не оказалось, его можно установить вручную.
  • Веб-сервер. По правде говоря, аренда вебхостинга сейчас стоит сущие копейки, так что устанавливать дома мини-сервер лишь для запуска на нем веб-сайта вряд ли оправданно. Но если вы уже обзавелись домашним сервером для выполнения других задач, почему бы не использовать его еще и в качестве веб-сервера, к примеру для персонального блога?
  • Видеонаблюдение. Чтобы следить за домом и приусадебным участком во время пребывания на работе, нужна система видеонаблюдения. Установить обычные веб-камеры или беспроводные IP-камеры по периметру дома не составит труда, а храниться сделанные ими фотографии и видеозаписи будут на мини-сервере. Если на территорию проникнут посторонние липа, специальное программное обеспечение мгновенно отправит на мобильный телефон-сигнал SOS. А в случае чрезвычайного происшествия наблюдать за обстановкой в доме можно будет удаленно, с ноутбука или планшета.
  • Обработка видео. Если вам нужно перекодировать видеоролик или отрендерить смонтированный фильм, приготовьтесь подождать от нескольких часов до суток, причем ПК в это время не будет пригоден для иной деятельности. Так что лучше отдать эту работу на откуп серверу.
  • Игровой сервер. Чтобы играть с друзьями в многопользовательские шутеры, один из компьютеров должен исполнить роль сервера.

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

 

Системный блок для сервера

В зависимости от потребностей домашний сервер может представлять собой устройство разного размера и форм-фактора. Простейший мини-сервер состоит из беспроводного маршрутизатора и внешнего жесткого диска с интерфейсом USB. Такое решение сгодится на роль сетевого хранилища, а после установки на маршрутизатор альтернативной прошивки, к примеру OpenWrt или DD-WRT, — еще и на роли веб-сервера и клиента BitTorrent.
Если понадобится более емкий и быстрый сетевой накопитель, рекомендуем выбрать NAS-систему. Такое устройство оснащается двумя или четырьмя жесткими дисками, объединенными в RAID-массив, парой гигабитных адаптеров Ethernet и, как правило, предустановленным клиентом BitTorrent.
Если нужен компактный домашний сервер, который в то же время обладал бы возможностями полноценного компьютера, стоит присмотреться к неттопам — миниатюрным системным блокам, построенным на базе экономичных процессоров Intel или AMD. При желании мини-компьютер можно собрать собственноручно на основе материнской платы Mini-ITX или Barebone-системы — почти готового к использованию компьютера, в который нужно установить лишь модули оперативной памяти и жесткий диск, после чего можно заняться вопросом размещение серверов в датацентре. Такие решения, как правило, могут похвастаться более производительным, чем у неттоно

hardwareguide.ru

Домашний-семейный сервер своими руками — Xhubs.ru

Начальные условия задачи:

В семье есть несколько человек, активно пользующихся компьютером. 

1 Я сам — в целях поддержания рабочей формы периодически использую С++ и MSSQL, а также экспериментирую с различным софтом, OS, и.т.д. + Финансовые расчеты через интернет. Так же мне необходим FTP сервер для обмена с внешним миром своим барахлом.
2 Жена. использует ACAD (активно участвует в строительстве дачи — проекты построек, планировка участка..), серфит по интернету и иногда играет.
3 Дочка — студентка. Adobe Photoshop, изучает «сайто-строительство» по институтской программе
(PHP и ASP.NET) ну и, конечно, игрушки.
4 Сын — школьник. Всё, до чего удаётся дотянуться…
5 Кошка. Грызёт провода.

Дополнительно накопилось много барахла, потеря которого способна вызвать инфаркт — фото, любимые фильмы, Soft, личные наработки и.т.д.

Наличное железо:

1 Достаточно мощный аппарат на Core i7-950, 12gb Ram, Adaptec RAID 3805, 2 — NVIDIA GeForce 9600GT в режиме SLI c приличным монитором 24″
2 Дёшево купленный из некондиции (не включался), Неттоп на Atom D510 со средним монитором 21″
3 Слабенький ноутбук от Toshiba 15″ на Core 2 duo
4 Совсем дохленький нетбук Gigabyte на Atom N270
5 гигабитный хаб от Asus на 5 портов
6 Маршрутизатор Zyxel P330w (сильно режет канал. Более 30 м/бит из него не выдавить, а у меня канал на 100 м/бит)
7 Старенький UPS PowerWare 9120 на 1500VA.

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

Решение оказалось на удивление простым — виртуализация…

Было опробовано несколько вариантов с «потрохами». С начала я пытался использовать старую
GA-EG45M-DS2H с Q9550 т.к. очень не хотелось выделять под это дело свой мощный комп.
Всё было хорошо за исключением того, что не было поддержки RemoteFX. Это оказалось решающим фактором. Далее был дисковый массив — старый добрый RAID-5 показался ненадёжным и маленьким. Решено было докупить дисков и поднять RAID-6 (благо контроллер позволял). Попытки запуска на
RAID-6 виртуалки тоже огорчили — не хватало быстродействия на запись. Разбивать
Adaptec-овский массив на несколько частей тоже не захотелось. Пришлось выгрести из запасов
старые диски по 250gb и сделать RAID-0.

В обшем, был собран сервер:

Gigabyte GA-X58A-UD7, ram-12gb в 3 канальном режиме, 2 NVIDIA GeForce 9600GT в SLI, Adaptec RAID 3805 + 8 дисков Seagate по 750gb в RAID-6, 5 дисков Seagate по 250gb в RAID-0 на встроенном ICh20R, и под систему шустренький SSD WD 60gb. Корпус сервера сделан самостоятельно из нескольких старых корпусов при помощи сварки т.к. ни в один покупной такое к-во дисков не лезло, а серверные корпуса очень дороги. С охлаждением удалось справиться только путем установки на «морду» 3-х 120мм вентиляторов и 1 на отсос с задней панели. Больше всего было возни с продувкой Adaptec и видеокарт, диски как -то сами попали под охлаждение.

Вид со снятой мордой (можно чистить от пыли приёмник воздуха без остановки)


А вот и потроха моей самоделки (может быть, не очень красиво, но функционально)

В качестве серверного софта были опробованы несколько вариантов как с VM так и с самой OS (Server 2008 R2 + VMware, Ubuntu 10.10 + VMware, Server 2008 R2 Core + Hyper-V). В конечном счете:
На сервер была установлена Server 2008 R2, поднят родной маршрутизатор + DHCP, установлена роль
Hyper-V c RemoteFX и поднят IIS. Так же был установлен MSSQL server developer. Hyper-V встал на быстрый RAID-0 (нужна была не только скорость но и емкость). Zyxel был переведен в режим точки доступа для раздачи WI-FI. Провода наконец спрятались под плинтуса и в короба (конечно, это можно было сделать и раньше, но как то лень было). Большой монитор отдан в пользование неттопу, закрепленному на стене. Второй монитор был отдан детям вместе с двумя буками. Под Hyper-V установлены 3 копии Server 2008 + Open SUSE 11.4 (для экспериментов), а неттоп и буки остались с родными Windows7.

Весь необходимый софт был перенесён на виртуалки (включая игрушки). Одна виртуалка отдана под мои нужды и CAD-ы.На двух других резвятся дети с игрушками и своими заботами в режиме администраторов. Никто никому не мешает. Даже две, одновременно запущенные, игрушки не тормозят (Aion и WOT). На буках (через RDP) теперь работают игрушки! А недостаток нетбука — маленький экран, нивелируется средним монитором в 21″. Всё барахло теперь лежит на RAID-6 FTP который работает 24/7. В случае падения детских машин всё восстанавливается из снимков мгновенно (1-2 сек). Сам сервер спрятан вместе с UPS на кухне (т.к. шумит).

Конечно, не всё получилось — например, не все игрушки работают правильно (наблюдается какая -то проблема с мышом — слишком быстро бегает) но основная масса пошла на ура. Как водится, проблему доставляют *NIX-системы. Cложности с удалённым доступом, отсутствие сети, отсутствие звука — короче как всегда отсутствие драйверов. Именно по этим причинам был оставлен Open SUSE (не хватает только синтетического мыша и звука). По началу падал регулярно — оказалось, проблема в кабеле питания системного диска. После устранения неисправности всё заработало устойчиво. С софтом проблем никаких не было.

Я думаю — оно того стоило. Довольны остались все, кроме кошки (провода спрятаны). Работает больше года с перезагрузкой 1 раз в месяц после обновлений. Ни разу не падал и не сбоил.

К вопросу о стоимости такого решения — стоимость железок можете прикинуть сами. С моей точки зрения для такого решения (сразу несколько серверов на одной физической машине) — не дорого. Я просто не помню стоимости т.к. практически всё у меня уже было куплено ранее. Докупать пришлось только 4 HDD по 750gb т.к. раньше был RAID-5 на 4 дисках. Весь базовый софт бесплатен для домашнего использования.
Исключение составляют PhotoShop и ACAD (куплен фирмой жены)

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Просмотров: 4 691

Поделиться ссылкой:

Похожее

xhubs.ru

Как сделать серверную комнату своими руками / Сквадра Груп corporate blog / Habr


Сохранность данных компании очень важна. Хранение информации на серверах сторонних провайдеров в дата-центрах — удобный вариант, но не идеальный. Никто не может гарантировать, что на сервера не попадет вирус или их не взломают. Чтобы получить полный контроль над данными и обезопасить свой бизнес, задумайтесь о собственной серверной комнате.

В прошлой статье мы рассказывали как выбрать сервер для малого бизнеса. В этот раз поговорим о том, как установить собственную серверную комнату, позабыв об аренде места у поставщиков.

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

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

Стойка сделает все проще


Стоечные сервера (rackmount server) — один из самых популярных вариантов для малого бизнеса. Они надежны, просты в эксплуатации, достаточно мощные, легко масштабируемы и занимают мало места. Самые популярные марки серверов в России — Dell, Asus, HP и Supermicro.

В небольших компаниях соединенные между собой серверы часто складывают на столе или полке рядом с офисным оборудованием. Это простой и дешевый способ раскладки, но как только оборудования становится больше, начинаются проблемы и беспорядок.

Свободно лежащее оборудование полностью открыто для физического воздействия. Это бомба замедленного действия, которая дожидается несчастного случая. Стоит кому-то пролить кофе или споткнуться о провода, всё может выйти из строя. Более того, даже обычная пыль, скопившаяся на корпусе серверов может вывести их из строя.

Где хранить серверы в офисе? Для этого есть специальное оборудование — стойки и шкафы для серверов типа rackmount. Стойки немного дороже напольных и не-стоечных аналогов, но с установленными в них серверами проще работать. Кроме того, стойки и шкафы для хранения серверов легко найти, они продаются в любой компании занимающейся поставкой телекоммуникационного оборудования.

Стойки на все времена


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

Стойки измеряются юнитами, обозначается как RU (Rackmount Unit) или просто U. Один юнит равен 44,45 мм, компоненты оборудования и высоту стоек измеряют по числу юнитов. Например, сетевой коммутатор имеет 1U–2U, rack-серверы — 1U–4U, blade-серверы — 5U–10U и больше.

При выборе сервера обратите внимание на ширину и глубину стойки. Для первого это 19 дюймов (48,26 см), а для второго — 600–1000 мм. Некоторые серверные стойки оснащены регулируемыми кронштейнами, хотя большинство стоек поставляется с монтажным комплектом, который можно использовать до тех пор, пока хватает глубины для установки сервера.

Самый популярный сегодня вариант хранения серверов — стойка с четырьмя опорами шириной 19 дюймов. Стандартные измерения высоты для полноформатных полок — 42U, половинных — 24U. Cуществуют полки с другими размерами, например настольные варианты от 5U до 20U. Измерения не учитывают реальную высоту стоек, которая зависит от дизайна конкретной модели. Некоторые стойки комплектуются колесиками для большей мобильности.

Существует несколько альтернатив серверным стойкам, полезных в случае ограниченного пространства в офисе. Это стойки с открытым каркасом и небольшие настенные шкафы. Стоит обратить внимание, что к такому оборудованию есть ряд требований, например, открытые стойки должны быть привинчены к полу, а настенные шкафы не предназначены для сильных нагрузок, в них может поместиться лишь несколько серверов и сетевых коммутаторов.

Уберите шум


Компаниям, которые не могут выделить комнату под серверы, должны подумать о том, как минимизировать шум от «железа». Но всё же, если это возможно, выделите отдельную комнату под серверы, даже совсем маленькую, это стоит усилий, поскольку поможет избавиться от излишней влажности в помещении и устранит шум, который влияет на работоспособность сотрудников. Кроме этого, отдельное помещение для серверов защитит от кражи и визита посторонних.

Малому бизнесу часто не приходится выбирать где ставить серверы: либо в одном из углов офиса, либо посреди ИТ-отдела. В таких случаях рекомендуется использовать стойки со звукопоглощающими панелями. Но поскольку отверстия для вентиляции полок все равно есть, конечный уровень шума будет зависеть от модели самой стойки.

Подумайте об охлаждении


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

Чтобы не допустить перегревания, можно сопоставить нагрузку на сетевое оборудование с его мощностью или просто измерить температуру внутри стойки, этого будет достаточно.

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

Сделайте комнату безопасной


Серверная — это пожаро- и взрывоопасное место. Все помещения от 24 м2 оснащаются системами пожаротушения и оповещения. Кроме этого, не помешает система видеонаблюдения. Она поможет обезопасить комнату от вторжения посторонних и быстро среагировать в случае происшествий.

Также в самой серверной должна быть памятка о правилах пожарной безопасности, инструменты для тушения пожара должны пройти инвентаризацию.

Разберитесь с проводами


Упорядоченная система хранения проводов — залог хорошей вентиляции стоек. Поэтому не стоит заполнять полноформатную полку 42U оборудованием 1U до отказа, поскольку это создаст путаницу из кабелей и затруднит вентиляцию оборудования. Кроме этого, если вы будете покупать старые серверы, стоит оставлять интервалы в 1U для того чтобы обеспечить дополнительный поток воздуха.

Установить стойку для серверов — это немного больше, чем закрутить несколько болтов. Надлежащий менеджмент кабелей невозможно переоценить, так как почти каждый элемент в стойке связан с кабелями Ethernet. Поэтому будет хорошей идеей использовать разные цвета проводов для Ethernet LAN, IP видеокамер и других сетевых подключений.

Лучший способ управлять всеми проводами — использовать патч-панель (коммутационная панель) RJ-45 для Ethernet. Типичная патч-панель устанавливается в пространство 1U для обслуживания 24 портов. Использование патч-порта предполагает немного работы руками — протягивание кабеля к патч-панели, встраивание их в устройство, а также использование тест-устройства для проверки соединения. Если бюджет позволяет, можно нанять специалиста, который сделает всю работу меньше, чем за день.

В дополнении к коммутационной панели всегда держите запасные кабели в пластиковом мешочке на застежке, чтобы уберечь провода от вредителей. Стандартные пакеты для кабелей дешевы, если покупать их оптом, кроме этого, каждый пакет можно использовать много раз, что делает их себестоимость еще дешевле.

Разметьте оборудование


Наконец, не скупитесь на маркировку оборудования и документирование настроек, даже касательно простых. Настройки могут быть очевидными для работодателя, но могут стать головной болью для нового ИТ-сотрудника в компании. Маркировка не только экономит время, но и снижает вероятность критических ошибок в случае отключения оборудования от сети или перегрузки.

Какой самый простой способ разметить серверную инфраструктуру? Купить маркировочный принтер. Сервера и сетевые коммуникации помечают уникальными именами с указанием IP-адресов. То же самое следует сделать и с другим оборудованием: переключателями клавиатур, камер и мышек (KVM), роутерами, жесткими дисками.

Подробные описания и инструкции по использованию должны висеть в серверной рядом с соответствующим оборудованием. В инструкциях указывают информацию об эксплуатации сети, резервном копировании и запуске оборудования в случае отключения энергии.

Таким образом, следуя этим простым рекомендациям, даже те компании, которые не сталкивались прежде с ИТ-инфраструктурой могут сделать свою серверную комнату. А каким правилам следуете вы, чтобы сделать свою серверную лучше?

habr.com

Домашний сервер. Сборка домашнего медиа сервера

  • Видео
    • Домашний кинотеатр
    • Телевизор
    • Проектор
    • Монитор
    • Blu-Ray плеер
    • 3D
  • Аудио
    • Акустика
    • Наушники
    • Саундбар
  • Мультимедиа
    • Медиаплеер
    • HDD
  • Умный дом
  • Бытовая техника
  • Фото
    • Фотокамера
    • Графика
  • Советы
  • Сетевые устройства
    • Домашний сервер
    • Роутер
    • Wi-Fi
  • Онлайн Сервисы
  • Матчасть
  • Гаджеты
    • Apple
    • Android
    • Смарт-часы
  • Игровые консоли
    • PS4
    • XBOX One
    • XBOX 360
    • PS Vita
    • PS3
  • Обзор
  • ТВ-приставки

Поиск

mediapure.ru

Домашний сервер. WiFi роутер / Habr

Домашний сервер это просто… компьютер, работающий 24 часа, 7 дней в неделю, 365 дней в году. Что он делает?
«Раздает» интернет по проводу и по воздуху.
Является складом с круглосуточном доступом для всех ваших коллекций фильмов, музыки, игр, программ, backup’ов важной информации, сюда же можно добавить, что это ваше файловое хранилище доступное внутри сети, а если постараться, то и из любого уголка мира можно попасть в него. Понравилось? Хотите «завести» подобное у себя дома?
Тут вспоминается фраза из анекдота — «Главное, мужики, не бояться!».

Есть несколько этапов создания собственного домашнего сервера:
  • Необходимо определиться с ОС [операционная система]
  • Купить/найти комплектующие для, собственно, сервера
  • Запастись большим количеством терпения, заготовить 33 вкладки с поисковиком Google для вопросов о том, почему то или иное не работает [но должно же всё работать :P]

Разберемся.

Пункт номер раз, добавлен только ради того, чтобы обозначить, что у Вас есть выбор, но поскольку ориентация моего блога направлена на ОС Linux, то в статье, всё будет рассматриваться на основе этой операционной системе. Возможно, если это будет иметь смысл и это будет нужно людям, будет вариант описания создания домашнего сервера на ОС Windows.

Пункт номер два. Стоит сразу оговориться, что вариант домашнего сервера на ОС Windows требует больше мощности от комплектующих, нежели на ОС Linux. В моем случае, мой личный домашний сервер основывается на Pentium 4, 1000MHz, 1Gb RAM.

Пункт номер три. Стоит сразу оговориться, что статья рассчитана на «не_совсем_новичок», а на пользователей имевших общение с ОС Linux и вообще с компьютером.

В данной статье мы будем рассматривать домашний сервер на примере ОС OpenSUSE.
Что мы будем делать:

  • DHCP Server — для того чтобы раздавать компьютерам в сети ип адреса, таким образом мы получим домашнюю сеть.
  • WiFi AP — чтобы была точка доступа WiFi, то есть можно будет убрать в шкаф домашний WiFi роутер.
  • FTP Server — для доступа к файловому хранилищу из интернета.
  • Samba — для доступа к файловому хранилищу внутри сети.
  • TorrentClient — полу-автоматизированный торрент-качалка на Вашем домашнем сервере.

Начнем с установки системы. Процесс тривиален и прост. Практически как Windows установить.

Рисунок 1. Установка OpenSUSE 11.4.
Щелкаем «Далее», выбираем нужные пункты, язык, раскладка клавиатуры и так далее. Отдельно задерживаться не будем, этот этап простой.

Рисунок 2. Процесс установки системы.
После установки системы Вы получите практически голую систему(хотя, на самом деле в ней куча хлама и мусора, не нужных программ, библиотек). Как только система загрузилась в первый раз — перезагрузитесь, если есть ошибки, она сразу вылезут. Принимаемся за работу.

Для начала смотрим сетевые настройки, набираем в консоле:

ifconfig

и смотрим вывод команды. Там будут указаны Ваши сетевые интерфейсы и информация о них:

Рисунок 3. Вывод команды ifconfig
eth0(internet) и eth2(lan) — интерфейсы обычных сетевых карт, в eth0 воткнут шнур с интернетом, а из eth2 шнур идет в свитч, wlan0 — интерфейс WiFi карты, lo — обратная петля, mon.wlan0 — об этом интерфейсе Вы узнаете позже, в другой статье или в этой же, но ниже. Сейчас сразу необходимо воткнуть шнур из которого течет интернет в ту сетевую карту(в данной статье это eth0), в какую он будет всегда воткнут и не путать их. Теперь, открываем консоль и пишем:
nano /etc/sysconfig/network/ifcfg-eth2

Откроется файл конфигурации интерфейса eth2(тот, что для локальной сети), и прописываем туда следующее:
BOOTPROTO='static'
IFPLUGD_PRIORITY='0'
IPADDR='192.168.1.1/24'
STARTMODE='ifplugd'
USERCONTROL='no'

Сохраняем (комбинация клавиш Ctrl+O) и открываем следующий файл /etc/sysconfig/network/ifcfg-wlan0 — конфиг беспроводного интерфейса, прописываем туда следующее:
BOOTPROTO='static'
IFPLUGD_PRIORITY='0'
IPADDR='192.168.2.1/24'

На этом завершена подготовка сетевых карт. О данных функциях Вы можете прочитать в файле ifcfg-template. Эти же настройки можно произвести и из интерфейса, достаточно открыть Пуск-YAST-Сетевые настройки и там изменить IP адреса и другие опции, для всех доступных интерфейсов.
Всё сделали, хорошо. Приступаем к дальнейшей настройке.

DHCP Server. Служба называется dhcpd, при стандартной установке системы, она уже включена в репозитарий системы, ее надо только включить:

etc/init.d/dhcpd start/

Основной конфигурационный файл DHCP сервера находится по адресу /etc/dhcpd.conf. Его и необходимо редактировать. Полную информацию по командам, Вы можете получить написав в консоле следующее:
man dhcpd

Для редактирование конфигурационных [далее, конфиг] файлов я использую текстовый редактор nano, также можно использовать vim.

Предлагаю взглянуть на рабочий конфиг файл DHCP сервера, для наглядности:

# Здесь указываем DNS сервера выдаваемые Вашим провайдером, смотрите в договоре с провайдером.
option domain-name-servers 77.37.251.33, 77.37.255.30;
# Отключаем динамические обновления DNS.
ddns-update-style none;
ddns-updates off;
log-facility local7;
# Наша подсеть, для проводных интерфейсов.
subnet 192.168.1.0 netmask 255.255.255.0 {
# Указываем интерейфейс, через который будет выдавать компьютерам IP адреса из подсети, укзанной выше. В данном случае, применяется схема Server -> switch -> #Computer №1,2,3..., если компьютер всего один, то Server -> Computer №1.
INTERFACES="eth2";
# Диапазон выдаваемых IP адресов из той подсети, что мы указали выше.
range 192.168.1.2 192.168.1.10;
# Тут мы вписываем IP адрес нашего сервера, этот адрес надо будет указать в Сетевых настройках но том интерфейсе, который мы указали выше, то есть eth2, далее об этом будет подробнее.
option routers 192.168.1.1;
# Время обновления адресов(12 часов). Время, через которое DHCP сервер выдаст адреса заново. Возможно, в рамках домашнего сервера это функция бесполезна.
default-lease-time 172800;
max-lease-time 345600;
}
# Наша подсеть, для беспроводных интерфейсов.
subnet 192.168.2.0 netmask 255.255.255.0 {
# Диапазон выдаваемых IP адресов.
range 192.168.2.2 192.168.2.5;
# Выбираем беспроводной интерфейс
INTERFACES="wlan0";
# Тут мы вписываем IP адрес нашего сервера для тех компьютеров, которые подключаются по WiFi, этот адрес надо будет указать в Сететвых настройках но том интерфейсе, который мы указали выше для беспроводной подсети, то есть wlan0, 
option routers 192.168.2.1;
# Время обновления адресов(12 часов).
default-lease-time 172800;
max-lease-time 345600;
}

Конфиг файл, предварительно был снабжен разъясняющими комментариями. Это пример простейшего, но вполне рабочего DHCP сервера. Также, необходимо отредактировать файл /etc/sysconfig/dhcpd, а именно одну строчку — DHCPD_INTERFACE=» «, здесь вписываем интерфейсы для беспроводной подсети и проводной подсети, то есть, те самые интерфейсы, которые мы указывали в конфиг файле DHCP сервера — /etc/dhcpd.conf в строчках INTERFACES=»». После этого всего надобно перезагрузить систему.

На этом редактирование конфиг файлов DHCP сервера завершено, если Вы вставите интернет кабель в сервер(eth0), а другой провод вставите в switch и из свитча в свой компьютер, то DHCP сервер Вам выдаст адрес из выбранного диапазона.

HostAP — начинаем настраивать раздачу WiFi.

Первым делом необходимо какой фирмы wifi-сетевая карточка, в данной статье всё будет описываться с условием, что сетевая карта фирмы Realtek, поскольку она самая распространенная. Необходимо скачать и установить утилиту hostapd, изначально при установке из репозитария она собрана без поддержки драйвера nl80211, поэтому необходимо собрать ее из исходников, с включенной поддержкой нужного драйвера (на сетевых карточках от фирмы atheros — hostapd должна работать скачанная из репозитария) об этом поговорим позже. Также необходимо скачать пакет утилит binutils, это можно сделать, выполнив в терминале следующую команду:

zypper in binutils

После установки утилит, необходимо настроить службу hostapd, весь процесс настройки состоит из редактирования конфигурационного файла /etc/hostapd.conf, место расположение этого файла может быть изменено в файле /etc/default/hostapd.
# Выбор беспроводного интерфейса с которого будет раздаваться WiFi
interface=wlan0
# Определение драйвера для вашей сетевой карты 
driver=nl80211
# Включение функции отвечающей за ведение логов с опциями
logger_syslog=-1
logger_syslog_level=4
logger_stdout=-1
logger_stdout_level=2
# Название Вашей сети
ssid=myssid
# Код страны
country_code=RU
# Выбор режима раздачи (еще бывают b и n)
hw_mode=g
# Канал, по которому идти сигнал
channel=3
# Пароль для доступа к WiFi
wpa_passphrase=pass1234
# Выбор системы шифрования
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Чуть выше находится пример рабочего конфига. Более подробно о процессе настройки и дополнительных опциях читайте в man’e.

man hostapd

Дальнейший шаг это запуск службы hostapd в режиме раздачи WiFi. Для этого пишем команду в терминале:

hostapd -B /etc/hostapd.conf

Вуаля, получаем вывод консоле о том, что запущена раздача WiFi с такого-то MAC адреса и с таким-то SSID:

Configuration file: /etc/hostapd.conf
Using interface wlan0 with hwaddr 00:17:31:ed:cb:52 and ssid 'myssid'

Выше Вы видите вывод команды запуска раздачи интернета по WiFi, то есть, успешный запуск службы hostapd в режиме «демона», то есть, фоновая работа службы не зависит от открытого окна терминала, в котором Вы выполнили запуск службы.

На данный момент, Вы будете иметь полноценный WiFi роутер, который может раздать интернет по проводу и по воздуху. Дальше мы будем организовывать файловое хранилище доступное внутри сети, снаружи(из интернета), полу-автоматизированную торрент-качалку, также поговорим о настройке ежедневных/недельных бекапов информации при помощи планировщика и еще многое, для улучшения функционала домашнего сервера, увеличение автоматизации многих процессов, но уже в других статьях и заметках. Спасибо за внимание!

habr.com

Домашний сервер «всё-в-одном» — success story / Habr

Жил да был у меня роутер одной хорошей фирмы на букву «Dead». Ну, это с ним, собственно, и случилось.
Посмотрел я на цены новых, на кучу компьютерного хлама в углу, на список подключений на домашнем компе… И понял, что не нужен мне роутер. Соберу свой, с нормальной маршрутизацией, DNS, WINS, i2p, блекджеком и так далее.

Как это было?

После недолгих раскопок в залежах железа, на свет были извлечены:
• Процессор Intel Core 2 Duo E8400 @ 3GHz
• При нём же – материнка Asus P5Q
• 2 планки DDR2 по 2Gb
• PCI-e сетевая карта TP-Link TG-3468
• Неопознанная сетевая карта WiFi (b/g/n) на базе Ralink RT3060
• Жёсткий диск Seagate 250Gb
Вывод lshw можно посмотреть тут.
Всё это было отчищено от пыли, вмонтировано в корпус с блоком питания, запущено и проверено в memtest и mhdd. Не обнаружив дефектов, я начал установку всего мне необходимого.
Основы основ

За основу я взял дистрибутив Debian Testing, раскатанный через Debootstrap. Сверху сразу были поставлены openssh-server, firmware-ralink и pppoe/pppoeconf.
Ребутнувшись в свежепоставленную систему, я сразу перенёс SSH на 192.168.1.1 и отключил авторизацию по паролю (установив предварительно свой ключ).
Да будет сеть!

Для начала был запущен pppoeconf. К DOCSIS-модему оказалась подключена сетевая карта с именем eth2, в итоге был получен следующий конфиг /etc/ppp/peers/rt:
noipdefault
defaultroute
replacedefaultroute
hide-password
noauth
persist
plugin rp-pppoe.so eth2
user "ptn"
usepeerdns

Но это не всё – необходимо ещё настроить /etc/network/interfaces следующим образом:
auto rt
iface rt inet ppp
        pre-up /sbin/ifconfig eth2 up
        provider rt
Превращаем роутер в WiFi-AP

Изначальная задумка была в том, что бы сделать 2 WiFi-сети: одну для своих компьютеров и ноутбуков, с надёжным паролем и присоединением ко всем необходимым ресурсам, а вторую – для гостей, которым захотелось выйти в интернет, но не надо знать о том, что творится в моей сети.
В итоге на сервер был установлен hostapd с конфигом следующего вида (все названия сетей и пароли были изменены):
interface=wlan0
driver=nl80211
country_code=RU
ieee80211d=1
hw_mode=g
channel=9

ssid=Private
bridge=br0
preamble=1
ignore_broadcast_ssid=0
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP
wpa_passphrase=MyVeryStrongPassword
wmm_enabled=1
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]
internet=1

bss=wlan0_0
ssid=Guest
preamble=1
ignore_broadcast_ssid=0
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP
wpa_passphrase=passw0rd
wmm_enabled=1
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]
internet=1

Тут мы ставим ещё и bridge для eth0 и wlan0 – это позволит подключившимся к нашей сети видеть её целиком, а не беспроводной сегмент. Модифицируем networks:
auto eth0 wlan0 wlan0_0 br0

iface eth0 inet manual

allow-hotplug wlan0
allow-hotplug wlan0_0

iface wlan0 inet manual
        pre-up ifconfig wlan0 hw ether f2:7d:68:6d:51:30

iface br0 inet static
        bridge_ports eth0 wlan0
        address 192.168.1.1
        netmask 24

iface wlan0_0 inet static
        address 192.168.254.1
        netmask 24

Немного о магии в pre-up для wlan0: для работы с несколькими AP нам надо использовать больше, чем один MAC-адрес. Hostapd назначает MAC для виртуальных интерфейсов (wlan0_0 в нашем случае) автоматически, но для этого адрес первой точки доступа должен иметь несколько «пустых» битов в конце. Я не стал мелочиться и освободил сразу 4 штуки. Задача на дом – посчитайте, сколько максимум AP теперь можно запустить на одной карте.
Налетай – IP всем и каждому, бесплатно!

Всем компьютерам в сети, как это ни прискорбно, надо выдать IP-адреса. Да-да, этим мы и будем заниматься.
Недолго думая, на сервере был запущен DHCP-сервер следующей конфигурации:
update-static-leases on;
authoritative;
allow unknown-clients;
use-host-decl-names on;
log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {
        interface br0;
        authoritative;
        range 192.168.1.2 192.168.1.254;
        option subnet-mask 255.255.255.0;
        option ntp-servers 192.168.1.1;
        option domain-name-servers 192.168.1.1;
        option netbios-name-servers 192.168.1.1;
        option routers 192.168.1.1;
        option domain-name "local";
}

subnet 192.168.254.0 netmask 255.255.255.0 {
        interface wlan0_0;
        authoritative;
        range 192.168.254.2 192.168.254.254;
        option subnet-mask 255.255.255.0;
        option domain-name-servers 8.8.8.8, 8.8.4.4;
        option routers 192.168.254.1;
}

local-address 192.168.1.1;

Видно, что для 192.168.1.1/24 так же выдаются DNS, WINS, NTP и шлюз 192.168.1.1 – самое время их настроить.
Со шлюзом всё просто, думаю, эти команды не знает только ленивый:
sysctl net.ipv4.ip_forward=1
iptables –t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Разумеется, ставим iptables-persistent для сохранения наших настроек, а так же прописываем соответствующие параметры в /etc/sysctl.conf.
Теперь наш сервер является полноценным китайским роутером за 10$. Что? Вам кажется слабовато? Мне тоже. Едем дальше.
Как пройти в библиотеку?

Думаю, никто не забыл, что нам нужен DNS? Простейший forwarding настраивается до нелепости просто, но ведь мы делаем полноценный сервер с резолвингом и реверс-зонами… Ставим bind9, и настраиваем:
options {
        directory "/var/cache/bind";
        forwarders {
                8.8.8.8;
                8.8.4.4;
        };
        dnssec-validation auto;
        auth-nxdomain no;
        listen-on { 127.0.0.1; 192.168.1.1; };
        allow-transfer { none; };
        version none;
};
zone "local" IN {
        type master;
        file "/var/lib/bind/db.localnet";
};
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "/var/lib/bind/db.localnet-rev";
};

Теперь нам нужны файлы прямой и обратной зоны:
/var/lib/bind/db.localnet
$ORIGIN .
$TTL 86400      ; 1 day
local                   IN SOA  ns.local. router.local. (
                                200216990  ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      ns.local.
$ORIGIN local.
$TTL 86400      ; 1 day
ns                      A       192.168.1.1
server          A       192.168.1.1
router                  A       192.168.1.1

/var/lib/bind/db.localnet-rev
$ORIGIN .
$TTL 86400      ; 1 day
1.168.192.in-addr.arpa  IN SOA  ns.local. router.local. (
                                2001105214 ; serial
                                28800      ; refresh (8 hours)
                                14400      ; retry (4 hours)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                86400      ; minimum (1 day)
                                )
                        NS      ns.local.
$ORIGIN 1.168.192.in-addr.arpa.
$TTL 3600       ; 1 hour
1                       PTR     router.local.

Просто? А теперь сделаем так, что бы каждый компьютер в сети можно было видеть не по IP, а по DNS-имени.
Для этого нам нужно настроить DDNS. Эта технология позволяет связать DHCP-сервер, выдающий адреса, и DNS-сервер.
Для начала создадим ключ для нашего DDNS:
dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DDNS_UPDATE

Эта команда создаст нам 2 файлика с DDNS-ключом. Нам нужно содержимое ключа:
cat Kddns_update.+157+36693.key
DDNS_UPDATE. IN KEY 0 3 157 HEyb0FU9+aOXnYFQiXfiVA==

«HEyb0FU9+aOXnYFQiXfiVA==» и есть наш ключ.
Немного отредактируем наш конфиг DHCP, добавив в него следующие опции:
ddns-updates on;
ddns-update-style interim;
key rndc-key { algorithm HMAC-MD5; secret HEyb0FU9+aOXnYFQiXfiVA==; }
zone local. { primary 192.168.1.1; key rndc-key; }
zone 1.168.192.in-addr.arpa. { primary 192.168.1.1; key rndc-key; }
subnet 192.168.1.0 netmask 255.255.255.0 {
        …
        ddns-domainname "local.";
        ddns-rev-domainname "in-addr.arpa.";
}

Так же поступим с DNS:
key "rndc-key" {
        algorithm hmac-md5;
        secret "HEyb0FU9+aOXnYFQiXfiVA==";
};

zone "local" IN {
        …
        allow-update { key rndc-key; };
};
zone "1.168.192.in-addr.arpa" IN {
        …
        allow-update { key rndc-key; };
};

Вуаля – и эта киллер-фича работает.
Будущее всё-таки здесь. Шестая версия

Так исторически сложилось ©, что мой провайдер (презрительный взгляд в сторону Ростелекома) не выдаёт IPv6 (хотя обещал).
В настоящее время на всей протяженности сети «Ростелеком» обеспечил возможность работы по протоколу IPv6, — парирует пресс-служба оператора.

Что ж, пофиксим это недоразумение. В качестве брокера я выбрал sixxs.net – у них есть туннельные серверы в России, и их туннель прост в настройке для случая с динамическим IP.
Процесс регистрации и получения настроек туннеля/подсети я опущу – там всё довольно просто. Остановлюсь на настройке.
Настройка IPv6 на самом сервере производится в 2 этапа. Во-первых, поставим пакет aiccu – это и есть туннелирующая программа. При установке у нас будет запрошен логин и пароль от sixxs, и некоторые другие данные. После запуска у нас появится новый интерфейс:
sixxs     Link encap:IPv6-in-IPv4
          inet6 addr: 2a02:578:5002:xxx::2/64 Scope:Global
          UP POINTOPOINT RUNNING NOARP  MTU:1280  Metric:1
…

Сервер теперь имеет доступ в v6-сеть – почему бы не поделиться ей с другими?
Для начала, разрешим IPv6-forwarding (не забудьте прописать в /etc/sysctl.conf):
sysctl net.ipv6.conf.all.forwarding=1

Настроек с iptables производить не надо – привет, 21 век!
Далее на сайте sixxs получаем подсеть. Её адрес будет очень похож на адрес нашего туннеля – будьте внимательны, они отличаются!
После получения адреса вида 2a02:578:5002:xxxx::/64, приступим к его настройке. Во-первых, зададим нашему серверу адрес 2a02:578:5002:xxxx::1, добавив в interfaces следующие строки:
iface br0 inet6 static
        address 2a02:578:5002:xxxx::1
        netmask 64

Во-вторых, разрешим выдачу IPv6 компьютерам в сети. Поставим пакет radvd, и настроим его следующим образом:
interface br0
{
        AdvSendAdvert on;
        prefix 2a02:578:5002:xxxx::/64
        {
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr on;
        };
        RDNSS 2a02:578:5002:xxxx::1 { };
};

Добавим IPv6 DNS в настройки нашего bind – для полного фен-шуя:
options {
        forwarders {
                …
                2001:4860:4860::8888;
                2001:4860:4860::8844;
        };
        listen-on-v6 { ::1/128; 2a02:578:5002:xxxx::/64; };
        …
};

Это всё – теперь мы имеем доступ, например, к ipv6.google.com, или, что гораздо ценнее – к ipv6.nnm-club.me 😉
Пингвин, смотрящий в окно

Я люблю, когда у меня в сети всё красиво. А это возможно только в случае полной гармонии. Например, когда все компьютеры видят друг друга. Для рабочих станций Windows справедливо вспомнить про WINS (помните, мы даже выдавали эту настройку в DHCP).
Его настройка крайне проста: устанавливаем пакет samba. Конфиг по умолчанию надо немного изменить:
workgroup = WORKGROUP
wins support = yes
dns proxy = yes
interfaces = lo br0
bind interfaces only = yes
server role = standalone server

Проверяем результаты… О, да тут всё хорошо!

Кстати, так как у нас есть samba, можно сразу настроить файлопомойку. Но это уже настолько избитая тема, что я оставляю её на плечах гугла. По сути, всё и так должно работать из коробки – разве что read only для homes выключить да smbpasswd -a user
Который час?

Настроим раздачу времени на сервере: установим ntp. С конфигами всё до нелепости просто:
server 0.ru.pool.ntp.org
server 1.ru.pool.ntp.org
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org
…
broadcast 192.168.1.1

А вот и результат:

Мы уже вплотную приблизились к роутерам уровня microtik за $150-$200. Но это же не всё? Конечно нет.
Killer-feature #1: I2P

А почему бы не иметь доступа в эту сеть без каких-либо настроек, без прокси-серверов и так далее? Вот и я думаю, «почему». Для начала установим вменяемую версию Java:
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" >> /etc/apt/sources.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install oracle-java7-installer

И установим сам роутер:
echo "deb http://deb.i2p2.no/ unstable main" >> /etc/apt/sources.list
wget "http://www.i2p2.de/_static/debian-repo.pub" -O- -q | apt-key add -
apt-get update
apt-get install i2p i2p-keyring

Теперь создадим зону, направляющую все запросы к *.i2p на наш сервер. В конфиг bind:
zone "i2p" IN {
        type master;
        file "/etc/bind/db.i2p";
};

Сама зона:
$ORIGIN i2p
$TTL 7200
i2p.    IN      SOA     ns.i2p. hostmaster.i2p. (
                        2010020701      ; serial
                        7200            ; refresh
                        1800            ; retry
                        7200            ; expire
                        7200            ; minimum
                        )
i2p.    IN      NS      ns.i2p.
ns.i2p. IN      A       192.168.1.1

*.i2p.  IN      A       192.168.1.1
*.i2p.  IN      AAAA    2a02:578:5002:xxxx::1

Отлично, но как теперь это обработать? Банально завернуть весь трафик на порт роутера у меня не получилось – прокси ругался на то, что не может так работать. Пришлось настраивать связку nginx+php5-fpm и писать небольшой скрипт. Как сделать первую часть – искать долго не надо, благо мануалов в сети полно. Вторая часть:
/etc/nginx/sites-enabled/i2p
server {
        listen [2a02:578:5002:xxxx::1]:80;
        listen 192.168.1.1:80;
        # по этому адресу можно будет получить доступ к конфигам роутера
        server_name localhost.i2p;
        location / {
                proxy_pass http://127.0.0.1:7657;
        }
}
server {
        listen [2a02:578:5002:xxxx::1]:80;
        listen 192.168.1.1:80;
        server_name *.i2p;
        location / {
                fastcgi_pass unix:/var/run/php5-fpm;
                include fastcgi_params;
                # принудительно задаём адрес скрипта
                fastcgi_param SCRIPT_FILENAME /etc/nginx/proxy.php;
                # передаём скрипту параметр с адресом HTTP proxy от i2p
                fastcgi_param PROXY_PASS 127.0.0.1:4444;
        }
}

Сам скрипт можно увидеть тут.
Это всё! Теперь мы имеем доступ в i2p даже с телефона – никаких проблем.
Killer-feature #2: делаем рабочее место рабочей сетью

Так исторически сложилось ©, что я являюсь системным администратором по удалёнке сразу в нескольких фирмах. И очень полезно иметь к ним доступ с любого компьютера в сети. Настройку OpenVPN (или любого другого) для сервера осуществляем как для любого другого клиента. Например, после этих действий у нас появился интерфейс tap0 с IP 10.0.0.7/24. Но если мы обратимся из локальной сети по адресу 10.0.0.1, то трафик уйдёт в default gateway провайдера. Исправим этот недостаток:
iptables -t nat -A POSTROUTING -d 10.0.0.0/24 -o tap0 -j MASQUERADE
iptables-save > /etc/iptables/rules.v4

Аналогичным образом поступаем для всех сетей на сервере.
Вместо заключения

У нас есть полноценный сервер, который мы можем использовать по своему усмотрению. DNS, nginx, IPv6, i2p… Можно так же установить зону для локальной разработки, например, *.dev, и тестировать свои сайты с любого устройства в локальной сети. Так как каждый компьютер в сети имеет свой постоянный IPv6-адрес, можно иметь к нему доступ из любой точки мира (Security warning! Настраивайте файрволы правильно!).
И это всё – лишь вершина айсберга. То, что будет его подводной частью – решать вам.

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

habr.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *