Одной из задач, под которую я делаю сервер на 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
Поделиться в соц.сетях