"Программист — это профессиональный конвертер галлюцинаций заказчика в жесткую формальную систему"
Dec 212012
 

Одной из задач, под которую я делаю сервер на Ubuntu, является его использование в качестве proxy-сервера, чтобы я всегда гарантированно мог получить доступ к любым сайтам из любых сетей, а то тут местами повадились закрывать все и вся, например, скайп в аэропорту Дубай.

Сегодня мы поставим себе самый простой proxy, не  ставя мега-задач учета трафика, управления доступом и т.п. вещей, требующихся при предоставлении доступа в интернет в достаточно крупных сетях. Это будет просто прокси, который ничего не кеширует и просто перенаправляет наши запросы в интернет.

Поскольку мега-задач мы не ставим, то и squid мы пожалуй ставить не будем. Да, это штука мега-полезная и конфигурабельная, но для моих задач все его функции не нужны. Свой выбор я остановил на 3proxy – фриварный proxy-сервер с открытым кодом, есть скомпилированные версии под Windows и исходники под *nix. В комплекте есть неплохой мануал про то, как его собрать и поставить.

Далее делаем все под юзером, если не сказано иного. Все дело происходит в консоли.

Скачиваем исходники proxy-сервера

cd ~mkdir Install
cd Install
mkdir 3proxy
cd 3proxy
wget http://www.3proxy.ru/0.6.1/3proxy-0.6.1.tgz

 

Исходники у нас. Приступим к распаковке и сборке из исходников исполняемых файлов.

Подготовка к сборке прокси-сервера

Распакуем архив с исходниками

tar -xvf 3proxy-0.6.1.tgz cd 3proxy-0.6.1 make -f Makefile.Linux cd src

В этой директории лежат скомпилированные исполняемые файлы. Скопируем их в место, откуда будем их запускать – /usr/local/etc/3proxy/bin/3proxy

mkdir /usr/local/etc/3proxy
mkdir /usr/local/etc/3proxy/bin
mkdir /usr/local/etc/3proxy/bin/3Proxy

cp 3proxy PCREPlugin.ld.so StringsPlugin.ld.so TrafficPlugin.ld.so countersutil dighosts icqpr msnpr mycrypt pop3p proxy smtpp socks tcppm udppm /usr/local/etc/3proxy/bin/3proxy

 

Теперь скопируем конфиги и скрипты автоматического запуска в нужные директории

cp ~/Install/3Proxy/3proxy-0.6.1/scripts/3proxy.cfg /usr/local/etc/3proxy/
 cp ~/Install/3Proxy/3proxy-0.6.1/scripts/rc.d/proxy.sh /etc/init.d/
 mv /etc/init.d/proxy.sh /etc/init.d/proxy

 

Устанавливаем автоматический запуск и останов сервера

sudo update-rc.d proxy

Все готово к первому запуску. Можно только конфиг поправить по своему усмотрению. Для правки я использовал редактор MC (ну не люблю я vi!)

Вот что у меня получилось

cat 3proxy.cfg
#:/usr/local/etc/3proxy$
#!/usr/local/bin/3proxy
daemon
pidfile /usr/local/etc/3proxy/3proxy.pid
#nscache 65536
#nserver 127.0.0.1

allow *
proxy -p8088
#socks
#flush
#allow admin
#admin -p8088

Как видно из конфига, у меня включен только HTTP прокси сервер – proxy, разрешены коннекты со всех адресов. Пока этого достаточно – сервер доступен только из локальной сети и доступ к нему осуществляется только через SSH-тунель. Ну вот и все – стартуем proxysudo /etc/init.d/proxy start

 

Поделиться в соц.сетях

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)