NetTools.ru
В процессе отстройки почтового сервера наткнулся на сайт сетевых утилит nettools.ru. Он позволяет просмотреть DNS-записи нужного домена, протестировать почтовый сервер на open relay, сервер на open proxy и много чего другого. Конечно, всё это можно (и нужно) уметь делать самому из шелла, но собранные в одном месте инструменты сетевого администратора порой здорово экономят время и силы.
OpenVPN: частный случай p2p соединения
Рассмотрим весьма частный случай применения OpenVPN.
Конфигурация сети:
- Диспетчер, он же центральный хаб “звезды”, он же VPN-сервер в стандартной схеме “клиент-сервер”.
- Client1, по отношению к диспетчеру — клиент.
- Client2, по отношению к диспетчеру — клиент.
- Предполагается, что впоследствии появятся ещё Client3, …, ClientN, и все они по отношению к диспетчеру будут суть клиенты.
Считается, что VPN между диспетчером и каждым из клиентов уже настроен, то есть классическая “звезда” уже работает.
Требуется обеспечить симметричный p2p VPN-линк между Client1 и Client2. Другими словами, превратить “звезду” в полносвязку.
Когда я приступил к решению данной задачи, то обнаружил, что в интернете практически отсутствуют описания применения OpenVPN в симметричных схемах. Везде тщательно и со вкусом рассматриваются схемы “клиент-сервер”, при которых одна определённая сторона ждёт входящих соединений, а другая
инициирует исходящие.
Так как Client1 и Client2 — это равноправные сервера, делать кого-то формальным сервером не было ни желания, ни особого смысла. С учётом же возможности пояления Client3, …, ClientN заводить N формальных серверов — это неизбежно запутаться во всех них.
Читать дальше...SSL proxy на lighttpd
Возникла необходимость сделать на lighttpd балансирующий ssl-прокси к веб-серверу под управлением Apache. Другими словами, реализовать схему:
https-запрос
|
\|/
lighttpd
/ \
/ \
apache1 apache2
где apache1. apache2 выбираются, исходя из доступности.
Так как задача отняла чуть больше времени и сил, чем ожидалось, приведу решение с небольшим комментарием:
Читать дальше...Подключение приёмника IRLink к Linux
Как-то раз я собрался с духом и настроил у себя просмотр IP-телевидения от Корбины с помощью всемогущего mplayer (возможно, я напишу об этом позднее). Создал в fvwm меню пунктов на сорок для быстрого выбора каналов… Но всё равно было как-то не вполне удобно. Например, научить домашних пользоваться телевизором с клавиатуры — мягко скажем, задача не из простых и смысла в ней нет никакого.
Так я осознал, что моему компьютеру нужен пульт дистанционного управления. Беглый поиск в гугле моментально вывел меня на общеизвестную в линуксовых кругах программу lirc. Всё бы ничего, но к ней требовался инфракрасный приёмник и пульт. Паять приёмник самому у меня не было ни умения, ни особого желания.
Читать дальше...Быстрый поиск среди ebuild’ов
В интернете наткнулся на упоминание утилиты, индексирующей базу данных портежей Gentoo и работающую гораздо быстрее стандартных emerge –search и emerge –searchdesc. Рекомендую — eix.
Установка тривиальна: emerge eix.
Использование тоже несложно: после каждого emerge –sync следует запускать update-eix. После чего поиск пакета с foo в названии выполняется командой eix foo практически мгновенно. Да и информации, если приглядеться, eix выводит побольше — читатель вполне сможет оценить это самостоятельно, поставив eix.
Couldn’t allocate PPP unit 0 as it is already in use
На машине, где несколько интернет-провайдеров, соответственно имеются несколько ppp интерфейсов. Часто случается так, что неизвестно, который из провайдеров поднимет ppp-линк раньше и получит ppp0, ppp1 или вообще pppN. И тогда запросто возможна ситуация, когда второй по задумке провайдер, которому надо висеть не ppp1, вдруг появляется на ppp0, руша настроенные правила роутинга, файрволла и прочего сетевого хозяйства.
Подобную ситуацию можно, конечно, отследить в скрипте, меняя при необходимости имя сетвеого интерфейса ppp* на нужное. До поры до времени это работает.
Потом выясняется, что один из провайдеров мистическим образом непрерывно глючит, коннекта с ним нет никогда или почти никогда. В логах при этом, если приглядеться, мелькает запись вида: Couldn’t allocate PPP unit 0 as it is already in use
Проблема на самом деле решается очень просто. У pppd есть параметр unit N, где N есть закрепленный за данным экземпляром pppd номер интерфейса pppN. Таким образом, достаточно для всех ppp* в системе в соответствующих /etc/ppp/options.* дописать нужный unit 0, unit 1, etc, и проблема драки за номера pppN исчезнет навсегда.
Маленькие радости linux
- Вывод размеров директорий, отсортированный по объему:
- Удаление всех файлов, к которым не обращались последнии 30 дней, из заданной директории:
du –max-depth=1 -k | sort -n -k 1,8
find /var/spool/amavis/quarantine/ -atime +30 -exec rm {} \;
Когда-то давно слышал хорошее определение: linux — это ядро ос и набор взаимодействующих с собой утилит.
ping: sendmsg: Operation not permitted
Если вы получаете сообщение о такой ошибке:
ping: sendmsg: Operation not permitted
то 99 % это ошибка конфигурации вашего фаервола. Просто опустите iptables.
Работа одновременно с двумя выделенными линиями. Часть 2. Локальные сети и интернет
В первой части речь шла о первичной настройке одновременной работы с двумя локальными сетями, к которым присоединен ваш компьютер. Несмотря на достаточно сырое изложение материала, рекомендую прочитать сначала её — там как минимум описаны нюансы конфигурирования ядра Linux, которые надо учесть при работе с утилитами расширенного роутинга пакета iproute2.
Сейчас речь пойдёт об одновременной работе как двух локальных сетей, так и двух шлюзов в интернет, предоставляемых этими двумя сетями.
Читать дальше...Работа одновременно с двумя выделенными линиями. Часть 1.
По ряду причин я решил купить домой вторую выделенную линию. Пришли монтажники из Корбины, провели мне вторую линию, воткнули во вторую сетевую карту, проверили на работоспособность и ушли. А я остался настраивать оба интернета :-).
Поднял вчерне оба интернета — от районной сети GolNet и от Корбины — и решил пропинговать извне одновременно оба своих ip. Результат: корбиновский ip пингуется, голнетовский нет. Через минуту я понял, что так и должно быть — ответ на пакет от GolNet уходил по дефолтному роутингу на корбиновский интерфейс и, естественно, не получался тем, кто пингует голнетовский ip-адрес.
Поскольку одна из задач второй выделенной линии заключалась как раз в возможности доступа к моему компьютеру с любого из двух ip из интернета, такое поведение меня ни капли не устроило и я стал искать решение.
Поиск в интернете в конце концов вывел меня на пакет iproute2 — подсистема расширенного роутинга под Linux.
Читать дальше...