Скрипты
Локальный DNS на DD-WRT
by Bozaro on Окт.29, 2010, under Скрипты
Так уж получилось, что моя домашняя сеть разнесена географически.
Для обеспечения прозрачной маршрутизации я пробросил IP-over-IP тунель, но у этого решения остался один существенный недостаток – DNS оставался в каждой подсети свой.
От идеи поднять общий DNS-сервер я сразу отказался, так как каждая сеть должна работать независимо от работоспособности другой сети.
Принцип решения данной проблемы:
- На DD-WRT установлен DNS-сервер Dnsmasq. Он не только работает, как кэширующий DNS-сервер, но и возвращает A и PTR для записей, которые перечислены в файле /etc/hosts на точке доступа;
- Файл /etc/hosts на точке доступа не статичен – он может измениться внутренним DHCP-сервером и при перезагрузке точки доступа;
- Для того, чтобы Dnsmasq перечитал файл, ему нужно отправить HUP сигнал: killall -1 dnsmasq
В результате я написал на python небольшой скрипт: dns-ddwrt.
Этот скрипт:
- скачивает с моих точек доступа по SSH исходные файлы hosts;
- объединяет их;
- добавляет к этому списку перечень виртуальных OpenVZ машин;
- записывает полученный результат обратно на точки доступа и перезапускает на них dnsmasq.
Скрипт поставил в cron и радуюсь
Сборка шаблона Gentoo для OpenVZ
by Bozaro on Окт.29, 2010, under Без рубрики, Серверный софт, Скрипты
На странице http://wiki.openvz.org/Download/template/precreated есть шаблон для Gentoo.
Этот шаблон датирован 2008-ым годом и с тех пор не обновлялся. При этом, если обновить уже установленный контейнер, то после его перезагрузки перестаюст стартовать демоны.
Пошаговая инструкция для сборки контейнера есть на: http://wiki.openvz.org/Gentoo_template_creation.
После прочтения этого руководства я написал скрипт, который позволяет собрать шаблон из архивов stage-3 и portage: openvz.zip
Скрипт должен запускаться под рутом. Сборка может производиться из любой Linux-системы (не обязательно из Gentoo).