OpenVPN docker image with full IPv6 support

As I mentioned earlier, I’ve developed my own tool for managing OpenVPN servers. I’ve been running several instances without any issues, and last weekend, I finally decided to add full IPv6 support. This includes both connecting to the server via IPv6 and routing IPv6 traffic within the tunnel.

Initially, I spent several hours troubleshooting how to get an IPv6 setup working in Docker. Many documents claim that Docker is entirely incompatible with IPv6, while others suggest you can enable IPv6 but must manually manage networks, NAT, and other configurations. However, this isn’t entirely true.

Basic IPv6 support has been available in Docker for years (see ipv6 option), but you used to need to handle subnets and routing manually. Now, Docker can manage all the necessary iptables configurations, including SNAT/masquerading for IPv6, if you enable the experimental and ip6tables options.

A detailed guide on the docker setup can be found here.

As for OpenVPN, I’ve added IPv6 support to the gerasiov/openvpn image (with the recommended setup described in the README), so anyone can easily set up their own IPv6-capable OpenVPN server in just five minutes.

Docker OpenVPN image

For several years I was using kylemanna/openvpn as OpenVPN server. Unfortunately author does not update it anymore. It has old OpenVPN version, several problems (like renew command not working) and bad cli in common.

So one day I sit and rewrite it (on python, so image grew from 20MB to 55MB, I believe that not a problem).

GitHub page: https://github.com/gerasiov/docker-openvpn

Docker image: gerasiov/openvpn:latest (hub)

I have several more features to add:

  • Server certificate renewal
  • Configurable certificates expiration time
  • IPv6 support

But it’s already useful enough.

The smallest video monitoring daemon ever

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

Лицензирование ПО в современном мире

Рассказывал сегодня про лицензирование ПО (в первую очередь про свободные лицензии).

Исходник тут.
Очень понравилось как работает libreoffice-presenter-console. (Надо ставить отдельно пакетом.) Must Have.

В новый год с новым софтом :)

GNOME -> Xfce4
Gmone-terminal -> Roxterm (xfce-terminal не умеет кодировки)
bash -> zsh
Gaim (Pidgin) -> Gajim (это пока в процессе решения)
grp:alt_shift_toggle -> grp:caps_toggle
Поставил Skype.
ЗЫ. А, да, еще перевели в каникулы часть серверов с Etch на Lenny.
Скучно не будет 🙂

Об rpm дистрибутивах с любовью

Предыстория: Есть у нас замечательные тонкие клиенты. Называются SunRay. Всем они хороши: серебристые (хотя есть и более старые – фирменных сиреневых тонов), с мониторчиками на IPS матрицах и все такое. Одна беда, им еще нужен серверный компонент: SunRay server. О нем и пойдет речь.
Continue reading “Об rpm дистрибутивах с любовью”

GnomeTerminal, шрифты, antialiasing и Subpixel Rendering

В процессе обновления сервера до Etch (а точнее переезда на новый сервер приложений под Etch с сохранением старого home) столкнулся с неприятной вещью:
Все гномовские приложения рисовали шрифты более-менее пристойно, кроме терминала. В терминале шрифты расплывались в разноцветном антиальясинге. Никакие настройки почему-то не помогали.
Оказалось проблема была в том, что у меня в домашнем каталоге жил файлик .fonts.conf, который, как оказалось, имеет для гном-терминала очень высокий приоритет, а в файлике этом как раз и были эти похабные настройки, которые подхватывались терминалом.
Вот такой вот Windows-style =\

Как я собираю/бэкпорчу deb пакеты

В связи с упомянутой в комментариях к этой статье задачей “Как правильно собрать/сбэкпортить пакет” решил описать свое решение.
Continue reading “Как я собираю/бэкпорчу deb пакеты”

Установка и настройка SpamAssassin

Посмотрел останки своего старого сайта с целью восстановить оттуда что-нить ценное. Понял, что ничего ценного там не было кроме статьи о федерации молодежи за мир во всем мире (которая, похоже окончательно утеряна, но и фиг с ней, муниты и так почти исчезли (из Москвы по крайней мере)) и HOWTO по настройке SpamAssassin.
Статью про СпамАссассин решил восстановить. В несколько сокращенном варианте (сейчас уже только ленивый не знает что это такое и зачем он нужен) и с поправками на мои нынешние настройки.
Continue reading “Установка и настройка SpamAssassin”