траблы с установкой openvpn и Debian

Posted in Новости on 4 марта, 2010 by admin

приключилась история ставить openvpn
Нужно : поднять openvpn для анонимной работы в Internet
ставил из репо

переносите из /usr/share (В данном случае /usr/share/doc/openvpn)папку easy-rsa в /etc/openvpn

aptitude install openvpn
nano /etc/openvpn/easy-rsa/2.0/vars :

export KEY_COUNTRY=RU
export KEY_PROVINCE=MO
export KEY_CITY=MOSCOW
export KEY_ORG=Firends
export KEY_EMAIL= mymail@domain.org

можете править на свое усмотрение

cd /etc/openvpn/easy-rsa/2.0/
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh

nano /etc/openvpn/server.conf

server.conf :

port 1194
proto udp
dev tun0
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key # This file should be kept secret
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 0
local <внешний IP сервера>
push «redirect-gateway»
tls-server
push «route 10.8.0.0 255.255.255.0»
user nobody
group nogroup

!!ВАЖНО!!
симпл конфиг находится по адресу /usr/share/openvpn/
можно скопировать его и просто менять данные
выкиньте лишний мусор типа описания функций. ИМХО при правке все разбредается и не сконцентрироваться.
по умолчанию стоит «group nobody». Поверьте, деба не поймет)) следует изменить на nogroup
для работы нужен tun/tap модуль так что и его нужно установить

Создаем конфиги для клиентов. Имена файлов соостветствуют Common Name
mkdir /etc/openvpn/ccd
nano client1 :

ifconfig-push 10.8.0.6 255.255.255.0

Создаем ключи для клиентов
cd /etc/openvpn/easy-rsa/2.0/
source ./vars
./build-key client1

Большинство параметров подхватятся из файла vars. Только параметр Common Name надо указать явно, и его значение должно быть таким же, как и параметр вызова скрипта build-key

Конфигурация клиента client.ovpn :

client
dev tun0
proto udp
port 1194
remote
tls-client
dh dh1024.pem
ca ca.crt
cert client1.crt
key client1.key
verb 3
comp-lzo
redirect-gateway def1
nobind
ns-cert-type server
resolv-retry infinite

устанавливаем себе openvpn-gui
заходим в папку config
создаем client.ovpn
копируем с сервера ключи dh1024.pem , ca.crt , client1.crt , client1.key в эту же папку.

правила которые будем добавлять в iptables на сервере :

echo 1 > /proc/sys/net/ipv4/ip_forward Включаем форвардинг

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT —to-source <внешний IP сервера>
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -d 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -p tcp —tcp-flags SYN,RST SYN -j TCPMSS —clamp-mss-to-pmtu

Для Vista добаляем в конфиг клиента :

route-method exe
route-delay 2

и работаете)

вообщем то и все.=)

Tags: , , ,

установка socks5 сервера на linux (проверено на Debian)

Posted in Новости on 4 марта, 2010 by admin

Передо мной поставилась задача поднять прокси socks5 сервер на Debian, причем сложность заключалась в поднятии сокса на 2 IP с авторизацией. На ум сразу пришел squid потому что только недавно его ставил, память свежая да и в конфигах подразобрался. Ан нет! Оказывается squid ни в какой форме не поддерживает socks, что я выяснил на офф сайте, хотя по уверению многих его нужно просто пересобрать. Стал искать и сначала остановился на Dante, однако мне подсказали что он скажем не очень хорошо отрабатывает и пришлось искать альтернативу. Самое интересное что при всем нынешнем разнообразии всякого рода стаффа нет приличных proxy-серверов с поддержкой socks5. Вспонил 3proxy которую так недавно сравнивал. Ну чтож 3proxy дак 3proxy.
Потопал на сайт и скачал свежую версию. После разархивирования начался процесс компиляции который через 4 часа пошел в rm -rf. Нормальных аналогов не нашел и решил все-таки добить его.
На одном сайте нашел старенькую версию и раскрутил ее.
1 — Разархивирование
тут все просто

tar -zxvf 3proxy-0.5.3j
cd 3proxy*

2 — Компиляция
Эта версия как и все остальные не обошлась без приколов с компилированием но установив все необходимое наконец то перестало выплевывать ерроры и осталась только пачка варнов на которую я решил забить. Компилировать будем Makefile.unix из флагов линковщика которого нужно удалить «-DNOODBC». итак

make -f Makefile.unix

3 — Настройка
Переходим в образовавшуюся папку src и любуемся на полученный продукт. Теперь нужно создать конфиг с расширением cfg

mk proxy.cfg

Далее начинается момент конфигурирования. У нашего нового прокси действует следующая схема :

—МЫ——>internal_interface=3proxy-server=external_interface<——WWW——

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

nano proxy.cfg

##ОБЩИЕ НАСТРОЙКИ

#сразу бекграундим процесс
daemon
#убираем логи(хотя можете и оставить=) Все логи хранятся в txt формате
logs /dev/null

### юзеры. Флаг CL говорит о том что пароль лежит и будет браться нешифрованным
# за другими флагами топаем на офф сайт
users login1:CL:password1
users login2:CL:password2

## socks server

#задаем авторизацию по паролю
# за другими флагами топаем на офф сайт
auth strong

#задаем демон и порт
socks -p8989
#задаем входящий/исходящий интерфейс сервера
internal ip.ad.dr.es
external ip.ad.dr.es

#аналогично настраивается proxy server
#все в принципе сервер готов к эксплуатации

./3proxy proxy.conf — старт демона
killall 3proxy — остановка

Но нам нужно 2 внешних и два внутренних интерфейса. Вот тут то и вышла загвоздка.
У автора на сайте указана следующая комбинация :

allow login
parent 1000 http ip.ad.dr.es 0
allow login2
parent 1000 http ip.ad.dr.es 0

Но она у меня ни под каким видом и ни при каких настройках НЕ ЗАРАБОТАЛА
Думаем далее. Нужно 2 интерфейса? Будет 2 сервера. копируем 3proxy получается 3proxy1.
Второй хотя и запускается с измененными параметрами но работает криво и некрасиво и вообще никак. далее увидел вот такой вот тип запуска отдельных демонов из папки src :
./proxy -i -e -p
./socks -i -e -p

i — internal
e — external
p — port
но была сразу припечатка что такой метод не поддерживает никакой авторизации. И правда нужных флагов из ФАКА не нашлось. Далее я заметил, что все вписываемые параметры практически идентичны флагам запуска из строки и каково же было мое удивление когда сначала проверив вот такой вот метод как положено
./socks -iIP.AD.DR.ES -eIP.AD.DR.ES -p8989

а потом накатав по быстрому конфиг :

daemon
log /dev/null/
socks -iIP.AD.DR.ES -eIP.AD.DR.ES -p8989

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

users login:CL:password
daemon
auth strong

socks -iIP.AD.DR.ES -eIP.AD.DR.ES -p8989

в оба конфига все заработало.
ЗЫ На эту «базовую настройку» я потратил 4 дня (по 13 рабочих часов)

Tags: , ,

установка zend optimizer

Posted in Новости on 4 марта, 2010 by admin

http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

начинаем :
cd /home/
wget <ссылка с правильной архитектурой из приведенных выше>
tar -zxvf Zend*
cd Zend*/data
выбираете свою версию php (выбор из 4.2.x 4.3.x 4.4.x 5.0.x 5.1.x 5.2.x)
копируете оттуда нужный модуль в /opt/zend/ (так проще) (если нет пути то создать)
и прописываете
для Debian в /etc/php5/conf.d/zend.ini «zend_extension=/opt/zend/ZendOptimizer.so»
для CentOS в /etc/php.ini «zend_extension=/opt/zend/ZendOptimizer.so»

Вот и все. Теперь проверяем php -v . Вуаля!

Tags: , ,

squid и 3proxy сравнение

Posted in Новости on 4 марта, 2010 by admin

Решил на досуге сравнить 2 известных прокси сервера 3proxy и squid и выявить плюсы и минусы.

Итак плюсы 3proxy :

— во первых есть русскоязычный сайт (http://3proxy.ru) с самой что ни на есть полной документацией по программе
— есть англоязычная версия этой программы так что ее работоспособность проверена не только любителями халявы, но и остальными фракциями=)
— кроссплатформенность 3proxy (UNIX/LINUX , Windows 95/98/ME/NT/2000/XP)
— стоит отметить легковесность программы (нескомпилированный дистр 469кб)
— простота настройки (очень подробный фак)
— веб админка
— протоколирование ошибок делает настройку рабочего дистра легче

Минусы 3proxy :

— отсутствует в репо (проверял на Debian Lenny) Выдержка с офф сайта : «В настоящее время нет постоянного мэйнтейнера порта 3proxy для многих дистрибутивов.»
— поставляется для UNIX/Linux в исходниках (компиляция требует дополнительных навыков)
— все таки адаптация больше идет в сторону Win осей

Плюсы squid :

— за счет распространенности в интернете можно найти много статей с русской документацией
— о squid не знает лишь ленивый, что доказывает распространенность программы и многочисленные посты на форумах так же показывают, что используется этот сервер крайне плотно
— реализована кроссплатформенность под все используемые в работе системы
— для не Win систем качается из репо, что является плюсом (не требует компиляции)
— найдена веб админка http://stc.nixdev.org/ судя из демо, очень очень неплохая
— адаптировано под иксы, что мне очень нравится))
— протоколирование ошибок делает настройку рабочего дистра легче
— громоздкость конфига заменяет гибкость настроек

Минусы squid :

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

Итог :

Оба сервера поддерживают все распространенные методы проксирования и при должной конфигурации будут работать стабильно и отвечать поставленным требованиям (учет трафика, учет пользователей, анонимность). Стоит заметить, что squid более ориентирован на nix публику, чем 3proxy, соответственно более востребован в качестве прокси сервера на nix серверах, коих больше нежели остальных. Присутствие в репо делает squid более привлекательным, однако в простоте конфигурирования он уступает 3proxy. При поиске информации в интернете я определил сообщество, которое ставит squid в больших организациях и обширных локальных сетях(хотя они скорее MAN чем LAN), что доказывает, что squid внедряется больше чем 3proxy, для выполнения многогранных задач, требующих тонкой настройки, и больших ресурсов.

Личный итог : Более понравился squid, несмотря ни на что.

PS Оценка чисто субъективная и основана на личном опыте и поиску информации при подготовке статьи. Я не пытаюсь разводить холиваров между сисадминами nix и win а лишь высказываю собственное мнение)

Tags: , , ,

проблемный апдейт php до 5.2.x CentOS 5

Posted in Новости on 4 марта, 2010 by admin

появилась потребность поставить а точнее обновить php c 5.1.6 до 5.2.6. Использовал хороший ман по апу :

Создаем файл:
vi /etc/yum.repos.d/CentOS-Testing.repo

Со следующим контентом:

# CentOS-Testing:
# !!!! CAUTION !!!!
# This repository is a proving grounds for packages on their way to CentOSPlus and CentOS Extras.
# They may or may not replace core CentOS packages, and are not guaranteed to function properly.
# These packages build and install, but are waiting for feedback from testers as to
# functionality and stability. Packages in this repository will come and go during the
# development period, so it should not be left enabled or used on production systems without due
# consideration.

[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
includepkgs=php*

Обновляемся:

yum —enablerepo=c5-testing update php*

Источник : http://phpsuxx.blogspot.com/2009/10/php-52-centos5.html

но вот в чем незадача. При апдейте php обновлялся до 5.2.9 с которой работать невозможно (постоянные грабли, хотя может это только у меня=)) упорно не хотел ставиться 5.2.6. Сделав много откатов до старых версий и еще раз уже с официального мана http://wiki.centos.org/HowTos/PHP_5.1_To_5.2 опять получил 5.2.9. После этого окончательно разочаровавшись слив все необходимое отсюда http://dev.centos.org/centos/5/testing/x86_64/ в /root/ решил попробовать еще раз обновить и вуаля стоит 5.2.6. Странно конечно но работает)

PS До сих пор не могу найти рабочий php-mcrypt-5.2.6-2 (php 5.2.6-2 ставится при апдейте), а в хранилище его нет.

Tags: ,