войти зарегистрироваться

Системное администрированиеIPv6 шлюз для локальной сети

Для проверки готовности локальной офисной сети к возможности перехода на протокол IPv6 мною был организован испытательный стенд на основе сервера с FreeBSD, являющийся шлюзом для доступа в IPv6 интернет и сервером популярных сетевых ресурсов (WEB, eMail, FTP). Выбор FreeBSD обусловлен наличием уже существующей виртуальной машины с этой системой. Далее я немного расскажу как всё было настроено (не в даваясь в теоретические подробности построения и адресации IPv6) и попытаюсь обрисовать ситуацию о готовности существующих систем и программ к использованию с IPv6 на примере тех сервисов, которые мне удалось протестировать, как со стороны клиента, так и со стороны сервера. Эксперименты активно проводились в период месяц «до» и месяц «после» «Дня IPv6» 8 июня 2011, поэтому сейчас ситуация с поддержкой в некоторых программах может измениться в лучшую сторону.

Системное администрированиеНастройка прокси на прошивке Tomato из песочницы

Начну, пожалуй, с главного — для чего, собственно, нужен мне лично прокси-сервер. У нашего провайдера (думаю как и у всех прочих) есть внутренние ресурсы, доступ на которые возможен только с компьютера, подключенного к этому самому провайдеру. Ранее, я использовал схему: белый IP у компьютера, прокси-сервер (CCProxy) и не выключал компьютер. Идея о том, что на роутере можно поставить прокси-сервер витала давно, так как на роутерах стоит Linux, вопрос был лишь в реализации. Squid слишком тяжел для данной задачи, ведь мне нужно простое и практичное решение и вот недавно, я наткнулся на одну программу — srelay, которая осуществляет «проброс» трафика через HTTP и SOCKS прокси.

Linux для всехИспользование HTTP proxy и SOCKS в Linux

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

curl: передача данных через proxy


curl имеет полноценную поддержку как HTTP proxy так и SOCKS.

Для тестирования возможно использовать proxy сервера из бесплатных списков (socks — sockslist.net, и HTTP proxy — proxyhttp.net). Проверка IP адреса будет производиться с помощью ресурса check-host.net

# Проверить HTTP proxy
curl --proxy 11.22.33.44:5555 check-host.net/ip
# Тоже самое, но если для HTTP proxy требуется авторизация
curl --proxy 11.22.33.44:5555 -U username:password check-host.net/ip
# Проверить socks4
curl --socks4 11.22.33.44:5555 check-host.net/ip
# Проверить socks5
curl --socks5 11.22.33.44:5555 check-host.net/ip
# Тоже самое, только преобразование имен идет также через SOCKS
# (подробнее о преобразовании имен можно прочитать ниже в подразделе "DNS запросы через proxy")
curl --socks5-hostname 11.22.33.44:5555 check-host.net/ip


Сетевые технологииПростой NAT traversal на основе OpenVPN и кое-что ещё. Часть 2

1. Арендуем… что и как?

Ну что же, продолжим. Как говорится, «не все серверы одинаково полезны». Кроме географической расположенности площадки, которая будет влиять на задержку прохождения транслируемых пакетов, самая главная характеристика покупаемого продукта – это система виртуализации.
Скажу честно – не люблю я OpenVZ, да, они дешевле, но на них чувствуешь себя, как в гостях – то низя, это не трогай, а вон то заработает, только если слёзно умолять хозяев дома, они ещё и не разрешат. А по сему, предпочитаю сервера на XEN или KVM. Вот тут-то всё как дома! Работает всё, что надо, виртуализация не чувствуется вообще! Хочешь – свопа добавь из своего дискового пространства, все модули ядра есть, его даже можно пересобрать! Виртуальные сетевые карты всех мастей, все цепочки iptables… ВСЁ!
Из дистрибутивов рекомендую Debian, ну или Ubuntu Server.

Системное администрированиеНастройка прокси-сервера с помощью Squid

Для того, чтобы настроить прокси-сервер Squid под систему Linux или другую (существуют сборки под Windows), необходимо знание всего нескольких параметров. На самом деле Squid очень гибкий и мощный, в нем используется очень много параметров для настройки. Все их можно изучить из официального руководства по настройке Squid. В этой статье я расскажу как быстро и, главное, просто настроить елементарные функции прокси-серера.

Самое простое что можно сделать после установки Squid — это разрешить (или запретить) доступ в Интернет пользователям нашей локальной сети. Для этого существует два параметра: http_port и http_access. Первый используется для указания порта по которому пользователи с запросами будут обращаться к прокси-серверу. Стандартно используется порт 3128, но при желании можно указать любой другой свободный порт. Формат обозначения такой:

http_port ip_address:port

RubyEventMachine прокси демон из песочницы

Несмотря на то, что EventMachine достаточно удобный фреймворк для написания высокопроизводительных и хорошо масштабирующихся сетевых приложений, интернет не радует обилием примеров его использования и тестирования. А те примеры, которые существуют, например, на хабре, не будут корректно работать, так как не учитывают особенности передачи данных (почему-то не учитывают, что данные, в общем случае, передаются по частям). Собственно, данная статья предназначена для тех, кто ознакомился с базовыми принципами работы EM, например, в статье Ruby и EventMachine , и хочет узнать как на его основе написать что-нибудь посложнее и как затем тестировать код, полученный в результате.

WordpressКак научить Wordpress движок дружить с Proxy? Легко!

Я занимаюсь разработкой локального корпоративного сайта работающего на Wordpress. В компании нет прямого доступа в Интернет, все работают через прокси-сервер.

Для автоматического обновления ядра и плагинов (и некоторых других функций), во избежание, сообщения «WP HTTP Error: couldn't connect to host» или даже 500 ошибки на IIS 7 (Windows 2008), у меня появилась необходимость, научить Wordpress подружится с прокси.

Поиск по Интернету ничего не дал. Естественно тот факт что я чего то не нашел, не означает что его нет в Интернете. По крайней мере, нет описания в Codex. И мне пришлось заглянуть в код движка, и как выяснилось, там эта функция предусмотрена и работает себе отлично. Чем я и спешу с вами поделиться.

Решение


Для этого необходимо добавить по меньшей мере две строки в любое место файла ./wp-config.php

define(WP_PROXY_HOST, 'localhost'); // ваш адрес
define(WP_PROXY_PORT, 3128); // ваш порт


И еще две, если прокси требует авторизацию:

define(WP_PROXY_USERNAME, 'username');
define(WP_PROXY_PASSWORD, 'password');


Вот и все. Проверено на версиях 3.1+.

АлгоритмыFast flux DNS или новые технологии киберпреступности из песочницы

С одной из наиболее активных угроз мы сталкиваемся сегодня в интернете — это кибер-преступность.Все чаще преступники разрабатывают более совершенные средства получения прибыли от онлайновой преступной деятельности. Эта статья демонстрирует рост популярности, сложного метода, называемый Fast-Flux сети, который, как мы наблюдаем, находит все более широкое применение в «дикой природе». Fast-Flux сети — сети взломанных компьютерных систем с публичными записями DNS, которые постоянно меняются, в некоторых случаях каждые 3 минуты. Постоянно меняющаяся архитектура, делает гораздо более трудным слежение за преступной деятельностью и закрытые оной.

.NETИзмеряем производительность с помощью DynamicObject

С динамическими типами данных сложилась ситуация, схожая с АОП. А именно – полезных примеров применения этой техники можно пересчитать по пальцам, и они достойны коллекционирования (одна из коллекций по АОП собрана mezastel здесь). Сегодня, я надеюсь, мы добавим ещё пару таких примеров.

JavaScriptES5 Harmony Proxy — меняем семантику JavaScript внутри самого JavaScript

Прокси — это новые объекты JavaScript для которых программист должен определить своё поведение. Стандартное поведение всех объектов определено в движке JavaScript, который чаще всего написан на C++. Прокси позволяют программисту определить практически любое поведение объекта JavaScript, они полезны для написания базовых объектов или оберток функций или для создания абстракций виртуальных объектов и предоставляют API для мета-программирования. Сейчас Прокси не входит в стандарт, но его стандартизация запланирована в ECMAScript Harmony. Чтобы избежать путаницы уточню, что эти Прокси не имеют ничего общего с прокси серверами.

Где их можно использовать


1. Общие промежуточные абстракции
2. Создание виртуальных объектов: обертки существующих объектов, удаленные(от слова далекий) объекты, ленивое создание объектов (Пример ORM — Ruby ActiveRecord, Groovy GORM)
3. Прозрачное ведение логов, трассировки, профилирования
4. Внедрение предметно-ориентированных языков
5. Динамический перехват несуществующих методов, создание отсутствующих методов (__noSuchMethod__)
6. База для специфичных итераторов