настраиваем сеть виртуальной машины через Tor

Для чего может понадобиться пускать весь сетевой трафик виртуальной машины через Tor?
Для того, чтоб не бояться утечки ip адреса из-за ошибок в софте и левых dns запросов.

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

 

Итак, у нас есть машина-гипервизор и виртуалка, запущенная в ней. Для краткости назовем первую localhost, а вторую vm. Обе с системами Debian или Ubuntu.

virtup — управление виртуальными машинами

Данная статья посвящена рекламе моего инструмента virtup для управления виртуальными машинами kvm и контейнерами LXC.

 

Написал я свой скрипт, как замену vagrant для быстрого и простого разворачивания виртуалок из готовых образов и создания их с нуля. Постепенно он разрастался и даже приобрел базовый функционал управления LXC контейнерами.
Это всё благодаря возможностям библиотеки libvirt и языку Python.

 

Libvirt из коробки предоставляет полноценные инструменты для создания и управления виртуальными машинами, это и virsh, и GUI virt-manager, даже простая команда kvm позволяет запустить виртуальную машину.
Но virsh слишком сложный и также не имеет нужного мне функционала по работе с образами, а gui не подходит, т.к. удобней работать в консоли.

 

Virtup написан на python, это не обвязка над virsh, virtup использует библиотеку python libvirt и вполне себе самостоятелен.

 

Для установки просто скачайте скрипт с https://github.com/kshcherban/virtup и установите пакеты libvirt-bin, python-libvirt (Debian).

Рассмотрим основные команды virtup. Все примеры я буду выполнять на своем ноутбуке.

Список доступных команд вы увидите, если выполните:

virtup help

тестирование io диска или ssd vs hdd

Наверное, перед многими вставал вопрос: стоит ли покупать SSD диск и насколько он лучше старенького HDD?
В настоящее время SSD уже достаточно обматерели: технологии их производства обкатаны, цены не очень кусаются, продолжительность жизни гарантируется производителем.

В то же время, на данный момент HDD — самая медленная часть системы, её бутылочное горлышко.

Нас привлекает в SSD последовательная  и случайная скорость записи/чтения, количество операций ввода-вывода за короткий промежуток времени.

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

Не буду рассказывать про принципиальные различия в устройстве HDD и SSD, а также как долго проработает SSD при различной нагрузке. Я приведу пример тестирования своего SSD и HDD с помощью dd, seeker, fio и выскажу свои мысли по поводу того, в каких условиях оптимальней и дешевле применять SSD диски.

 

альтернативный способ установки java в debian

Ниже описан один из быстрых способов как установить самую последнюю Java Oracle в debian.java logo

  1. Скачайте архив jre с сайта корпорации: http://java.com/ru/download/manual.jsp
     
  2. Установите специальный пакет JavaPackage
    sudo apt-get install java-package
  3. Создайте deb пакет из скаченного архива Java. Из rpm deb пакет данной утилитой не создать, так что не качайте его для debian подобных систем.
    make-jpkg jdk-7u45-linux-x64.tar.gz
  4. Установите созданный пакет
    sudo dpkg -i oracle-java7-jdk_7u45_amd64.deb
  5. Настройте систему, если вы хотите поменять java по-умолчанию
    sudo update-alternatives --config java

подключение по ssh через tor

Как следует из заголовка, мы рассмотрим как подключиться к ssh серверу через Tor или любой другой Socks или http proxy.

Весь фокус состоит в использовании специальной программы — connect.

Установим пакет connect-proxy (Debian/Ubuntu)

sudo apt-get -y install connect-proxy

Настроим .ssh/config для того сервера, к которому мы хотим подключиться через прокси Tor

Host prolinux
    HostName prolinux.org
    ProxyCommand connect -S localhost:9150 %h %p

Вся фишка в команде ProxyCommand и её параметрах.

  • -S означает, что мы подключаемся к socks proxy, версия 5 используется по умолчанию
  • localhost:9150 — это наш прокси сервер, он же Tor по совместительству

Если есть http proxy вместо socks, то параметр -S надо заменить на -H.

 

Когда-то давно для таких же целей я использовал corkscrew, но эта программа не поддерживает socks.

почтовый сервер на postfix с opendkim и dovecot

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

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

 

Почтовый сервер в примере состоит из:

  1. vps: 1 cpu, 1gb ram, 50gb disk, 100Mb/s net

  2. OS Debian Wheezy

  3. Opendkim

  4. Postifx

  5. Dovecot

Для наглядности примера, предположим, что наш домен — prolinux.org
Его ip 54.201.180.127
Также рекомендую установить пакет bind9utils для удобной работы с DNS.

перевод интерфейса drupal на русский

Если вы изначально установили английскую версию Drupal 7 и хотите перевести её на русский, прошу читать дальше.

  1. Для начала скачайте и установите модуль Localization update вот по этой ссылке: http://drupal.org/project/l10n_update
     
  2. Активируйте модули Locale, Content translation.
     
  3. Создайте директорию sites/all/translations с правами пользователя web сервера.
    Например:
    mkdir sites/all/translations
    chown www-data: $_
  4. Положите туда перевод в формате .po
    Скачать его можно, например отсюда: https://localize.drupal.org/translate/languages/ru
     
  5. Зайдите в admin/config/regional/translate/update и нажмите Manual Check или перейдите по ссылке (admin/config/regional/translate/check)
     
  6. Обновите страницу, интерфейс должен быть на русском, если вы настроили его по-умолчанию в модуле Locale.

изменение шрифта в Liferea

Все наверняка слышали про закрытие Google Reader. Я им пользовался, но в Google  решили подложить свинью, и пришлось искать ему замену.

 

После нескольких проб онлайн сервисов решил все-таки поставить десктопный RSS reader от греха подальше.

Выбор пал на Liferea, благо он есть в стандартных репах практически любого дистра. Преимущества его в простоте интерфейса и относительной легковесности.

 

Время шло, подписки накапливались, читать из Liferea я стал все чаще и чаще, т.к. лень было переходить по ссылкам в браузер, и тут я заметил, что раздражает стандартный шрифт текста новостей из подписок. В настройках его никак заменить нельзя. В gconf-editor также нет необходимых настроек. Оказывается, чтоб поменять шрифты в Liferea нужно проделать следующие манипуляции.

  1. Скопировать стандартный css в .config/liferea в домашней директории.
    cp /usr/share/liferea/css/liferea.css ~/.config/liferea/liferea.css
  2. Открыть его в любом текстовом редакторе и добавить в начало, после комментариев, но перед тегом body строки с выбранным вами шрифтом.
    * {
        font-family: "CrimsonRoman", "Times New Roman", Georgia, serif;
    }

Вот так вот разработчики заставляют изголяться своих пользователей.

В ближайшее время создам им задачу-реквест с просьбой добавить в настройки выбор шрифта.

высоконагруженный puppet или сказка о единороге

Puppet — это система управления конфигурациями, написанная на Ruby (по-моему, это недостаток).

Из коробки puppet, а точнее его серверная часть (а он имеет клиент-серверную модель)  поставляется с готовым WEBrick сервером. Этот сервер подходит только для "опапечивания" пары виртуалок, но с серьезной нагрузкой он просто не справляется.ruby unicorn

 

Как вариант, можно использовать Passenger + какой-нибудь web server, например Apache, но как показывает практика, эта схема тоже дает сбои.

 

И тут на сцену выходит Unicorn, он же единорог. Данная статья описывает, как установить и настроить puppet + Unicorn + nginx

создание загрузочной флешки

Есть множество способ как записать установочный образ на флешку, типа UNetbootin и прочих, в этой статье я расскажу как можно это сделать с помощью утилиты dd.