Категорії
FreeBSD Misc, staff, other

Не запускается ntp, дебажим и находим причину

На одном из серверов FreeBSD перестал запускаться ntpd. То есть, работал и в один момент перестал. Причиной стал простой reboot сервера, без изменений конфига. Странно, но нужно разобраться. Начинаем стандартно: ldd, truss, дефолтный конфиг, дефолтные опции, включение debug’a в ntp и никакого намёка на проблему. Усложняет тот факт, что есть другой сервер с такими же настройками и такой же версией ОС и там всё работает. Остаётся один вариант – дебаггер gdb.

Категорії
FreeBSD Linux Misc, staff, other Solaris

zfs: продолжаем send/receive после обрыва связи

Раньше приходилось заново копировать после каждого обрыва. Но потом придумали механизм, основанный на bookmark’ах, который позволяет продолжить копирование с места разрыва.

Категорії
Misc, staff, other

[nginx] Захватывать заголовки содержащие слово XXX

Сразу скажу, код не мой, а нашёл его в рассылке nginx.ru, но что бы не потерять, оформил в виде заметки

Данный код использует lua и матчит header по слову Foo

content_by_lua_block { 
local h = ngx.req.get_headers() 
for k, v in pairs(h) do 
if k == k:match("([%w].Foo.*)") then 
ngx.header[k] = v 
end 
end 
ngx.say('headers with Foo are captured'); 
}
Категорії
Linux Misc, staff, other Routers, GW, Internet

Завернуть часть трафика в OpenVPN туннель.

Вводные данные: 2 сервера Linux связаны между собой через OpenVPN туннель. Нужно для части клиентов за одним из концов VPN’a завернуть весь трафик в туннель, то есть, что бы они выходили в интернет не через свой GW, а через удалённый GW, пройдя через VPN.

UPD. В данной схеме есть нюанс: она будет работать, если клиентские машины находятся за хостом, который является OpenVPN-клиентом. В обратном случае, пакеты просто не будут покидать хост, хотя через tcpdump вы их будете видеть. Связано это с особенностями самого OpenVPN’a. Пока не нашёл как это можно решить. Как workaround, можно либо изменить роли клиент-сервер, либо использовать простой туннель или другой тип VPN’a.

Категорії
Misc, staff, other Routers, GW, Internet

OpenVPN: iroute not working

iroute в OpenVPN нужен для того, что бы добавлять маршруты в подсеть клиентов, когда они подключаются. Данный параметр прописывается исключительно в CCD (client-config-dir). Но есть нюанс: обязательно с iroute нужно прописывать route в конфиге server.conf. Да, про это упомянуто в документации, но не все ёё внимательно читают

Remember that you must also add the route to the system routing table as well (such as by using the –route directive). The reason why two routes are needed is that the –route directive routes the packet from the kernel to OpenVPN. Once in OpenVPN, the –iroute directive routes to the specific client.

То есть, если нужно добавить клиентскую подсеть 192.168.10.0/24, то правильно сделать так:

ccd/client:

iroute 192.168.10.0 255.255.255.0

server.conf:

route 192.168.10.0 255.255.255.0

Категорії
Misc, staff, other WWW

[nginx] URL encode

Иногда бывает ситуация, когда нужно в location’e написать regexp с nonASCII символами. Тогда на помощь приходит URL encode. Нюанс в том, что вместо % (процент) нужно использовать \x (слеш + “х”). Итого, если в браузере URL выглядит так

test%20test

то в nginx.conf это будет так:

test\x20test

Категорії
Linux Mail systems Misc, staff, other

Connection timed out H=alt4.gmail-smtp-in.l.google.com

Вот как полностью выглядит сообщение об ошибке:

Connection timed out H=alt4.gmail-smtp-in.l.google.com [142.250.157.26]:25 DT=12m19s: SMTP timeout after sending data block (452056 bytes written)

Примечание: число в скобках и сервер гугла может быть любой.

Категорії
Mail systems Misc, staff, other

[exim, postfix] Ограничения для отправки писем

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

Категорії
Misc, staff, other Routers, GW, Internet

Анализатора трафика sniffglue

Сетевого анализатор sniffglue 0.14.0 , выполняющий анализ трафика в пассивном режиме и использующий многопоточность для распределения работы по разбору пакетов по всем ядрам процессора. Проект нацелен на безопасную и надёжную работу при перехвате пакетов в сетях не заслуживающих доверия, а также на вывод наиболее полезной информации в конфигурации по умолчанию. Код продукта написан на языке программирования Rust и распространяется под лицензией GPLv3+. Поддерживается работа на системах Linux и macOS.

Категорії
MacOSX Misc, staff, other Routers, GW, Internet

tunnelblick and custom scripts

Недавно появилась задача использовать собственные маршруты при подключении через OpenVPN на MacOSX. Если это сделать по аналогии с OpenVPN – просто добавить в конфиг параметр up/route-up, то в логе вы увидите, что не удалось выполнить из-за дубликата параметра. Что за ересь? Идём на сайт tunnelblick’a в раздел документации и видим, что нужно использовать специфические имена скриптов. Но куда их ложить?

Нашёл в интернете заметку, где сказано, что ложить их нужно по такому пути /Library/Application Support/Tunnelblick/Users/<user_name>/<config_name>.tlbk/Contents/Resources/, если у вас личный когфиг, или по такому /Library/Application Support/Tunnelblick/Shared/<config_name>.tblk/Contents/Resources, если общий.

Примечание. Если tunnelblick после изменений спросит “обезопасить ли конфигурацию” – отвечайте нет, иначе он удаляет папку с конфигом (а значит и все скрипты) и создаёт заново.

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP