задача:
Настроить прокси-сервер SQUID на VPS, чтобы была возможность скрыть свой реальный ip-адрес
В этой связи возникло желание настроить авторизацию для доступа к прокси-серверу по логину и паролю, запрос на ввод которых должен высветиться в окне браузера.
Опыты будем проводить над системой CentOS 6.5 :
Устанавливаем прокси-сервер squid:
yum install squid
Редактируем конфигурационный файл squid:
vi /etc/squid/squid.conf
Указываем публичное имя прокси-сервера
visible_hostname proxy.xaxatyxa.ru
, где proxy.xaxatyxa.ru — имя которое придумали
Редактируем параметры доступа к прокси-серверу
Было:
# And finally deny all other access to this proxy http_access deny all
Стало:
# And finally deny all other access to this proxy auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/internet_users auth_param basic children 5 auth_param basic realm =My PROXY serveR= auth_param basic credentialsttl 2 hours acl internet_users proxy_auth REQUIRED http_access allow internet_users http_access deny all
где,
/usr/lib64/squid/ncsa_auth — путь к программе NCSA аутентификации (пусть зависит от системы и может отличаться).
/etc/squid/internet_users — файл с логинами и паролями пользователей
children 5 — количество одновременных подключений.
realm =PROXY server= — сообщение окна приветствия
credentialsttl 2 hours — время жизни сессий подключившихся пользователей.
acl internet_users proxy_auth REQUIRED — включаем запрос логина и пароля для пользователей группы «internet_users».
http_access allow internet_users — разрешаем полный доступ пользователям группы «internet_users».
http_access deny all — остальным запрещаем доступ
Создаем файл с паролями
htpasswd -c /etc/squid/internet_users dtulyakov New password: ******* Re-type new password: ******* Adding password for user dtulyakov
где dtulyakov — имя пользователя
Ключ -с необходимо указывать только один раз, при создании файла с паролями. В последующем добавлять пользователей нужно без этого ключа. Итак, мы получили файл с примерно таким содержимым. Проверим:
cat /etc/squid/internet_users dtulyakov:Bo3pmLgswszJw
где dtulyakov — имя пользователя, а Bo3pmLcswszJw — хеш его пароля.
После того как мы завели необходимых пользователей выставим нужные права на файл «/etc/squid/internet_users».
chmod 440 /etc/squid/internet_users chown squid:squid /etc/squid/internet_users
Запускаем squid
service squid start
В IP необходимо создать правило
iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT
где eth0 — wan интерфейс
После того как мы настроили и запустили squid переходим к настройке браузера. Для примера буду использовать internet explorer
Пробуем зайти на любой сайт, и как и требовалось видим окно авторизации
Авторизуемся и перед нами открытые интернет просторы )
Возможные ошибки SQUID
1. Ошибка «WARNING: Could not determine this machines public hostname. Please configure one or set ‘visible_hostname’.» при запуске squid
Ссылки и документация по SQUID для вкуривания
- squid-cache.org/Versions/v3/3.1/manuals/ncsa_auth.html
- ru.wikipedia.org/wiki/Squid
- squid-cache.org/Doc/
- squid.h12.ru/FAQ/FAQ.html
Свежие комментарии