Тонкий бездисковый клиент на базе Ubuntu, не требующий монтирования ФС по сети

6 месяцев 2 недели ago

logo ubuntu and windows
Изображение с сайта getwallpapers.com


История

В далёком 2013 году в одном банке использовались тонкие клиенты на основе DisklessUbuntu. С ними были некоторые проблемы, по-моему монтирование корневой ФС по сети в больших филиалах со слабой сетью работало не очень. Тогда мой хороший друг @deadroot сделал первую версию тонкого клиента, который грузился целиком в память, не требуя что-то монтировать по сети для работы.


Потом этот клиент активно допиливал я, там было сделано много полезных штук, специфичных именно для нашего сценария использования. Потом банк закрылся(отозвали лицензию), остатки исходников клиента переехали на мой гитхаб: thunclient. Пару раз я его слегка допиливал на заказ.


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


  • Vagrant поднимает виртуалку, которую можно настраивать как обычную рабочую станцию.
  • Одним скриптом из неё собирается готовые для загрузки по сети файлы, лишнее вырезается.
  • Vagrant поднимает виртуальный PXE сервер и сетевой клиент для проверки получившейся сборки.
Читать дальше →
selivanov_pavel

Настройка динамического dhcp-pool с привязкой к определенным портам Cisco Catalyst

6 месяцев 2 недели ago
Так сложилось, что сеть у меня построена таким образом, что IP-адреса выдаются только тем
клиентам, чьи MAC-адреса прописаны в самописной системе управления сетью и учета трафика (назвать это биллингом язык не поворачивается).

Спустя несколько лет я понял, что диапазон сети 192.168.0.0/21 забит практически под завязку, причем большинство прописанных в БД системы управления MAC-адресов — это адреса устройств Wi-Fi пользователей, зачастую уже давно забытых и не используемых.

В итоге было решено выделить диапазон 192.168.7.0/24 только конкретно под Wi-Fi устройства с динамическим выделением адресов.

Для этого я вычислил на всех свитчах Cisco все точки доступа Wi-Fi по портам и прописал их в классы на dhcp-сервере (используется isc-dhcpd под Linux).

Схема сети:

image
Читать дальше →
yukh975

[Из песочницы] Установка сервера icecast2 с поддержкой SSL для трансляции по https-протоколу

6 месяцев 3 недели ago
Постановка задачи. Через сайт с установленным бесплатным SSL-сертификатом от Let`s Encrypt размещен осуществляется аудиотрансляция из локальной сети организации. Однако, в интернет-браузере при посещении страницы сайта появляется предупреждение о наличии смешанного контента, так как трансляция идет по незащищенному протоколу http. Требуется устранить смешанный контент. Для этого было решено организовать аудиотрансляцию по защищенному протоколу https посредством Icecast2 и IceS2.

Итогом долгих поисков решения этой задачи стала установка сервера Icecast2 с поддержкой SSL при использовании бесплатного сертификата от Let`s Encrypt. Несмотря на то, что разработчиками сервера Icecast2 заявлена поддержка SSL, необходимо выполнить компиляцию сервера из исходного кода. Здесь описана процедура компиляции и установки сервера Icecast2 с использованием сертификата от OpenSSL. Однако, на данный момент браузеры ругаются на сертификаты, сгенерированные посредством openssl. Поэтому вместо сертификата OpenSSL используем бесплатный сертификат от Let`s Encrypt, сгенерированный на доменное имя, привязанное к внешнему IP-адресу, с которого идет трансляция в сеть.

Читать дальше →
korobey

[recovery mode] Авторизация с помощью сертификата ssl на nginx + Let's Encrypt

7 месяцев ago
Добрый день, вечер или ночь, все зависит от времени суток в который вам довелось прочитать мою статью.

В связи с ростом количества корпоративных клиентов, было принято решение дать доступ к учетной системе внешним пользователям. Для самостоятельного оформления заказов и отслеживания их состояний. Реализация была создан web интерфейс с необходимым функционалом и доступом. Тут же стал вопрос безопасности, кроме стандартных пользователь-пароль было решено еще усилить безопасность, для этого применили OpenVPN, но появились клиенты, для которых нельзя применять OpenVPN (политики безопасности, нежелания и.д.), тут на глаза попались статьи про доступ по ssl сертификату.


Читать дальше →
Teon_501

DevOps придумали разработчики, чтобы админы больше работали

7 месяцев ago

Еще 4 года назад использование контейнеров в production было экзотикой, но сейчас это уже норма как для маленьких компаний, так и для больших корпораций. Давайте попробуем посмотреть на всю эту историю с devops/контейнерами/микросервисами ретроспективно, взглянуть еще раз свежим взглядом на то, какие задачи мы изначально пытались решить, какие решения у нас есть сейчас и чего не хватает для полного счастья?


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

Читать дальше →
NikolaySivko

[recovery mode] Установка Zimbra на Ubuntu

7 месяцев ago
Установка Zimbra на Ubuntu — очень частый запрос на наших форумах. Все дело в некоторых проблемах, которые возникают о пользователях на разных этапах инсталляции. Мы решили написать подробную инструкцию.

image
Читать дальше →
KaterinaZextras

Девчачьи радости в интерьере — не розовая полка с интернет-радио и RGB подсветкой

7 месяцев ago
Осталось пара недель до 8 марта и если верить поговорке, сапожник обычно остается без сапог. Так же и Надя, дизайнер по текстилю в интерьере, жила без удобной мебели. Многие знают, как сложно найти в компактное пространство российской квартиры идеально подходящую по размерам полку или тумбочку.



Когда обошли почти все магазины, стало ясно что проще всего сделать такую мебель самим. Можно смастерить индивидуальную не только габаритами, но и функциями полку и сэкономить свободное пространство в комнате.
Осторожно! Под катом видео tutorial, много фото и диаграмм.
igor_suhorukov

Пятничное: Безопасность и парадокс выжившего

7 месяцев 1 неделя ago

С начала 2018 я собрираю отчеты о взломах в криптопроектах. За это время поступила информация о кражах почти на миллиард долларов. Одна лишь биржа coincheck проспонсировала кого-то на ~500 миллионов. При этом на некоторых биржах до сих пор нет двухфакторной авторизации. Сайты финансовых компаний используют сторонние скрипты без проверки подлинности. Браузерный кошелек MetaMask светит адрес вашего кошелька всем сайтам без разбора. А самым популярным приемом остается security through obscurity. Но, возможно, все еще хуже и сегодня повсеместно распространена имитация безопасности и летний доклад NIST частично это подтверждает.

Читать дальше →
rumkin

[Перевод] В защиту swap'а [в Linux]: распространенные заблуждения

7 месяцев 2 недели ago
Прим. перев.: Эта увлекательная статья, в подробностях раскрывающая предназначение swap в Linux и отвечающая на распространённое заблуждение на этот счёт, написана Chris Down — SRE из Facebook, который, в частности, занимается разработкой новых метрик в ядре, помогающих анализировать нагрузку на оперативную память. И начинает он своё повествование с лаконичного TL;DR…

Читать дальше →
zuzzas

Wine 3.0 и много плюшек

7 месяцев 2 недели ago

На Хабре незамеченным прошел выход 3-й версии Wine — открытой реализации Win32 API. Трудно найти другой проект с открытыми исходниками, за исключением ядра, который бы так много значил для пользователей Linux, MacOS, FreeBSD и других POSIX-совместимых ОС. Каждый успех разработчиков Wine приводит к тому, что множество новых игр и приложений становятся доступны для пользователей Linux.


Wine


В этом плане Wine 3.0 явно не разочаровал: поддержка Direct3D 10 и 11, графический драйвер Android, поток команд Direct3D, реализован криптографический стандарт AES, новый уровень поддержки Direct Write и Direct2D — вот основные результаты. По итогам более 6000 внесенных правок произошло много интересного, включая переход дефолтной версии с Windows XP на Windows 7.


  • 4586 приложений с высшим, платиновым статусом. Работают без нареканий.
  • 3918 приложений с золотым статусом. При минимальных настройках и внешних DLL работают без нареканий.
Читать дальше →
temujin

[Из песочницы] OpenVPN OSPF между двумя серверами, множественные тоннели

7 месяцев 2 недели ago
OpenVPN достаточно хорошо документирован и на хабре есть статьи по установке, к примеру:
вот эта.

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

Дано:
Два пограничных маршрутизатора Centos 7:
Читать дальше →
Yame

От Amazon EC2 до Mail.ru Infra: Тестируем облачные VPS (Linux)

7 месяцев 2 недели ago
С большой тройкой облачных провайдеров — Amazon, Google и Microsoft с недавних пор конкурируют и отечественные компании, хотя весомых игроков на нашем рынке немного. В основном это относительно небольшие проекты, традиционные хостеры (включая крупных) и/или операторы коммерческих ЦОДов, предлагающие облака в довесок к традиционному пакету услуг.

Ситуация начала меняться с появлением Mail.ru Cloud Solutions (MCS): российский провайдер предлагает заказчикам виртуальную инфраструктуру, объектные и блочные хранилища и ряд других микро-сервисов.



В этом цикле статей кроме основных иностранных (Amazon, Google, Microsoft) мы возьмём заметных российских конкурентов Mail.ru: Selectel, Servers.ru и «Ростелеком», хотя они однозначно проигрывают Mail.ru в смысле набора доступных услуг — такого богатого предложения ни у кого из локальных игроков нет.

Первым делом оценим облачные VPS на Linux, будем сравнивать Infra от Mail.ru с Amazon EC2, Google Compute Engine, Microsoft Azure VM и сервисами уже упомянутых отечественных компаний: Selectel, Ростелеком и Servers.ru, локальное ответвление Servers.com с тем же предложением.
Читать дальше →
marika_reka

[Из песочницы] Установка Linux без .ISO и виртуализации

7 месяцев 3 недели ago
Установка Linux без .ISO и виртуализации

Создание файловой системы, установка и клонирование Debian и Ubuntu с помощью скриптов radish.


1. Назначение и возможности скриптов radish

Обычно установка системы Linux производится путём запуска какой-либо программы-установщика, поставляемой разработчиками дистрибутива. Это производится либо непосредственно на компьютере, на котором производится установка, либо в какой-либо изолированной среде, например, используя виртуализацию. Описываемые ниже процедуры следуют этим принципам только в самом минимально необходимом виде. При создании образа системы какие-либо установщики сводятся к генератору минимальной системы debootstrap и интерфейсу менеджера пакетов apt (оба поверх менеджера пакетов dpkg), а вместо виртуализации используется chroot.


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


Скрипты находятся на сервере Github и доступны по ссылке.

Читать дальше →
abelits

Докеризация nginx и php на сокетах с ротацией логов

7 месяцев 4 недели ago
В статье на Хабре обсуждался «docker way»(TM), который гласит: один контейнер — один процесс.one process per containerEach container should have only one concern

Decoupling applications into multiple containers makes it much easier to scale horizontally and reuse containers. For instance, a web application stack might consist of three separate containers, each with its own unique image, to manage the web application, database, and an in-memory cache in a decoupled manner.

You may have heard that there should be “one process per container”. While this mantra has good intentions, it is not necessarily true that there should be only one operating system process per container. In addition to the fact that containers can now be spawned with an init process, some programs might spawn additional processes of their own accord. For instance, Celery can spawn multiple worker processes, or Apache might create a process per request. While “one process per container” is frequently a good rule of thumb, it is not a hard and fast rule. Use your best judgment to keep containers as clean and modular as possible.

If containers depend on each other, you can use Docker container networks to ensure that these containers can communicate.Следование этому принципу при докеризации nginx чревато двумя последствиями. Настроить взаимодействие nginx и php-fpm в разных процессах через unix сокет немного сложнее, чем может показаться. И ротация логов, которая при обычной установке идет «из коробки», не может осуществляться в принципе, т.к. требует отправки сигнала USR1 nginx, для чего нужен ещё один процесс.
Читать дальше →
apapacy

[Перевод] Linux-2018: самые перспективные дистрибутивы

8 месяцев ago
Представляем вашему вниманию перевод статьи Джека Уоллена с linux.com, которая посвящена самым перспективным Linux-дистрибутивам 2018-го года. Примерно двенадцать месяцев тому назад мы делились с вами похожим обзором. Что изменилось за год?

image
Читать дальше →
ru_vds

[Перевод] Intel предупреждает пользователей о «неисправности» патчей Spectre-Meltdown

8 месяцев ago


Не устанавливайте патчи от Intel для исправления уязвимостей Spectre в Linux-системах.
Intel в понедельник предупредила о том, что следует прекратить установку текущих версий патчей для Spectre (CVE-2017-5715), которые Линус Торвальдс отметил комментарием «абсолютнейший мусор».

Spectre (проверка обхода границ массива CVE-2017-5753, инъекция целевой ветви CVE-2017-5715) и Meltdown (CVE-2017-5754 — «расплавляет» разграничение доступа к страницам памяти, лечится KPTI-патчем) представляют собой уязвимости, обнаруженные исследователями в начале этого месяца во многих процессорах Intel, ARM и AMD, используемых в современных ПК, серверах и смартфонах. Они могут позволить злоумышленникам украсть ваши пароли, ключи шифрования и другую личную информацию.

С прошлой недели пользователи начали сообщать, что после установки пакета обновлений безопасности, выпущенного Intel, они столкнулись с проблемами, которых не было ранее. Например, спонтанные перезагрузки и другое «непредсказуемое» поведение системы. Читать дальше →
Cloud4Y

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

8 месяцев ago
Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →
bykvaadm

Защита от DDoS на уровне веб-сервера

8 месяцев ago
Статистика DDoS-атак показывает неизменный рост и смещение вектора с сетевого уровня на уровень приложений.

image

Если у Вас есть небольшой сайт на сервере с минимальными характеристиками, то положить его можно любым вполне легальным средством стресс-тестирования. (Не рекомендую этого никому делать т.к. IP-адрес легко вычисляется и экспериментатор может влететь на возмещение ущерба.) Поэтому сайт без защиты от DDoS очень скоро будет выглядеть так же дико, как компьютер с Windows-98 без анивирусника.
Читать дальше →
apapacy

Маршрутизация в socks. Еще один способ

8 месяцев ago
Рассмотрим еще один способ маршрутизации локальной сети через «socks-прокси». В отличии от предыдущего способа с «redsocks», в этом, будет рассмотрена возможность маршрутизации на сетевом уровне (сетевой модели OSI), по средствам пакета «badvpn-tun2socks». Данная статья ориентирована на создание и постоянное использование такого маршрутизатора на базе ОС «Debian stretch».

Прежде чем перейти к описанию настройки системы, предоставлю ссылку на бинарники badvpn (может кому-то понадобится).

Итак, после скачивания и распаковки пакета, предлагаю сразу создать сервис systemd со следующим содержанием:

cat /etc/systemd/system/tun2socks.service [Unit] Description=Start tun2socks [Service] ExecStart=/путь/к/badvpn-tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080 [Install] WantedBy=multi-user.target
Здесь, в параметре запуска "--socks-server-addr 127.0.0.1:1080" видно, что «tun2socks» будет направлять запросы по адресу socks-прокси сервера. (К примеру, ssh-tunnel из предыдущего способа).

Параметры "--netif-ipaddr 10.0.0.2" и "--netif-netmask 255.255.255.0", отвечают за создание «маршрутизатора tun2socks» с адресом 10.0.0.2, на который будут приходить запросы с виртуального интерфейса, указанного в параметре "--tundev tun0".
Для понимания, приведу скромную схему:

+----------+ +-----------+ +----------------+ +------------+ | tun0 |____| tun2socks |___| socks |______| ssh-server | | 10.0.0.1 | | 10.0.0.2 | | 127.0.0.1:1080 | | *pubic ip* | +----------+ +-----------+ +----------------+ +------------+ | +----------+ +-----------+ +----------------+ | NAT |____| dhcpd/ |___| LAN | | iptables | | wlp6s0 | | 192.168.1.0/24 | +----------+ +-----------+ +----------------+
"tun0" это виртуальный интерфейс, который необходимо настроить в системе, на него будут приходить запросы из локальной сети\хоста. Сделаем это стандартным для Debian способом:
Читать дальше →
cybran24

[Из песочницы] Как я писал telegram-бота и заливал его на удаленный сервер

8 месяцев ago
Вступление
Как только на территории РФ вступил в силу запрет на анонимность в мессенджерах, у меня дошли руки написать пост про telegram-бота. По ходу создания бота столкнулся с большим количеством проблем, которые пришлось решать по отдельности, и буквально выцеживать крупинки информации со всего интернета. И вот после нескольких месяцев страданий и мучений (кодинг – не основное моё занятие) я наконец-то закончил с ботом, разобрался со всеми проблемами и готов поведать свою историю Вам.


Читать дальше →
Richer_17
Выбранный
6 часов 49 минут ago
habrahabr.ru/linux/
Подписаться на лента habrahabr.ru/linux/