Может ли быть использован домашний компьютер в качестве выделенного сервера домашней локальной сети
Несмотря на то, что новое серверное железо стоит в несколько раз дороже десктопного того же поколения, оно значительно быстрее теряет в цене. Так например некогда очень дорогой 6-ти ядерный Xeon сейчас на али стоит как "домашний" процессор 5-7 летней давности на барахолках. Такое быстрое снижение стоимости обусловлено "сливом" комплектующих из серверов . В прочем, комплектующие, попавшие на площадку, как правило имеют не очень большую наработку - в среднем 5 лет. При этом будем откровенны - многие не могут сломать и обычное настольное железо (у меня в загашнике лежит рабочий селерон 2002 года), а серверное железо изначально имеет гораздо бОльший запас прочности, нежели настольное. Об этом в первую очередь говорит гарантийный срок (на 2 года больше, нежели у "домашних" аналогов), а также тот факт, что сервера имеют достаточно мощные системы охлаждения и своевременное обслуживание. Шанс наткнуться на "спаленный" серверный процессор фактически равен нулю.
Также внушительной будет экономия на памяти: с ECC памятью не умеют работать настольные процессоры, и при том же объеме комплекта, цена у ECC памяти будет значительно ниже (в 1.5-2 раза)
Видеокарту и накопители данных будем брать обычные.
Установка постоянного локального адреса на сервер
Приступим. Во-первых установим постоянный ip для нашего сервера в локальной сети. По идее изначально используется DHCP (протокол, по которому каждое устройство в сети получает относительно случайный ip адрес, а нам нужен постоянный для сервера, чтобы роутер всегда знал куда отправлять внешние запросы)
Смотрим интерфейс, который мы используем, с помощью ifconfig
В зависимости от того какой тип соединения мы используем (кабель или wi-fi) выбираем файл в катологе /etc/netplan
И настраиваем его примерно так:
ethx - название нашего устройства по которому идет подключение
Здесь важно понимать что означают строки:
addresses (6) - адрес нашего сервера в локальной сети, как раз то что мы делаем постоянным
/24 означает маску сети (255.255.255.0), в данной ситуации первые 3 числа должны совпадать с локальным адресом роутера, а последнее число произольно. Я выбрал адрес 192.168.1.200
gateway4 - шлюз нашей сети, то есть роутер. Его адрес 192.168.1.1, обычно он общий для всех роутеров одного провайдера, так что погуглите (иногда его адрес указывается там же где и пароль от wi-fi)
в строке nameservers: addresses (9) указываем тот же адрес что и в gateway4 (простите, но я беспонятия что это)
dhcp4: no и dhcp6: no указывают, что мы не будем использовать протокол DHCP
На этом этапе возможно потребуется проверка:
sudo tcpdump -i ethx icmp and icmp[icmptype]=icmp-echo
Чтобы следить за тем кто нас пингует.
И пингуем его с другого пк внутри локальной сети по адресу 192.168.1.200 .
Все это подробно описано в этой статье для Ubuntu, для других дистрибутивов гуглите "Установка статического ip ".
Все работает? Идем дальше!
Что мы имеем?
Для справки, на момент написания публикации (2021) стоимость минимальной VPS на доверенном ресурсе - 400 руб. , стоимость белого ip у моего провайдера - 179 руб.
Ноутбук (intel core i5 M 560 2,67 GHz, 4/60Gb) с установленной Ubuntu Server 20.04.3 (для создания установочной флешки советую использовать rufus (win) или balenaEtcher (os x)
роутер провайдера с подключенным пакетом "статический ip адрес"
второй компьютер для тестов (все что делается через браузер можно, конечно, сделать и на телефоне, вопрос удобства)
хорошая музыка чтобы процесс не был скучным
Firewall
Используя проброс портов мы разрешаем доступ к нашему серверу лишь посредством подключений к определенным портам, но DMZ зона допускает почти все типы запросов. Используя DMZ зону нам строит поднять FireWall на сервере, который как раз и ограничит количество портов которые могут принимать внешние запросы.
Разрешим использование SSH (1) и порта 5000 (2) в ufw (Firewall), и запустим Firewall (3):
Подняв FireWall важно не забыть разрешить доступ к порту SSH (22) и порту Flask (5000) (ну или другого ПО, которое мы собираемся использовать). Я забыл и долго не понимал, почему мой сервер не отвечает.
На сайте хорошо разобраны команды для управления Firewall-ом.
2. Подводные камни
Далеко не каждое серверное железо можно поставить в обычный корпус. По сути, для "легкого" апгрейда подойдут только процессоры. Так например китайцы переделывают серверные "зеоны" X5450 и E5450 под 775 сокет. Большинство материнских плат поддерживают процессоры X серии после перепрошивки биоса, процессоры E серии при этом встают на большое количество плат, поддерживающих Quad - процессоры без каких-либо дополнительных действий.
Собственно, одним процессором мы не ограничимся. Разумнее всего брать на али готовые комплекты, включающие в себя материнскую плату и корпус. Здесь также без сюрпризов: такая мера необходима, поскольку материнская плата для сервера примерно вдвое больше по размеру, нежели стандартная ATX плата .
Блок питания тоже берем серверный, дабы избежать колхоза. Здесь исходим из корпуса, что у нас уже есть. Для человека, который хоть раз втыкал вилку в розетку, в подключении блока питания к системе не будет ничего сложного, разве что сами разъемы отличаются от "десктопных". Это не проблема, так как на большинство блоков питания и материнских плат можно найти мануал. Собственно дальше все просто - втыкаем "папу" в "маму" и все.
Описанная тема состоит из двух учебных часов. Первый час посвящён объяснению теоретического материала. Второй - отработке навыков работы в локальной сети.
Тема урока: Локальные компьютерные сети.
образовательные | - познакомить учащихся с основными понятиями, с основными устройствами компьютерной сети, технологией передачи и обработки данных; |
развивающие | - сформировать у учащихся целостное представление о работе компьютерных сетей; |
воспитательная | - развитие познавательного интереса у учащихся, основ коммуникативного общения. |
Оборудование: компьютеры, соединённые в локальную сеть, медиапроектор.
Программное обеспечение: презентация в PowerPoint “Компьютерные сети (Локальная сеть)”, Проводник Windows, Internet Explorer, MS Word.
Fail2ban
Fail2ban ограничивает количество попыток подключения, это сильно усложнит подбор аутентификационных данных SSH.
Для начала установим его (1) и запустим (2, 3):
Теперь можем настроить его, используя эти конфигурационные файлы: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf . Во втором находятся ограничения на количество подключений за определенный промежуток времени и время бана.
Какими бывают домашние серверы
Теперь несколько слов о том, какими бывают домашние серверы. Во-первых, вы можете приобрести микрокомпьютер на ARM-архитектуре. При понятных плюсах (невысокая цена, компактность, низкое потребление энергии) есть и весомые минусы: такие компьютеры обычно имеют низкую производительность, да и распространенность ARM-архитектуры пока не позволяет считать это решение удобным.
Тем не менее, сервер на таком одноплатном компьютере вполне можно использовать для управления умной электроникой. Собственно, многие так и делают, замыкая экосистему умного дома внутри самого дома, и не полагаясь на облачные технологии производителей. Это и понятно, таким образом умный дом не превратится в пшик при исчезновении интернета или сбое на облачном сервере, да и скорость его работы заметно увеличится. Ведь теперь ему не придется путешествовать между вашим домом и, например, Китаем или США.
Второй вариант — неттоп (мини-ПК). Это небольшие x86-устройства, которые можно купить как полностью собранными, так и в виде платформы — во втором случае потребуется самостоятельно выбрать и докупить хранилище и ОЗУ. Из плюсов стоит назвать доступность в разных бюджетах (от 10к до 50к рублей) и тихую работу. Главный минус здесь — разъем только под один диск (формат 2.5»).
Впрочем, это лишь условный минус. Если вам важны тишина и компактность, мини-ПК может стать действительно идеальным выбором в качестве домашнего сервера любого типа. Что до ограничения на возможность установки только одного внутреннего накопителя, то его легко можно обойти с помощью внешних жестких дисков. Благо высокоскоростных USB-разъемов у таких мини-ПК обычно хватает с избытком.
В другую крайность бросаются NAS-серверы: эти устройства сконцентрированы вокруг хранилища (вы можете установить несколько дисков в зависимости от своих нужд), но остальные характеристики машины апгрейдить невозможно. Если в готовом решении вас не устраивает процессор или объем памяти, вы ничего не сможете с этим сделать. NAS-машины оптимально подходят в качестве простого хранилища — с другими сценариями могут возникнуть сложности.
Универсальный вариант — покупка (или самостоятельная сборка) готового мини-сервера. Здесь стоит обращать внимание на бренд: достойные модели делают Altos (дочерняя компания Acer), HP и Dell. Из конкретных рекомендаций — сегодня популярна модель T110 F5 от Altos: она имеет 4 слота для жестких дисков, в качестве процессоров здесь выступает линейка Intel Xeon серии E. Поддерживаемый объем ОЗУ — до 128 ГБ, что хватит для большинства домашних сценариев использования. Но старайтесь выбирать модели из новых линеек: чем новее устройство, тем ниже в нем уровень шума, как показывает практика.
Самый доступный и экономически выгодный выход — это сборка сервера своими руками. Мы часто обновляем свои компьютеры, и дома у каждого человека наверняка наберется немало лежащих без дела комплектующих. Их вполне можно использовать для сборки сервера, приобретя недостающие компоненты в магазинах или купив из «с рук».
Конечно, такой сервер вряд ли будет показывать чудеса производительности. Но он вполне подойдет на роль медиасервера, устройства для хранения данных, бэкапов и других домашних нужд. Правда, его размеры окажутся сопоставимы с обычным настольным ПК, да и шуметь он будет не меньше. Поэтому такой сервер лучше всего устанавливать в нежилых помещениях: кухне, ванной или коридоре.
Итоги
Мы поговорили о предназначениях домашнего сервера, об их видах и основных характеристиках. Тщательно продумайте и спланируйте, как вы будете пользоваться сервером. Сегодня в условиях дефицита полупроводников цены на компьютеры бьют рекорды — и чем точнее вы будете понимать, какой сервер вам нужен, тем меньше вы переплатите за возможности и характеристики, которые вам не понадобятся.
План урока
III. Изучение нового материала с использованием презентационного оборудования
1. Что такое компьютерная сеть.
2. Что такое локальная сеть.
3. Виды локальной сети.
- Программное обеспечение сетей с выделенным сервером.
4. Аппаратное обеспечение сети
5. Компоненты локальной сети
6. Программное обеспечение сети.
7. Режимы доступа к ресурсам сети.
IV. Закрепление полученных знаний (тест на компьютере с использованием приложения Internet Explorer - текст программы написан на языке JavaScript). При контроле используется 4 варианта теста.
Примерные вопросы теста
1. Для передачи 7 Мбайт информации с одного компьютера на другой (компьютеры в одном помещении) предпочтительнее использовать:
- локальную компьютерную сеть;
- дискету;
- винчестер;
- глобальную компьютерную сеть
2. Информация передаётся со скоростью 2,5 Кбит/с. Какой объём информации будет передан за 20 минут?
- 8 Кбайт;
- 3000 Кбайт;
- 50 Кбайт;
- 375 Кбайт.
3. Локальная сеть …
- не предназначена для передачи больших файлов;
- предназначена для объединения компьютеров, установленных в одном помещении, в одном здании или в нескольких близко расположенных зданиях;
- служит для объединения компьютеров в пределах одного континента;
- служит для объединения компьютеров только в пределах одной комнаты.
4. В каких сетях все компьютеры равноправны?
- в одноранговых сетях;
- в сетях с выделенным сервером;
- в электрических сетях;
- в глобальных сетях.
5. Как называется компьютер в локальной сети, на котором хранится основная часть программного обеспечения, как правило, установлен самый производительный процессор, большая оперативная и дисковая память?
- сервер;
рабочая станция;
- концентратор;
- персональный компьютер.
6. В каком компьютере локальной сети можно установить жёсткий диск с небольшой информационной ёмкостью (или диск вообще может отсутствовать):
- в сервере;
- в рабочей станции;
- в концентраторе;
- нет верного ответа.
7. Какая операционная система устанавливается на рабочих станциях локальной сети?
- cерверная ОС;
- клиентская ОС;
- терминальная ОС;
- символьная ОС.
- сетевая плата;
- модем;
- концентратор;
- коннектор.
9. Как называется устройство, которое служит для соединения компьютеров в локальную сеть?
- концентратор;
- модем;
- коаксиал;
- сетевая плата.
10. Какой цифрой указано гнездо для кабеля локальной сети на задней панели компьютера?
11. В чём главное отличие Hub от Switch?
- в названии;
- в установке максимальной скорости передачи данных в локальной сети (в зависимости от типа сетевых плат);
- в количестве портов;
- эти устройства абсолютно одинаковы.
12. Может ли быть использован домашний компьютер в качестве выделенного сервера домашней локальной сети?
- может при установке серверной ос и соответствующих технических характеристиках;
- не может;
- может использоваться только в качестве рабочей станции;
- может при установке серверную ОС.
13. Может ли функционировать компьютерная сеть, если компьютерам не присвоены IP-адреса и адрес маски подсети?
- будет, но скорость обмена информацией будет замедлена;
- будет функционировать с максимальной скоростью обмена;
- компьютерная сеть не будет функционировать;
- будет, если в сети всего два компьютера.
14. При каком виде доступа можно просмотреть, переименовать, скопировать, удалить любую папку или файл на любом удалённом компьютере в сети.
- общий доступ;
- ограниченный доступ;
- сетевой доступ;
- максимальный доступ.
15. Какой доступ позволит использовать удалённому компьютеру в сети сетевой принтер?
- общий доступ к дискам, папкам;
- ограниченный доступ к дискам, папкам;
- ограниченный доступ к устройствам;
- общий доступ к устройствам.
При выполнении практической работы подразумевается, что учащиеся умеют работать с приложениями MS Word и Проводник Windows.
Пример практической работы
1 вариант (Компьютер № 1)
1. Найдите и откройте документ с именем “Задание для компьютера № 1”.
1.1. Откройте Проводник.
1.2. Щёлкните мышкой в левой панели - Сетевое окружение - Вся сеть – Microsoft Windows Network - School2 - Teach – “Задания” (папка “Задания” имеет уровень доступа Открыть общий доступ к этой папке —> файлы можно открыть только для чтения) 1 .
1.3. Откройте документ “Задание для компьютера № 1”.
2. Заполните предложенную форму – впишите свою фамилию, имя, класс.
3. Файл сохраните под именем “Отчёт компьютера № 1” по адресу – Teach – С – папка “Отчёты”. Для этого выполните следующие действия: Файл - Сохранить как - Сетевое окружение - Вся сеть - Microsoft Windows Network - School2 - Teach – “Отчёты” (папка “Отчёты” имеет уровень доступа Разрешить изменения по сети —> файлы можно открыть для чтения и записи).
4. Выполните задание. Скопируйте рисунок с удалённого компьютера и вставьте в конце документа “Отчёт компьютера № 1”.
4.1. Щёлкните мышкой Сетевое окружение - Вся сеть – Microsoft Windows Network - School2 – Comp 5 – “Практические”.
4.2. Скопируйте файл Рис 1 (выделите файл, щёлкните правой кнопкой мыши, в появившемся контекстном меню выберите пункт Копировать).
4.3. Перейдите в документ “Отчёт с компьютера № 1” (используя Панель Задач).
4.4. Вставьте рисунок в конце документа (щёлкните правой кнопкой мыши, в появившемся контекстном меню выберите пункт Вставить).
4.5. Повторно сохраните документ (Файл - Сохранить)
4.6. Дополнительные задание:
Заполните таблицу (таблица находится в исходном файле “Задание для компьютера № 1”)
4.6.1. Вставьте рисунок “Рис 1д” в ячейку под заголовком Задание № 1 (рисунок находится в папке “Практические”, расположенной на компьютере 5, вставка производится аналогично пунктам 4.1.-4.4.).
4.6.2. Вставьте текст из файла под названием “Текст 1д” в ячейку под заголовком Задание № 2 (текст находится в папке “Практические”, расположенной на компьютере 6, для вставки используйте пункты меню Вставка – Файл…, - Сетевое окружение и т.д.).
4.6.3. Вставьте рисунок “Рис 2д” в ячейку под заголовком Задание № 3 (рисунок находится в папке “Практические”, расположенной на компьютере 7).
4.6.4. Вставьте текст из файла под названием “Текст 2д” в ячейку под заголовком Задание № 4 (текст находится в папке “Практические”, расположенной на компьютере 8, вставка производится аналогично пункту 4.6.2.).
4.7. Повторно сохраните документ (Файл - Сохранить).
5. Закройте документ и приложения MS Word и Проводник Windows.
Результатом выполнения учащимися практической работы является повторение следующих тем: Операционная система, текстовый редактор MS Word, приложение Проводник Windows и получение навыков работы в локальной сети.
V. Домашнее задание.
- Семакин И.Г. Учебник Информатика. Базовый курс для 7-9 классов / И.Г. Семакин, Л.А. Залогова, С.В. Русаков, Л.В. Шестакова – М. Лаборатория Базовых знаний, 1999 г.
- Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов /Н.Д. Угринович. - М. Лаборатория Базовых знаний, 2002 г.
- Леоньтев В.П. Новейшая энциклопедия Интернет 2003 – М.: ОЛМА-ПРЕСС, 2003.
1 Здесь и далее курсивом выделены комментарии для пояснения. В оригинальной практической работе – отсутствуют.
Хочется какой-то домашний сервак, файлопомойку. Может еще кто что посоветует, что на него поставить? Да и стоит ли вообще заморачиваться?
Не рекомендую.
1)Шум.
2)Потребление электроэнергии.
3)Габариты.
4)Внешний вид.
5)Пожароопасностью
Если нужен сервер, купите плату с интегрированным процессором atom или celeron, и сделайте сервер на ее базе. Или возьмите неттоп.
Это будет дороже, но со временем окупиться на электроэнергии.
Так же можно добиться практически безшумной работы.
Современные платы очень компактные, и можно подобрать корпус который прилично выглядит.
Ну и в плане пожароопасности старый комп, более опасен.
По поводу электроэнергии - сервер собранный на современном железе при лучших характеристиках производительности, будет потреблять 10-50ватт в зависимости от нагрузки. Это примерно 300-1800рублей в год.
А сервер собранный на старом железе такого уровня будет менее производительным и будет кушать 70-120ватт. Это 2500-4000рублей в год.
В общем домашний сервер штука нужная, и во многих случаях без нее не обойтись, но лучше сразу задуматься о потреблении электроэнергии,габаритах, внешнем виде, и уровне шума.
Надо понять, что вы хотите от своего сервера.
Например, если вы хотите использовать его как NAS (что автоматически делает хостинг неактуальным), сразу же возникает целый ряд вопросов. Какой объем данных? Нужна ли вам избыточность?
Если, например, вы хотите большой объем данных, и нормальную избыточность, то это автоматически означает что-нибудь вроде ZFS RAID-Z2. А это в свою очередь означает кучу дисков, нормальный HBA в режиме IT, нормальный корпус для всего этого добра, ну и в идеале железо из HCL к ESXI 5.x, включая серверную маму, нормальный пятый ксеон, и гигов так 64 ECC памяти, чтобы со свистом. В сумме будет около $1.5k без учета НЖМД, которых чем больше, тем лучше. Накатываете на это ESXI, на него - какой-нибудь napp-it, а потом добиваете другими виртуалками по вкусу и потребности.
А потом мучительно думаете, куда с этого делать удаленный бэкап, чтобы спасти инфу, если сервер, не дай Бог, сгорит с квартирой.
Но это - программа максимум. Если все это не нужно, берете какой-нибудь атом, обычную память, и все попроще. Тогда и счета за электричество будут маленькие, и шума будет поменьше. Только когда у вас сдохнет там НЖМД, вам станет невыносимо грустно. Ну и виртуалок на нем вы много не погоняете (если они вам, конечно, действительно нужны).
А что мешает взять два hdd: один данные, а другой бэкап и не испытывать мучительную боль, когда рассыпется один хард?
Повышенные требования к целостности данных, наверное.
Q What are the three biggest advantages of ZFS?
A1 Data security due to real data checksums, no raid-write hole problem, online scrubbing against silent corruption
A2 nearly unlimited datasnaps + systemsnaps and writable clones without initial space consumption due to copy on write
A3 easyness, it just works and is stable without special raid-controller or complex setup
И вообще, один хард - как-то мелко. Когда (и если) возникает желание хранить много данных, и одного харда становится мало, резко возрастает желание повысить удобство размещения этих данных на железе. Тогда ZFS с его vdevs и zpools становится очень привлекательным.
А ради какой-то пары терабайт заводить NAS, если больше ничего от него не нужно - имхо, overkill.
Что мешает поставить три диска и собрать банальный RAID 5? Для домашнего использования минусы «пятёрки» невесомы, и цена за отсутствие попаболи невелика.
Валерий Рябошапко: хардрейд это отстой; софтрейд - см. мой коммент выше. Кроме того, RAID-Z2 надежнее RAID5, который "ни то, ни сё" - если уж жаба душит, проще взять внешний НМЖД или rsync\аналог. Но это несопоставимое решение, ни по надежности, ни по объему, ни по удобству. При этом: (1) не забываем, что рэйд - неважно какой - это не бэкап, и бэкап все равно нужен, и (2) ввиду затратности "верного пути" перед тем, как на него ступать, думаем - а стоит ли овчинка выделки?
John Smith: раз мы говорим о домашнем сервере и домашнем бюджете, то аппаратный рейд никак не катит. Только mdadm. Кстати, я вообще говорю о целях домашнего сервера.
rsync на внешний НЖМД — это почти то же самое, что RAID 1, только в несколько раз медленнее и с весомой нагрузкой на ЦП. Плюс по деньгам внешний диск будет стоить больше. Плюс лишняя розетка под питание внешнего диска. Оно вам надо? А если ещё сравнить количество телодвижений на замену выпавшего из RAID диска и перенос с внешнего на новый внутренний (и установку системы заново), то вопрос решается сам собой.
Да, RAID 5 слабовать по надёжности, но мы ведь говорим о домашнем использовании. То есть, грубо говоря, коллекция фильмов, немного домашнего видео и фоток и полтора активных пользователя одномоментно. То есть никакая нагрузка и низкая стоимость данных. RAID 5 даёт ровно столько избыточности, сколько нужно, чтобы сэкономить полдня на восстановление системы из бэкапов. Удобство использования и ни больше, ни меньше. Лишний жёсткий диск — не такая уж высокая цена за такое удобство. И ясен пень, что всё действительно ценное нужно бэкапить.
Про RAID-Z2 ничего конкретно сказать не могу, но, учитывая сколько хорошего говорят про ZFS, верю, что он лучше RAID 5. Спасибо за наводку, пойду интересоваться :-)
1. Отдельный внешний ЖД - это бэкап. RAID - это рейд. Их никак нельзя сравнивать, они совсем разные и прекрасно дополняют друг друга.
2. Я почти не расстроился бы, потеряв коллекцию фильмов - у меня есть их список, и почти все можно безболезненно найти на трекерах. Но очень расстроился бы, если бы потерял свою коллекцию фото. Именно поэтому они через месяц будут лежать у меня на RAID-Z2 и еще в двух местах отдельно.
3. RAID5 при вылете одного диска, если диски, к примеру, 3 Тб, может не дожить до восстановления. Так что вопрос о его достаточности открыт, если хранить на нем не дискографию Аллы Пугачевой.
4. Домашний бюджет у всех разный; а аппаратный рейд не катит не из-за бюджета, а из-за отсутствия гибкости и в некоторых моментах - низкой надежности.
Ну а в целом я с вами согласен - каждый определяет важность той\иной информации, имеющийся бюджет, и исходя из этого выбирает решение. Но, возвращаясь к вопросу ТС, старое железо тут никаким боком ни для "примитивного", ни для "понтового" решений не пойдет.
Я не являюсь сетевым инженером, я просто студент, который решил записать свои действия, чтобы поделиться со знакомыми и не забыть, что я вообще делал. Буду очень рад если меня поправят в комментариях. Этот конспект написан по другим статьям с различных ресурсов, прошу поддержать авторов тех гайдов, у них некоторые моменты расписаны более подробно и возможно вам подойдет именно их статья.
Буду стараться писать очень подробно, чтобы человек, знающий столько сколько я в начале своего пути, все понял.
Какая цель?
Сделать python3 flask (взял для простоты) сервер доступный из вне.
Зачем нужен домашний сервер
Задача любого домашнего сервера так или иначе состоит в хранении файлов и данных, получить доступ к которым вы можете с любого устройства в локальной сети. Самый простой и понятный сценарий — обычное сетевое хранилище: вы храните все фильмы, музыку, дистрибутивы и другие данные на сервере и пользуетесь ими с любого домашнего компьютера, планшета или ноутбука.
Домашний сервер можно также использовать для раздачи или загрузки торрентов. Это специфический сценарий, который тем не менее может быть для вас актуален. Как правило, большинство дистрибутивов уже имеют предустановленный торрент-клиент, однако это бывает не всегда, и тогда потребуется установить его вручную (приложение Transmission или подобное).
Если вы, например, живете в частном доме и хотите обеспечить его максимальную безопасность, с домашним сервером можно организовать видеонаблюдение. Данные с IP-камер могут сохраняться на сервере — важно лишь, чтобы он имел достаточный объем хранилища и нужную производительность. Конечно, существуют специальные компьютеры-видеорегистраторы, но они нужны для сложных систем, поэтому стоят дорого. Для пары-тройки камер свой сервер будет предпочтительнее и дешевле.
Сервер также можно использовать для резервного копирования данных с ваших устройств. Здесь важно, чтобы объемы хранилища были рассчитаны с запасом, и на дисках помещалась информация со всех ваших домашних устройств.
Теперь сделаем проверку более сложного уровня
Установим flask и python3:
Скопируем код тестового сервера с сайта в файл server.py :
Находясь в директории с этим файлом, запустим сервер:
Сервер запущен и теперь мы можем попробовать подключиться к нему с внешнего устройства прямо через строку в браузере, вводя внешний адрес нашего роутера, к примеру:
Если все работает мы должны увидеть строку "Hello, World!". Не заработало? Пройдитесь по моим заметкам в этом гайде еще раз.
Домашний сервер можно использовать для хранения файлов, бэкапов, управления умной техникой или в качестве медиасервера. Сегодня мы расскажем об особенностях таких серверов, их видах и ключевых характеристиках.
Собственный домашний сервер незаменим во множестве бытовых задач. Его можно использовать в качестве файлового хранилища, на собственном сервере можно организовать видеонаблюдение, если вы живете в частном доме, а также использовать его для резервного копирования. Поговорим более подробно о предназначении таких серверов и разберем основные характеристики машины.
Рассказываем роутеру про сервер
Теперь наш сервер знает, что мы имеем дело с постоянным ip и не используем протокол DHCP. Самое время рассказать роутеру, что внешние запросы нужно отправлять на сервер. Чтобы получить доступ к настройкам роутера вбиваем в поисковую строку его ip адрес.
Есть два варианта:
Установить DMZ зону внутри настроек роутера и указать туда локальный адрес нашего сервера. Этим действием мы делаем наш сервер публичным и теперь любой может попробовать подключиться к нему.
Пробросить порты нужных нам ресурсов через роутер на сервер (перенаправление портов). Не забудьте порт SSH (22) и flask (5000)
Попробуйте пингануть его из внешней сети.
Все норм? Теперь наш сервер виден из вне, самое время подумать о безопасности.
Какие характеристики важны
Если же мы говорим о характеристиках сервера, можно выделить две критически важных: объем хранилища и уровень шума. С хранилищем все понятно: его не бывает слишком много, от объемов дисков зависит, какое количество контента, файлов, документов и вообще данных вы сможете там разместить. Чем больше места, тем больше резервных копий вы сможете там хранить и тем выше качество фильмов и музыки вы себе позволите.
Второе — шум. Сервер — это не компьютер, который вы включаете по необходимости. Сервер — устройство, которое работает круглые сутки и, как правило, находится в жилом помещении. Поэтому от шума, который издает машина, напрямую зависит комфорт вашей жизни. Идеальным решением будет сервер с пассивным, а не с вентиляторным охлаждением и с крепким и массивным корпусом, который не будет передавать вибрации от работы жестких дисков. Если перейти на пассивное охлаждение невозможно, имеет смысл обновить вентиляторы, установив современные тихие и производительные модели.
Среди менее важных характеристик назовем энергопотребление: сегодня практически не производятся компьютеры, которые способны серьезно отразиться на счете за электричество в конце месяца. Аппетиты современных машин скромны, поэтому блока питания на 300 Вт будет вполне достаточно.
I. Организационный момент.
Вступление
Мне очень давно хотелось поднять видимый извне сервер в своей домашней локальной сети, чтобы использовать его для pet проектов или же возможно для сайта-визитки.
Возникает вопрос: почему не использовать для этого самую простую VPS и не тратить мощности своего компьютера? Ответ очень прост: статический белый ip у меня уже был и давно, а в качестве сервера я решил использовать не основной пк а старый ноутбук. Поэтому дополнительных затрат не предвиделось.
Защита сервера
Я буду настраивать SSH , Firewall и fail2ban по вот этому очень хорошему гайду. (еще раз, моя цель не скопипастить все что я нашел, а собрать все в одно место, чтобы не забыть) Я делаю все для Ubuntu Server, но в том гайде есть для CentOS и Red Hat.
Во-первых сделаем еще одного пользователя помимо root (1), зададим ему пароль (2) и разрешим использовать root привелегии через sudo (3):
Настраивайте по инструкции в статье упомянутой выше. Там мне совсем нечего добавить, кроме подроностей о public и private ключах:
ssh-keygen -t rsa генерирует 2 ключа открытый (тот что имеет . pub ) и приватный который (не имеет такого расширения)
Открытый ключ отправляется на сервер в файл authorized_keys в папке /.ssh в домашней директории пользователя ( /home/username/.shh/authorized_key )
Для этого можно использовать команду:
Закрытый ключ используется для аутентификации, скопируйте его куда-нибудь чтобы не потерять
Использовать ключ для входа можно командой:
Важно отключить аутентификацию по паролю иначе мы все это делали зря.
Читайте также: