Для начала установим необходимый репозиторий epel, для этого в командной строке CentOs 7 необходимо выполнить: yum install epel-release.
Теперь можно установить 3proxy выполнив в командной строке yum install 3proxy.
Для того чтобы при перезапуске операционной системы 3proxy запускался автоматически в командной строке необходимо выполнить: systemctl enable 3proxy.
Конфигурационный файл 3proxy находится по адресу /etc/3proxy.cfg, ниже я приведу конфигурационный файл, который разрешает для 3proxy работу по socks5 с авторизацией по ip адресам.
Пояснения по конфигурационному файлу
Изначальный конфигурационный файл 3proxy достаточно объемный, при этом в нём много закомментированных параметров и просто лишних для случая, если нужно только использовать протокол socks5 и разрешить авторизацию только с определённых IP адресов. Поэтому как вариант, можно изначальный конфигурационный файл куда нибудь сохранить, а используемый(тот который находится в /etc/) изменить на тот, который я привёл выше, только нужно не забыть указать IP-адрес Вашего сервера в тех местах конфигурационного файла, где это требуется.
По умолчанию DNS серверы в конфигурационном файле 3proxy закомментированы, в конфигурационном файле выше я установли в качестве DNS серверов Google и Яндекс. А именно в качестве значений параметра nserver указаны 8.8.8.8(DNS-сервер от Google) и 77.88.8.8(DNS-сервер он Яндекс).
По умолчанию 3proxy в качестве порта socks5 использует 1080, а для HTTP и HTTPS 3128. Для того чтобы изменить порт socks5 в конфигурационном файле необходимо указать socks -p1080 -i[IP_адрес_сервера] -e[IP_адрес_сервера] замените [IP_адрес_сервера] IP-адресом вашего сервера, квадратные скобки не нужны - их необходимо убрать.
Параметр auth iponly необходим если Вы хотите разрешить использовать 3proxy только определённым IP адресам, изначально в конфигурационном файле
В следующей строке указан параметр allow и 3 IP, адреса. Замените их на IP адреса с которых разрешено использовать 3proxy. Вы можете указать ещё IP адреса, продолжая писать из через запятую.
Поскольку я предпочитаю использовать proxy протокол socks5, в приведённом конфигурационном файле закомментирован параметр proxy, именно он отвечает за работу HTTP и HTTPS протоколов proxy. Если Вам нужны эти протоколы уберите комментарий с этого параметра, в -p Вы можете указать какой порт будет использоваться для HTTP и HTTPS proxy, а так же укажите IP-адрес Вашего сервера без квадратных скобок.
Добавление правил firewall
Для портов которые Вы используете в 3proxy необходимо создать правила firewall. Для этого в командной строке сервера необходимо выполнить(разумеется замените номера портов на те которые используете Вы):
firewall-cmd --permanent --add-port=1080/tcp
Если Вы используете HTTP и HTTPS прокси то так же выполнить команду: firewall-cmd --permanent --add-port=3128/tcp
firewall-cmd --reload
Старт, остановка и перезапуск сервера 3proxy
Для запуска 3proxy необходимо выполнить команду: systemctl stop 3proxy
Для остановки 3proxy выполнить команду: systemctl stop 3proxy
Для перезапуска 3proxy используйте команду: systemctl restart 3proxy
Так же можно посмотреть текущий статус выполнив команду: systemctl status 3proxy