Устанавливаем репозиторий EPEL.
yum -y install epel-release
Устанавливаем прокси сервер 3proxy.
yum -y install 3proxy
После установки открываем файл конфигурации любым текстовым редактором. Я буду использовать редактор Nano, Вы можете использовать свой.
nano /etc/3proxy.cfg
Минимальные настройки которые необходимо сделать для запуска нашего прокси сервера.
Ищем блок с dns:
# We can configure nservers to avoid unsafe gethostbyname() usage #nserver 10.1.2.1 #nserver 10.2.2.2
Добавляем ниже записи dns, я добавил dns от Cloudflare, Вы можете добавить любые свои.
nserver 1.1.1.1 nserver 1.0.0.1
В результате получаем блок такого вида.
# We can configure nservers to avoid unsafe gethostbyname() usage #nserver 10.1.2.1 #nserver 10.2.2.2 nserver 1.1.1.1 nserver 1.0.0.1
Теперь ищем строку создания пользователей.
users 3APA3A:CL:3apa3a "test:CR:$1$qwer$CHFTUFGqkjue9HyhcMHEe1"
Пользователей можно задавать как в одну строчку так и делать несколько строчек users, например:
users 3APA3A:CL:3apa3a users test:CR:$1$qwer$CHFTUFGqkjue9HyhcMHEe1
Строчка из себя представляет следующее:
users логин:ТИП_ПАРОЛЯ:пароль
Типы пароля
CL — пароль в открытом тексте
CR — пароль в формате crypt() (только MD5)
NT — пароль в формате NT в шестнадцатеричной кодировке
NT и crypt пароли могут быть использованы для импорта учетных записей из Windows/Samba и Unix соответственно (для Windows можно использовать утилиты семейства pwdump).
Ищем строчку в которой необходимо указать адрес внешнего интерфейса.
#external 10.1.1.1 external 0.0.0.0
Далее будет строчка где необходимо указать адрес внутреннего интерфейса.
#internal 192.168.1.1 internal 192.168.1.1
Если у вас 1 сетевой интерфейс, например на VPS/VDS сервере, то в обоих строчках необходимо указать адрес данного единственного интерфейса.
Дальше находим блок где указывается тип авторизации и пользователи для SOCKS прокси:
auth strong flush allow 3APA3A,test maxconn 20 socks # for socks we will use password authentication and different access control - # we flush previously configured ACL list and create new one to allow users # test and 3APA3A to connect from any location
Тип авторизации устанавливается командой auth в файле конфигурации.
auth none
Отсутствие какой-либо авторизации. Списки доступа не проверяются.
auth iponly
Будет идти проверка по списку доступа с использованием IP клиента, IP и номера порта назначения.
auth nbname
Перед проверкой по списком доступа будет произведена попытка получить NetBIOS имя клиента. Для этого используется NetBIOS код службы messager (0x03). Если имя определить не удалось (служба messager для Windows NT/2000/XP или WinPopUP для 95/98/ME не запущена), то имя будет считаться пустым. Далее следует проверка по спискам доступа. Данный тип авторизации не зависит от платформы сервера (т.е. прокси сервер, запущенный под Unix, сможет определять NetBIOS имена). Его рекомендуется использовать в однородных сетях, где у всех клиентов установлена Windows NT/2000/XP и пользователи не имеют доступа к привелегированным учетным записям. Этот вид авторизации не является надежным.
auth strong
Проверяется имя и пароль, переданные пользователем при подключении к прокси. Данный вид авторизации работает только с proxy и socks. Необходимо задание списка пользователей (см Как создать список пользователей). Соединения от неизвестных пользователей не принимаются. После проверки имени пользвоателя и пароля происходит проверка списков доступа.
Для разных служб можно установить различные типы авторизации, например:
auth none pop3p auth iponly proxy auth strong socks
не накладывает ограничений на использование POP3 Proxy, производит проверку по спискам доступа для пользователей HTTP Proxy и требует авторизации с именем и паролем для SOCKS.
С версии 0.6 возможно использовать двойную авторизацию, например:
auth iponly strong allow * * 192.168.0.0/16 allow user1,user2 proxy
будет использовать авторизацию только в том случае, если не удалось пропустить пользователя с авторизаций iponly, т.е. для доступа к ресурсам 192.168.0.0/16 авторизация не требуется.
приводим блок с авторизацией к виду:
auth ТИП_АВТОРИЗАЦИИ //Указываем тип авторизации flush allow ИМЯ_ПОЛЬЗОВАТЕЛЯ_1,ИМЯ_ПОЛЬЗОВАТЕЛЯ_2 //Указываем пользователей которым разрешен доступ если вы выбрали тип авторизации STRONG maxconn 20 //количество соединений socks # for socks we will use password authentication and different access control - # we flush previously configured ACL list and create new one to allow users # test and 3APA3A to connect from any location
Изменение данных настроек достаточно для запуска Вашего http/https/socks прокси сервера.
Теперь можно запускать наш прокси сервер.
systemctl start 3proxy
Настройка Firewall
Открываем необходимые порты.
firewall-cmd --zone=public --add-port=3128/tcp --permanent firewall-cmd --zone=public --add-port=3128/udp --permanent
Применение изменений.
firewall-cmd --reload
Помогло, благодарю Вас !
Конечно, спасибо, но как достали запретом копировать текс со страницы, особенно когда выкладываете команды, которые надо скопировать и вставить в консоль! В итоге я просто отключаю javascript для таких сайтов. Подозреваю, что вы не этого хотели )
Спасибо за комментарий.
В дальнейшем будем использовать блоки с возможностью копирования необходимого текста/кода для удобства пользователей.
в итоге забили на пользователей и не стали использовать блоки для копирования))))
Спасибо! Это работает! Допустим у меня VPS и на нем есть два IP, как я могу использовать второй?