Архив рубрики: Linux

Навигация по истории в терминале

Маленький хак упрощающий навигацию в Linux. Размещаем инструкции в ~/bashrc:

bind '"e[A": history-search-backward'
bind '"e[B": history-search-forward'

и навигация по истории учитывает набранные до курсора символы.

Автор: Roman Brovko

Как обрезать поля в pdf файле

Для обрезки полей в Linux есть утилита pdfcrop. Эта утилита является частью пакета texlive-extra-utils:

# apt-get install texlive-extra-utils
$ pdfcrop --clip --margin 5 исходный_файл.pdf целевой_файл.pdf

Автор: Roman Brovko

Неинформативные сообщения strongswan

Потребовалось подключиться по IPSec к новому межсетевому экрану. Решил попробовать strongswan, так как openswan отсутствует в репозитариях debian jessie. Выжимка из того, на чём удалось навернуться.

Основной конфиг /etc/ipsec.conf, общий ключ в /ets/ipsec.secrets. Для применения изменений необходимо выполнить sudo ipsec reload. Но данная команда не отображает никакой информации об ошибках/опечатках в конфигурационном файле в отличие от sudo ipsec restart. Другие команды можно посмотреть здесь.

Для подключения-отключения необходимо выполнить: sudo ipsec up|down .

После ее вызова выводится лог подключения.

Пока не указал в явном виде использовать IKE v1 (keyexchange=ikev1) удаленная сторона просто молчала, strongswan повторял попытки установления соединения.

Также потребовалось явно указать список протоколов шифрования для IKE (ike=aes128-sha1-modp1536,aes128-md5-modp1536,3des-md5-modp1024,aes128-sha1-modp1024,aes256-sha-modp1024,3des-md5-modp1024). До этого момента соединение обрывалось на первом шаге с ошибкой NO_PROPOSAL_CHOSEN.

Далее я получил ошибку no shared key found. В конфигурационном файле для подключения должны присутствовать опции left=%any и right=1.2.3.4, соответствующие адресам узлов, участвующих в ассоциации. Опции leftid и rightid в моем случае необязательны, я их не указывал. В файле /etc/ipsec.secrets общий ключ должен быть записан в виде:

%any 1.2.3.4 : PSK «sTrong$ecret»

Слева направо: адреса участников ассоциации, двоеточие (отделенное пробелами), тип записи PSK (общий ключ), собственно, ключ обязательно в кавычках. Без кавычек ключ, кажется, в base64. Подробнее тут.

Далее я снова получил ошибку NO_PROPOSAL_CHOSEN, но уже во второй фазе IKE — Quick Mode. Казалось бы, стороны снова не могут согласовать алгоритмы шифрования, но нет.

Помог блог какого-то замечательного человека. Спасибо тебе, огромное!) Оказалось, что нужно указать корректную, с точки зрения межсетевого экрана, rightsubnet=1.2.3.4/32, вместо rightsubnet=0.0.0.0/0, указывающую только на сам межсетевой экран. После чего всё благополучно взлетело, а я пошел ковыряться дальше.

Примерный файл конфигурации:

conn vpn
# Режим работы IPSec — транспортный (туннельный и т.д.)
type=transport
# Алгориты шифрования/аутентификации
ike=aes128-sha1-modp1536,aes128-md5-modp1536,3des-md5-modp1024,aes128-sha1-modp1024,aes256-sha-modp1024,3des-md5-modp1024
ikelifetime=86400s
lifetime=3600s
# Версия протокола IKE v1
keyexchange=ikev1
rekey=yes
forceencaps=yes
# Режим запуска — в момент обращения к защищаемому узлу
auto=route
# Left
# Адрес с интерфейса, через который идет маршрут по-умолчанию
left=%any
# Добавлть разрешающие правила в локальный межсетевой экран
# leftfirewall=yes
# Right
# Адрес узла, с которым необходимо соединиться
right=1.2.3.4
# Подсеть за узлом, которая будет защищаться соединением, фильтр протокола и порт
rightsubnet=1.2.3.4/32[udp/1701]

Для настройки L2TP поверх IPSec с помощью демона xl2tpd хорошо подходит инструкция от поклонников Арча.

PS. После обновления strongSwan до 5.4 благополучно работавшее соединение снова отказалось подключаться с той же ошибкой NO_PROPOSAL_CHOSEN. Благодаря этому посту и описанию параметра esp = в официальной документации было выяснено, что в 5.4 был изменен алгоритм шифрования по умолчанию:

esp =
Defaults to aes128-sha256 (aes128-sha1,3des-sha1 before 5.4.0).

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

Автор: Василий Иванов

Человекочитаемые русскоязычные имена директорий maildir.

Если с англоязычными именами директорий в maildir проблем нет — отображаются они в точно так-же как и в почтовом клиенте, то с русскоязычными именами всё не так просто. Например, директория «Отправленные» в maildir —  &BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-. Читать