Tag Archives: linux

PPTP-клиент за NAT на основе Linux-сервера

Небольшая локальная сеть на несколько компьютеров получала доступ в интернет через сервер на базе CentOS 6 – обычным NAT маскарадингом через iptables. Обнаружилось, что в такой конфигурации по умолчанию невозможно поднять VPN-туннель PPTP (протокол – GRE) с компьютеров, находящихся за таким шлюзом. Continue reading

Posted in Сеть и интернет | Tagged , , | 1 Comment

icecast relay и редиректы

Сервер icecast может использоваться не только для организации вещания новых сетевых медиапотоков, но и для ретрансляции уже существующих. Источник исходного потока при этом может являться распределенной структурой других icecast-подобных серверов, в которых для распределения нагрузки на головном сервере может использоваться простой http-редирект (код 302) на дополнительные узлы.

Хотя relay-функциональность icecast и позволяет разбирать этот код и реагировать на него соответствующим образом, работает это не всегда. Continue reading

Posted in Сеть и интернет | Tagged , , | 1 Comment

Резервное копирование в WebDav на OpenWrt

Рассмотрим возможность создания резервного копирования в облачное хранилище WebDav на примере Яндекс.Диска при помощи виртуальной файловой системы davfs2, утилиты cadaver и небольшого PHP-скрипта. Continue reading

Posted in Сеть и интернет | Tagged , , | 4 Comments

PHP, SQLite и регистронезависимость

Несмотря на объявленную поддержку UTF, встраиваемая СУБД SQLite3 по умолчанию не умеет делать регистронезависимую сортировку, сравнение и операции по преобразованию строк над буквами, не входящими в английский алфавит. Для решения этой проблемы разработчики SQLite рекомендуют использовать расширение ICU, с подключением которого станет возможным выбирать различные кодировки и иметь возможность пользоваться регистронезависимыми операциями сравнения любых символов кроме латиницы. Вот только описаний, как это сделать для php-mod-sqlite3, найти толком нельзя, да и объем ICU превышает размер самой библиотеки SQLite! Для embedded-применений – например, в OpenWrt – такое не годится. Continue reading

Posted in Сеть и интернет | Tagged , , | Leave a comment

Автоматизация загрузки файлов на WebDav

Ранее на страницах этого сайта рассматривалась возможность монтирования облачных WebDav-хранилищ при помощи fuse-системы davfs2. Одним из ее недостатков был тот факт, что при любых операциях над файлами они неминуемо копировались сначала во временную директорию, а лишь затем перемещались в целевой каталог.

Альтернативой davfs2 для прямого получения или загрузки файлов в облачное хранилище является утилита cadaver. Однако, она предполагает интерактивное взаимодействие с пользователем, и использование ее в автоматизированных скриптах не представляется возможным. Обойти эту проблему можно при помощи утилиты empty, аналога expect для создания и взаимодействия с псевдотерминалами. Continue reading

Posted in Сеть и интернет | Tagged , , , | Leave a comment

empty-expect и сборка под архитектуру PowerPC

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

Для исправления ситуации существуют немногочисленные программы, позволяющие создавать своего рода псевдотерминалы, отслеживающие появление на консоли того или иного текста и позволяющие задать текст, автоматически отправляемый в ответ на данный текст. Типовым примером является утилита expect, требующая для работы интерпретатора tcl, или значительно более легкая и значительно менее известная утилита empty, заметно более подходящая для OpenWrt-роутеров. Continue reading

Posted in Сеть и интернет | Tagged , , | Leave a comment

Archlinux, ntpd и VMware Player

Одно время мне никак не удавалось заставить работающую внутри VMware систему типа Arch заставить показывать корректное время сразу после загрузки. В системе был указан корректный московский часовой пояс и был запущен и настроен ntpd. Вот только, по всей видимости, VMware подставляет виртуальной машине системное время под видом UTC, и в итоге после запуска мы получаем в виртуалке время, сдвинутое на +4 часа. А ntpd не торопился его выправлять, в итоге получить точное время можно было лишь спустя 5-10 минут после запуска системы. Continue reading

Posted in Сеть и интернет | Tagged , , , | Leave a comment

Борьба с DHCPINFORM в dnsmasq

В отдельных ситуациях на OpenWrt (и других Linux-системах) с установленным dnsmasq, функционирующем в роли DHCP-сервера, можно обнаружить флуд сообщениями DHCPINFORM в системном логе:

May 16 15:01:20 OpenWrt daemon.info dnsmasq-dhcp[2451]: DHCPINFORM(br-lan) 172.16.10.30 90:e6:ba:dc:2e:c3
May 16 15:01:20 OpenWrt daemon.info dnsmasq-dhcp[2451]: DHCPACK(br-lan) 172.16.10.30 90:e6:ba:dc:2e:c3 avalanche

Происходит это из-за того, что у встроенного в ОС Windows 7 (и некоторых других творений Microsoft) DHCP-клиента есть маниакальное желание получить настройки прокси-серверов с DHCP, и он продолжает эти попытки и в том случае, когда DHCP никак не реагирует на подобные запросы. В стандартной конфигурации dnsmasq не рассылает никакой информации о прокси-серверах, и Windows-системы продолжают запрашивать эти данные снова, и снова, и снова… и снова.

Заставить их заткнуться можно простым добавлением опции в /etc/dnsmasq.conf:

dhcp-option=252,"\n"

Эта опция недвусмысленно дает понять Windows-системам, что здесь НЕТ никаких прокси-серверов, и что пора уже перестать о них спрашивать.

Posted in Сеть и интернет | Tagged , , | 3 Comments

Обновление пакетов OpenWrt

Обновлен ряд поддерживаемых проектом erinome.net пакетов для OpenWrt, которые отсутствуют в официальных репозиториях, либо существенно устарели в оных.

Continue reading

Posted in Сеть и интернет | Tagged , , | Leave a comment

Настройка screen в OpenWrt

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

Posted in Сеть и интернет | Tagged , , | Leave a comment