2010-08-04

Релиз iptables 1.4.9

Вышла новая версия iptables — набора инструментов для управления IPv4- и IPv6-сегментами системы фильтрации и преобразования пакетов netfilter (сам netfilter является частью ядра Linux).

В iptables 1.4.9 реализована полная совместимость с вышедшим недавно ядром Linux 2.6.35, а также внесен ряд других улучшений:

* Добавлена поддержка нового действия LED, позволяющего использовать доступные системе световые индикаторы для сигнализации о прохождении пакетов через заданные правила. Например, следующая последовательность команд обеспечит включение на одну секунду выбранного индикатора при поступлении входящего пакета на TCP-порт 22 (SSH):


iptables -I INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000
echo netfilter-ssh > /sys/class/leds/имя_индикатора/trigger

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


iptables -t mangle -A PREROUTING -i eth0 -j TEE --gateway 192.168.0.2

обеспечит копирование всего входящего через eth0 трафика и отправку его копии на хост 192.168.0.2 (хост-получатель должен находиться в одном сегменте сети с нашим хостом).

Ранее это действие было доступно только в комплекте xtables-addons (данный проект является современным аналогом patch-o-matic).
* Обновлены инструменты для обеспечения взаимодействия netfilter и ipset.

ipset — набор модулей для ядра Linux и одноименная управляющая утилита, в совокупности обеспечивающие возможность хранить в памяти огромные списки IP-адресов, подсетей и портов, а также очень быстро проверять заданные адреса и порты на предмет нахождения в этих списках. Одно из ключевых новшеств ожидаемого в ближайшем будущем релиза ipset 5 — поддержка семейства адресов IPv6.

Изменения, внесенные на уровне iptables в критерий set (этот критерий позволяет проверять адреса и порты обрабатываемых пакетов на наличие в заданных списках) и в действие SET (позволяет добавлять адреса и порты обрабатываемых пакетов в заданные списки, либо удалять из них), отражают грядущие нововведения — теперь эти инструменты можно вызывать не только из iptables, но и из ip6tables.
* Добавлена возможность логического отрицания в критерии quota, что упрощает обработку пакетов, выходящих за рамки квоты.
* Улучшена поддержка протокола SCTP: добавлено распознавание типа секции (chunk) FORWARD_TSN и флага SACK-IMMEDIATELY в DATA-секции.
* Исправлен ряд мелких ошибок в коде и документации.

2010-07-10

Клонирование системы с обычного HDD на SSD

Дано /dev/sda:

---------------------------------------------------------------
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---------------------------------------------------------------


Склонировать надо на новый диск /dev/sdb, на котором создать ту же таблицу разделов, но размер каталогов может быть другим, в данном случае раздел /dev/sdb7 был меньше.

---------------------------------------------------------
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---------------------------------------------------------


Берем привычный инструмент и клонируем:

dd if=/dev/sda of=/dev/sdb bs=1M


После этого практически все программы работы с разделами (sfdisk, cfdisk, parted(gparted)) отказались работать с /dev/sdb, ссылаясь на неправильную таблицу разделов, показывающую верхнюю границу разделов выше физического размера целевого винта /dev/sdb. Остался только верный и надежный fdisk, честно показавший все данные по разделам, даже некорректные:

# fdisk -l /dev/sdb


Справиться с проблемой помогло удаление целиком расширенного раздела /dev/sda4, сохранение таблицы на диск (w), и последующее создание тех же самых разделов (n) указанием начального и конечного цилиндров:

# fdisk /dev/sdb
> n

Номера цилиндров вводить те же самые, что и на исходном диске:

# fdisk /dev/sda
> p


Теперь gparted показывал диск. Мало того, после просмотра оказалось, что вся инфа, переписанная с исходного диска командой dd в самом начале, находится на месте и после удаления расширенного раздела никуда не делась. Цветом явно выделялись области с данными. Осталось только грохнуть недо-раздел /dev/sdb7 и заново создать его в новых границах. А после банальным копированием с сохранением прав перенести данные с /dev/sda7 на /dev/sdb7:

# cp -r -p /* /


Раздел монтировался по label, который забыли указать при создании раздела. Но не беда:

# tune2fs -L label /dev/sdb7


Кстати, желательно после каждой работы с разделами и винтами перечитывать их командой:

# partprobe


Также необходимо в /etc/fstab в опциях монтирования разделов вместо relatime указать noatime для уменьшения износа SSD-дисков.

2010-06-21

GoogleCL - CLI утилита для работы с сервисами Google

Google в своём блоге анонсировала утилиту для работы с сервисами Google через командную строку под названием GoogleCL

Она позволяет автоматизировать такие задачи как постинг в Blogger, добавление событий в Calendar или редактирование документов в Google Docs.

Например закачать директорию с фотографиями в Picasa теперь можно так:

$ google picasa create --title "My album" ~/Photos/vacation/*.jpg


Ещё примеры использования:

$ google blogger post --blog "My blog" --tags "python, googlecl, development" my_post.html
$ google calendar add "Lunch with Jason tomorrow at noon"
$ google docs edit --title "Shopping list" --editor vim


GoogleCl написана на языке Python и использует библиотеку gdata для работы с Google Data API.
Утилита опубликована под лицензией Apache v2.0.

Домашняя страница GoogleCL

>>> Оригинальный анонс в блоге Google (на английском языке)

2010-05-25

dhcp3-client и DHCP-сервер win2k3

Сегодня озаботился прописыванием дополнительных маршрутов для всех клиентов сети в новую DMZ. Задал дополнительные маршруты в настройках (classless-static-routes) штатного DHCP-сервера Windows 2003. Проверил на виртуальной Windows XP - все в порядке. На линуксовых клиентах - ни в какую. Поиск по интернету был поначалу не особо успешным. Предлагалось создать в каталоге /etc/dhcp3/dhclient-exit-hooks.d файл rfc3442-classless-static-routes и забить в него конфиг, аналогичный rfc3442-classless-routes. Не помогло. Как я теперь понимаю, такие советы относились скорее к реализации DHCP-сервера согласно rfc3442. Но Microsoft, как известно, сама себе стандарт. Тут нашлось решение проблемы, и никаких файлов создавать не надо. Ибо, цитирую:
На самом деле "правильно" передавать все то же самое, но в опции 121. 249 забила Microsoft, когда стандарт (classless static routes) был еще в драфте. Так до сих пор и работает.

Т.е. достаточно всего лишь перебить в опции:
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

значение 121 на 249 и перезапустить сеть, после чего linux-машины получат свои маршруты.

2010-04-12

Открылся архивный раздел проекта Debian

Проект Debian открыл архивный раздел snapshot.debian.org, в котором хранятся предыдущие версии пакетов. Таким образом, пользователь получает возможность установить пакет или просмотреть исходный код для любой нужной ему версии програмы (возможно также использовать и фильтр по дате). Авторы проекта считают, что такая возможность окажется очень удобной для разработчиков и просто продвинутых пользователей - так как теперь стало возможным, например, точно определить, на каком этапе в программе появилась какая-либо регрессия. Также теперь есть возможность найти пакеты, которые уже больше не предоставляются для Debian. Наконец, проект может оказаться полезным администраторам: используя фильтр по дате, они смогут точно воссоздать окружение, которое было использовано в тот или иной момент времени, и проследить за тем, как проходило обновление.

Раздел представляет из себя обычный apt-репозиторий, который можно подключить к своей системе и использовать точно так же, как и любой другой.

В данный момент в архив попали почти все пакеты из разделов main и security, начиная с марта 2005 года. Также были добавлены пакеты из ряда сторонних репозиториев, таких как debian-volatile, debian-ports и backports.org. В данный момент объем архива достигает 6.5 террабайт - и это только начало.

сайт проекта

>>> Анонс на оф. сайте Debian

2010-04-10

Релиз Yasm 1.0.0

Yasm - распространяемый под лицензией BSDL ассемблер для x86 и x86_64 платформ с поддержкой синтаксисов nasm и gas, частично tasm , форматов binary, ELF32, ELF64, 32/64-bit Mach-O, RDOFF2, COFF, Win32/64.

Несмотря на уже широкое использование yasm в различных opensource проектах, это первая не-бета версия, автором были достигнуты следующие цели:

* Полная поддержка NASM-синтаксиса для основных целевых платформ
* Поддержка синтаксиса GAS (GNU assembler / binutils)
* source-level отладка с использованием DWARF2 или CodeView 8.0 (VS2005)
* Поддержка TLS (Thread local storage) для ELF32/64 и SEH (structured exception handling) для Win32/64
* Поддержка наборов инструкций новейших процессоров AMD XOP/FMA4/CVT16 (Bulldozer) и Intel AVX (Sandybridge)

страница проекта


>>> Подробности и загрузка

2010-04-07

µHub 0.3.1

Вышел релиз p2p-файлообменного хаба µHub 0.3.1. Хаб предназначен для организации хабов по технологии Advanced Direct Connect. Хаб не требователен к оперативной памяти и может работать на устройствах с OpenWRT или других устройствах с ограниченными ресурсами.

С прошлой версии хабу был добавлен следующий фунционал

* Возможность не подключать к хабу клиентов не поддерживающих спецификацию 0.10 ADC.
* базовая защита от флуда в чате и личных сообщениях.
* kqueue backend для Mac OS X и BSD.
* возможность прослушивать несколько портов одновременно.

Скомпилированные сборки для Win32 можно скачать здесь.

Дерево Git (git://github.com/janvidar/uhub.git)

>>> Подробности

arping 2.09

1 апреля вышла новая версия arping2 (не путать с arping из пакета iputils) - утилиты, позволяющей выполнять ARP запросы по MAC-адресу, и таким образом вычислять IP адрес по MAC, минуя ARP кэш. Обновления:

* удален весь старый код (из Arping 1.x)
* добавлена опция -D, при выборе которой результаты запроса выводятся в виде знаков препинания (ответы как точки, потерянные пакеты как восклицательные знаки)

>>> Подробности

2010-04-05

Релиз X Server 1.8

Вышел релиз X.org Server 1.8, который включает в себя следующие изменения:

* Переход от управления устройствами с подсистемы HAL (Hardware Abstraction Layer) на использование библиотеки udev, которая теперь будет являться ответственной за горячее подключение устройств ввода и вывода.
* Дополняя переход на udev, добавлена новая возможность создания файлов конфигурации для отдельных устройств - это использование файлов в директории /etc/X11/xorg.conf.d. Для того, чтобы все файлы конфигурации не использовались даже при отсутствии соответствующих устройств были добавлены новые опции InputAttributes и InputClass.

Для привязки к заданному устройству, может быть использовано сопоставление по имени продукта (MatchProduct), имени производителя (MatchVendor), пути к устройству (MatchDevicePath) или типу устройства (MatchIsKeyboard, MatchIsPointer, MatchIsJoystick, MatchIsTablet, MatchIsTouchpad и MatchIsTouchscreen). Представленное новшество призвано упростить возможность автоматизации настройки X-сервера сторонними приложениями: вместо парсинга и генерации xorg.conf теперь можно осуществить подстановку в /etc/X11/xorg.conf.d заранее сформированных файлов.
* Подсистема прямого рендеринга (DRI) обновлена до версии 2.2, что позволило реализовать новые вызовы GLX и разрешить асинхронное использование вызова glXSwapBuffers, что дает возможность оптимизировать приложение, его использующее.
* Поменялись ABI интерфейсов ответственных за ввод, вывод видео и некоторые расширения.
* Улучшена поддержка Quartz (API вывода изображения на Mac OS X).

X.org Server 1.8 будет задействован в дистрибутивах Fedora 13 и openSUSE 11.3. В Ubuntu 10.04 будет использован X.Org server 1.7, с некоторыми портированными обратно функциями из ветки 1.8.

2010-01-04

fidoip 1.0.5 — пакет программ для работы в Гипертекстовом Фидонете

Вышло обновление кросс-платформенного самонастраивающегося пакета программ для работы в Фидонете методом Fido over IP для FreeBSD, Linux и Windows. В версию 1.0.5 добавлена поддержка стандарта Fidonet Global Hypertext Interface (FGHI)Гипертекстового Фидонета. Появление этого стандарта всколыхнуло российский сегмент сети ФИДО и привело к тому, что количество пользователей и узлов, использующих новые возможности Гипертекстового Фидонета, стало увеличиваться. Подключившись при помощи fidoip к сети FidoNet, Вы сможете получить доступ к эхоконференциям RU.UNIX.BSD, RU.LINUX и RU.UNIX.SOLARIS, в которых у Вас появится шанс пообщаться с российскими разработчиками прикладного и системного ПО и специалистами высокого уровня по ОС Linux, FreeBSD и OpenSolaris. Если Вы устанете от технических проблем, к вашему вниманию широкий набор различных конференций для общения, таких как: SU.BOOKS, SU.GENERAL, SU.HISTORY, XSU.USELESS.FAQ и т.д. Используя комплект fidoip, Вы можете легко и быстро подключится к сети ФИДО — всё что нужно, это связаться с системными операторами сети, список которых приведён в подробной документации к пакету, а также скачать пакет программ версии 1.0.5 с сайта проекта.

>>> http://sourceforge.net/projects/fidoip

Зарегался на ноде Виталия Гейдеко и получил point 2:5064/54.44