*NIX

Подписаться на эту рубрику по RSS

Шифрование файлов с помощью OpenSSL

Сентябрь, 14th 2017

Шифрование файлов с помощью OpenSSL

Иногда бывает нужно зашифровать какой-то архив или отдельный файл, обезопасив таким образом доступ к нему посторонним. Несколько лет назад, я уже рассказывал о хранении шифрованных данных в облаке Яндекс.Диск, тогда рассматривалось создание шифрованного образа диска средствами Mac OS X.

Сегодня, будем шифровать данные с помощью библиотеки OpenSSL, входящей в состав любого *NIX дистрибутива. К сожалению, самый распространённый архиватор tar, не умеет самостоятельно шифровать данные, но мы ему в этом поможем.

читать полностью →

Отзыв пользовательских сертификатов OpenVPN на FreeBSD 10/11

Сентябрь, 13th 2017

Решил дополнить последний пост о настройке OpenVPN сервера на FreeBSD 10/11. В прошлый раз, оставил без внимания вопрос об отзыве пользовательских сертификатов, а ведь данная тема, рано или поздно, встаёт перед любым администратором.

Как вы, наверное, уже знаете, начиная с 10-ой версии FreeBSD изменился процесс создания и управления сертификатами. Ранее для отзыва сертификатов использовался специальный скрипт revoke-full. Отныне, за все действия с сертификатами, в том числе и за отзыв, отвечает один единственный shell-скрипт easyrsa.real, что согласитесь, гораздо удобнее. Пример отзыва сертификата пользователя user01:

переходим в каталог easy-rsa
# cd /usr/local/etc/openvpn/easy-rsa
удаляем сертификат пользователя user01 из базы
# ./easyrsa.real revoke user01
создаем файл с отозванными сертификатами
# ./easyrsa.real gen-crl

Осталось скопировать полученный файл crl.pem в каталог с остальными ключами (в моём случае это /usr/local/etc/openvpn/keys/). Также не забудьте в конфиге OpenVPN сервера (server.conf) раскомментировать соответствующую строку о проверке отозванных сертификатов:

crl-verify /usr/local/etc/openvpn/keys/crl.pem

Принудительная отправка deferred почты в Postfix

Август, 18th 2017

Решил написать данный пост больше для себя, чтобы не забыть, поскольку подобное вмешательство в работу почтового сервера требуется крайне редко. Когда почтовому серверу (в моем случае postfix) по каким-то причинам не удается отправить исходящую почту, он помещает её в очередь deferred (ожидание), откуда периодически будет пытаться её доставить снова.

Почему такое происходит? Живой пример из практики - косорукие админы (одного весьма крупного предприятия в нашем городе), по одной, ведомой только им причине, выборочно заблокировали часть внешки на файерволе. В итоге, мой сервер мог стучаться к их почтовику до посинения, пополняя свою deferred очередь новыми письмами, а админы не сном не духом. Спросите откуда такая уверенность что рубил не какой-то спам-фильтр? Да это легко проверить, подключившись telnet на 25 порт почтового сервера и не увидев даже приветствия.

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

postsuper -r ALL deferred

Мониторинг интернет канала на шлюзе FreeBSD

Август, 10th 2017

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

читать полностью →

[Решено] Thunderbird. Не удалось подключиться к IMAP-серверу.

Май, 16th 2017

Не удалось подключиться к IMAP-серверу. Возможно вы превысили ограничение на максимальное число соединений к этому серверу

Столкнулся сегодня с такой проблемой - в Mozilla Thunderbird при попытке открыть папку "Удаленные" или "Черновики" выходило следующее сообщение:

Не удалось подключиться к IMAP-серверу. Возможно вы превысили ограничение на максимальное число соединений к этому серверу. Если это так, откройте диалоговое окно "Дополнительные параметры IMAP-сервера" и уменьшите число кэшируемых соединений.

читать полностью →

Как определить какой DNS сервер использует система?

Март, 04th 2017

В продолжение темы про DNS, сегодня хотелось бы рассказать как же проверить какой сервер в действительности отвечает на ваши запросы. Ситуации бывают разные, допустим внешние IP-адреса пингуются, а имена хостов не определяются, или у вас есть сомнения что перед вами действительно тот сайт, который должен быть (не редки случаи когда вирусы подменяют настройки DNS серверов вашего компьютера).

К примеру, при подключении по vpn каналу к одному из серверов, у меня в браузере на локальном компьютере переставали открываться странички. Как оказалось, подставлялся не верный DNS сервер.

читать полностью →

Настройка DNS сервера Unbound в FreeBSD 10

Февраль, 27th 2017

В 10-ой версии FreeBSD убрали классический DNS сервер BIND и на его замену предлагается лёгкий кеширующий DNS сервер Unbound в связке с библиотекой LDNS. В отличие от BIND, Unbound имеет маленький размер и высокую скорость работы, к тому же существенно проще в настройке (во всяком случае для роли кэширующего сервера делается вообще играючи).

Если всё-таки потребуется настроить классический BIND 9, его можно уставить из коллекции портов. А вот с 10 версией я так и не понял что произошло... вроде как сильно изменена архитектура и он был полностью переписан на питоне. В общем, кому интересно, полагаю без труда найдут эту информацию.

читать полностью →

Выделение статических ip адресов клиентам OpenVPN

Февраль, 02nd 2017

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

Собственно, решается это довольно просто, если знать как. В файл конфигурации сервера OpenVPN нужно добавить буквально пару строк:

client-to-client
ifconfig-pool-persist ipp.txt
  • client-to-client - разрешаем клиентам видеть друг-друга в сети
  • ifconfig-pool-persist ipp.txt - наличие этой строки указывает, что перед тем как выдать клиенту свободный адрес из пула, сервер должен свериться с файлом ipp.txt, в котором прописывается привязка имени пользователя к ip-адресу.

Файл ipp.txt должен иметь следующий формат:

username1,ip-address
username2,ip-address
username3,ip-address

username1, username2 и username3 соотвествуют именам выданных сертификатов пользователей.

OpenVPN сервер на FreeBSD 10/11

Январь, 10th 2017

OpenVPN сервер на FreeBSD 10/11

Сегодня при установке OpenVPN сервера на FreeBSD 11 я понял что инструкция по настройке openvpn, которая писалась в далёком 2009 году уже не актуальна - процесс генерации ключей в обновленной EasyRSA 3 версии полностью изменился.

читать полностью →

[Решено] Как полностью удалить Wine для последующей "чистой" установки

Ноябрь, 17th 2016

wine для linux

Продолжим начатую сегодня тему Linux, а то не знаю когда еще дойдут руки до написания заметки. За последнее время Wine (используется для запуска Windows приложений на *nix системах), как и сам Linux, довольно сильно продвинулся и стал заметно дружелюбнее к обычным пользователям, а не только бородатым мужчинам в вытянутых свитерах. Ну последнее уже пережиток прошлого и подобные существа хоть еще и встречаются, но это уже скорее вымирающий вид.

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

читать полностью →

[Решено] Как в Thunderbird вложить файл из сетевой папки Windows? Подключаем сетевой диск Windows в Linux.

Ноябрь, 17th 2016

Сперва обозначу суть проблемы - файловом менеджер Thunderbird не видит сетевых папок в Linux Mint / Ubuntu (другие дистрибутивы не проверял), соотвественно нет возможности прикреплять файлы к сообщениям из расшаренных сетевых папок Windows. Вместо самого файла в поле вложения прописывается лишь путь к нему "smb://сервер/папка/файл.расширение" и при отправке сообщения выдается ошибка с просьбой проверить имеете ли вы доступ к файлу.

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

читать полностью →

[Решено] Установка Linux второй системой с Windows 8/8.1/10 на ноутбук с UEFI

Май, 27th 2016

Установка Linux второй системой с Windows 8

Сегодня расскажу про установку Linux второй системой к уже имеющейся Windows 8/8.1 или 10 на ноутбук с UEFI с помощью загрузочной USB-флешки. На данный момент это будет, наверное, уникальное руководство, так как ничего вразумительного на просторах рунета по данной теме мне отыскать не удалось. Несмотря на бурное развитие интернета, различных сообществ и форумов по Linux, реально полезную информацию в куче "псевдоумных" комментариев найти сейчас крайне сложно.

читать полностью →

Remmina ошибка "Невозможно подключиться к серверу RDP"

Февраль, 13th 2016

Уже не однократно пришлось столкнуться с проблемой подключения Remmina по RDP к серверам Windows. Попытки установить соединение приводят к ошибке "Невозможно подключиться к серверу RDP".

Не секрет, что для работы по протоколу RDP Remmina использует freerdp, и все хосты с которыми хоть раз устанавливалось соединение добавляются в файл ~/.freerdp/known_hosts, аналогично ssh, собственно получаем и проблему типичную для ssh. При смене сертификата или ключа нам требуется удалить старую запись о сервере.

Если у вас не 100500 серверов, то можно просто удалить каталог ~/.freerdp

rm -r ~/.freerdp

Бывает помимо каталога ~/.freerdp, требуется также удалить все файлы из каталога ~/.remmina

Создание локальной копии сайта

Январь, 02nd 2016

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

Ковыряться вручную сомнительное удовольствие, не наш метод, да и искать специализированный софт (помню на заре интернета, когда доступ был жутко дорогой существовали всякие offline-браузеры под Windows) совсем не радовало, не актуально это сейчас.

И тут меня посетила замечательная идея воспользоваться консольной программой wget. Постоянно пользуюсь ею на серверах FreeBSD. Если вас пугает само слово FreeBSD, то wget легко устанавливается или сразу идет в составе практически любого Linux, можно поставить и на Мас, например через MacPorts (sudo port install wget).

читать полностью →

Обновление Linux Mint. Хеш сумма не совпадает

Ноябрь, 04th 2015

Хеш сумма не совпадает. Смена репозитория linux

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

Сегодня будет совсем короткая заметка о том как важно уметь отличать баги от недоступности сервера с репозиторием. На примере Linux Mint покажу простую причину по которой могут не обновляться программы или сама система.

При обновлении Linux пишет что Не удалось получить такой-то пакет. Хеш сумма не совпадает.

читать полностью →

Как сделать загрузочную USB флешку с FreeBSD на Mac OS

Январь, 16th 2015

Сегодня будет экзотика - расскажу как сделать загрузочную USB флешку с FreeBSD на Mac OS X. Да нормальная тема, учитывая что понадобилось организовать OpenVPN сервер и хочется стабильности - один раз настроил и забыл, так как DSR-500N о котором писал ранее, проявил себя не с лучшей стороны, не пережив аварийного отключения электричества.

Железка, на которой будет крутиться данный сервер не менее экзотическая - Lenovo IdeaCentre Q190, вот она:

Lenovo IdeaCentre Q190

Для начала качаем дистрибутив с www.freebsd.org. На данный момент имеем последний FreeBSD 10.1-RELEASE, выбираем файл в имени которого присутствует memstick (для платформы i386 это будет FreeBSD-10.1-RELEASE-i386-memstick.img).

читать полностью →

Неверная кодировка при распаковке архивов ZIP и RAR

Сентябрь, 25th 2013

Снова речь пойдет о уже довольно старенькой, но все еще популярной Ubuntu 10.04. Проблема возникает при распаковке RAR или ZIP-архивов, полученных от win-пользователей - вместо русских букв имеем "крякозяблики".

Исправить ситуацию довольно просто, установив корректный p7zip:

$ sudo add-apt-repository ppa:frol/zip-i18n
$ sudo apt-get update
$ sudo apt-get install libnatspec0 p7zip-full

Теперь русские имена файлов в RAR и ZIP-архивах должны отображаться правильно.

CanoScan LiDE 110 в Ubuntu 10.04

Август, 31st 2013

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

Значит, имеем сканер Canon CanoScan LiDE 110, Ubuntu 10.04 и огромное желание заставить их работать вместе. В свежей версии Ubuntu всё работает "из коробки", так что статья актуальна именно для старенькой версии 10.04, 10.10 или для любого иного схожего дистрибутива Linux.

Для начала проверим определение сканера системой с помощью команд lsusb или scanimage -L. Примерный вывод команды lsusb приведен ниже (остальные usb устройства для наглядности не показаны):

$ lsusb
Bus 001 Device 004: ID 04a9:1909 Canon, Inc.

Однако команда scanimage -L ничего оптимистичного не выдала. Отсюда делаем вывод, что физически система его видит, но утилита Sane, в той версии, которую имеем в дистрибутиве, его не поддерживает. Необходимо пересобрать некоторые библиотеки и установить последнюю версию Sane, чем сейчас и займемся:

$ sudo add-apt-repository ppa:robert-ancell/sane-backends
$ sudo apt-get update
$ sudo apt-get install libsane sane-utils

читать полностью →

Подключаем внешний диск к FreeNAS 8.02. Неожиданная проблема с NTFS

Январь, 16th 2013

Понадобилось тут создать резервную копию с сетевого накопителя, развернутого на FreeNAS 8.02 на внешний жесткий диск (USB разумеется). Система довольно приятная (хотя 7-ая ветка, на мой взгляд была лучше), есть и shell через web-морду и всякие графики мотиринга и прочие плюшки, а вот некоторые простые вещи приходится делать через одно место...

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

[root@freenas ~]# mount -t ntfs /dev/da1s1 /mnt/usbhdd/
Failed to mount '/dev/da1s1': Opetion not supported
Access is denied because the NTFS journal file is unclean. Choices are:
 A) Shutdown Windows properly.
 B) Click the 'Safely Remove Hardware' icon in the Windows taskbar
    notification area before disconnecting the device.
 C) Use 'Eject' from Windows Explorer to safely remove the device.
 D) If you ran chkdsk previously then boot Windows again which will
    automatically initialize the journal.
 E) Submit 'force' option (WARNING: This solution it not recommended).
 F) ntfsmount: Mount the volume read-only by using the 'ro' mount option.
Mount failed.

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

[root@freenas ~]# mkdir /mnt/usbhdd
[root@freenas ~]# ntfs-3g /dev/da1s1 /mnt/usbhdd

Где-то видел упоминание, что ntfs-3g не понимает путей длиннее 255 символов (может какой древней версии), но честно говоря сам не проверял, врать не стану. Если кто проверит и напишет, буду рад.

IPFW: ограничение скорости Internet (часть 2)

Октябрь, 13th 2012

В первой части статьи IPFW: ограничение скорости Internet я описал основы построения каналов и потоков в сети DUMMYNET. Пришла пора рассмотреть конкретный пример работающей в небольшой сети, где все пользователи в равной степени делят один единственный канал связи.

Имеем DSL-соединение, потому канал асинхронный, скорость закачки - 5 Mbit/s, скорость отдачи - 512 Kbit/s.

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

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_NAT
options DUMMYNET
options HZ=1000

Подробно расписывать как собирать ядро я не буду - в блоге об этом уже писалось, да и в сети не проблема найти. Прейдем к настройке. В конфигурацию вашего файерволла /etc/rc.firewall добавляем наши правила:

читать полностью →