Содержание:
Напомню читателю, что в этом цикле статей рассматривается создание и настройка небольшого сервера, заточенного для выполнения различного рода домашних дел. Например, таких как скачивание торрентов, раздача DLNA по сети и прочего. Сервер работает круглосуточно в исполнении без монитора. Но, как и любой другой железкой, им необходимо управлять. В случае безмониторного сервера все управление осуществляется сугубо дистанционной, благо Linux в общем и Ubuntu в частности, позволяют выполнять сию задачу с легкостью поедания герани мелким рогатым скотом.
Управляем Ubuntu дистанционно
Для удаленного доступа к микросерверу на Ubuntu есть множество способов, рассмотрим наиболее популярные из них.
SSH
Самый стандартный и самый распространенный способ подключения к операционным системам Linux, без сомнения, можно назвать доступ к консоли через SSH. SSH это аббревиатура, обозначающая «защищенную оболочку (Secure Shell)», или иначе, программный комплекс, позволяющий установить защищенное соединение между удаленными точками. В качестве первой точки выступает наш микросервер под Ubuntu (серверная часть), а в качестве второй точки — терминал с поддержкой SSH.
Если попытаться объяснить смысл SSH, то по сути это обычный Telnet, но пущенный в защищенном канале. Перед первым сеансом соединения по SSH, стороны обмениваются сертификатами ключей и позже при помощи этих сертификатов происходит шифрование канала связи. По этой причине SSH признается большинством системных администраторов и применяется на миллионах устройств по всему свету для удаленного управления оборудованием. Администраторов не пугает даже использование открытых каналов связи, ведь если обмен будет перехвачен, злоумышленник все равно не сможет получить доступ к передаваемым по защищенному каналу данным.
Серверная и клиентские части SSH являются стандартными частями поставки Ubuntu, достаточно только включить соответствующие галочки при установке системы. Впрочем, доустановить их позже не составит труда. Подключаясь через SSH, мы попадаем в стандартный командный терминал, установленный в операционной системе. В Ubuntu это Bash. Поэтому для управления операционкой по SSH необходимо уметь управляться еще и с Bash.
Кстати, SSH на первый взгляд выглядит как очень простой инструмент, но если с ним немного разобраться, то можно вытворять настоящие чудеса. Можно организовывать различные по направленности туннели с множеством промежуточных узлов. Кроме того, вполне возможно инкапсулировать в SSH и другие протоколы, создавая тем самым некое подобие межсетевых мостов или частных туннелей.
Но подключаться к серверу по SSH можно не только с другого севера. Вполне возможно подключиться, при наличии клиента SSH, и с любого другого устройства. Будь то компьютер под управлением Windows или же вообще смартфон. Клиентов под различные операционные системы существует множество, а самый популярный из них PuTTY.
Webmin
SSH конечно хорош, но далеко не у всех пользователей на борту достаточно квалификации для успешной работы с SSH, а в большинстве случаев требуется выполнить вообще тривиальную операцию, а под рукой имеется только браузер. В таком случае поможет пакет Webmin. Программисты со всего мира, объединившись в один проект, стараются создать некий удобный инструмент, который позволит управлять операционной системой, в том числе и Ubuntu, удобно и через браузер.
Webmin поддерживает множество плагинов и тем, что делает его очень привлекательной палочкой-выручалочкой. При помощи этого пакета можно превратить серверную Ubuntu во вполне современное web-устройство на подобие Synology. Конечно, Webmin-у еще есть куда расти до Synology, впрочем, его задача вовсе и не в копировании другого продукта. Тем не менее — функциональность продукта весьма широк, а его удобство позволит скрасить некоторые моменты по администрированию и мониторингу вашего микросервера. Устанавливается Webmin стандартными средствами, так как он включен в стандартные репозитории Ubuntu.
В общем-то, Webmin, что называется, must have для домашнего устройства.
Удаленный доступ к Ubuntu
В некоторых ситуациях требуется доступ к серверу не из своей домашней сети. Если у вас «белый» IP-адрес, то никаких проблем тут обычно не возникает. Как минимум можно поднять SSH после простых манипуляций с Firewall роутера. А вот если вы сидите прочно за NAT провайдера интернет, да еще и с «серым» IP, то пробраться к своему серверу извне — проблематично. Но и тут есть выход.
Проблема с «серыми» адресами возникла вовсе не из-за того, что провайдеры так пекутся о безопасности своих пользователей. Закончились адресные пространства в сетях IPv4, а провайдеры, не желая тратить лишние деньги, перешли к серым схемам адресации. Но выход есть, и он кроется в переходе на IPv6 адресацию. Адресов в сетях IPv6 просто немеряно и никаких серых схем в принципе. Только вот далеко не все провайдеры готовы к переходу на IPv6, это ведь надо обучать персонал и обновлять местами оборудование, наверное. Поэтому приходится подключаться к IPv6 окольными путями.
Для подключения к сети IPv6, там, где доступна только IPv4, придумали технологию инкапсуляции или туннелирования, когда трафик IPv6 передается по сетям IPv4 до определенного шлюза, где и маршрутизируется уже в сеть IPv6. Одной из самых популярных технологий туннелирования IPv6 по IPv4 является, без сомнения, Teredo. Причиной такой популярности служит тот факт, что поддержка данной технологии по умолчанию включена во всех современных операционных системах Windows. Для Linux существует несколько реализаций Teredo, самой популярной, в свою очередь, является Miredo. Правда, в качестве промежуточного сервера используется не самый мощный ресурс, но система работает, иногда не с первого раза, но достучаться по SSH до своего сервера вполне возможно.
Альтернативой Miredo можно назвать сервис GoGo6. Сервис требует регистрации, но в теории выполняет те же самые функции, что и другие туннельные брокеры. А именно, позволяет проходить в сеть IPv6 через существующие инфраструктуры IPv4, даже с «серой» адресацией. Для того, дабы можно было использовать сервис GoGo6, необходимо помимо регистрации установить еще и клиент gogoc, который позволит подключаться к серверам GoGo6 и «прокидывать» туннель для выхода в сеть IPv6.
Раздаем файлы по сети
Пожалуй, это самая простая задача, которая встает перед системным администратором Ubuntu. Раздать файлы по сети с клиентскими машинами под Windows, в Ubuntu помогает системный компонент Samba. Пакет можно установить при инсталляции системы либо проинсталлировать уже позже из официальных репозитариев. Как правило, с настройкой Samba проблем не возникает, пакет понимает как пользователей с Ubuntu машины, так и из Windows окружения. Настройку пакета можно произвести в том числе и через Webmin.
А вот права доступа к директориям на сервере, особенно если в них пишут сторонние службы, могут попортить немного крови. Прежде чем заводить кучку-другую пользователей и групп, стоит спланировать кто, что и где будет делать. Иначе потом может случиться ситуация, что пользователь видит файл по сети, но получить к нему доступ не может. В Linux стоит всегда помнить, что тут присутствует разделение на три категории пользователей: владелец, группа и все остальные. Соответствующим образом настраиваются и права. Настоятельно рекомендую прочитать документацию по этому поводу или хотя бы авторские интерпретации, например, эту.
Собственно, раздел с системными программами мог быть больше, если там было бы что-то интересное. Но в основном это все рутина, программное обеспечение не менялось годами и ничего нового. Основные решения — проверены временем. А вот с пользовательскими приложениями все немного интереснее, читайте следующие части статьи.
UPD: За время пути, собачка могла подрасти. В качестве альтернативного средства получения IPv6 на момент лета 2016 года осталось только средстве Teredo/Miredo. Все остальные туннельные брокеры прекратили обслуживание с мотивацией, дескать мол прошло уже 20 лет с момента выпуска спецификации на IPv6 и пора бы уже потребовать у провайдеров полноценного доступа в сети IPv6. По этой причине для пользователей у кого их сервера или компьютеры остаются сидеть только на IPv4 получаемых от провайдера выйти в мир IPv6 можно только через Teredo/Miredo (да и то, далеко не у каждого провайдера, зависит от вида NAT) либо через сервисы VPN с проброской IPv6.
Ссылки на другие части:
Домашний микросервер. Идея.
Домашний микросервер. Аппаратное обеспечение. Сервер.
Домашний микросервер. Программное обеспечение. Операционная система. Ubuntu.
Домашний микросервер. Программное обеспечение. Основные и системные программы под Ubuntu.
Домашний микросервер. Программное обеспечение. Скачиваем торренты.
Домашний микросервер. Программное обеспечение. Раздаем контент по DLNA.
Домашний микросервер. Аппаратное обеспечение. Китайская NoName IP-видеокамера на основе чипа HI3518E_50H10L_S39.
Домашний микросервер. Программное обеспечение. Видеонаблюдение на основе IP-камер и Xeoma.
Домашний микросервер. Программное обеспечение. Шифруем конфиденциальную информацию в Ubuntu при помощи eCryptfs и хранением ключей в TPM.
Домашний микросервер. Программное обеспечение. Умный дом.