Знания Прости инструкции за работа с услугата Profitserver
основен Знания 3прокси конфигурация на CentOS/ArchLinux

3прокси конфигурация на CentOS/ArchLinux


В тази статия ще покажем 3proxy конфигурация на специален сървър, захранван от операционната система ArchLinux/CentOS. 3proxy е един от най-подходящите и функционални инструменти. Поддържа различни видове протоколи: HTTP, HTTPS, FTP, SOCKS и други. Това ще ви помогне да настроите свой собствен прокси сървър за няколко минути.

Статията съдържа инструкции стъпка по стъпка за инсталирането на помощната програма и нейната по-нататъшна конфигурация. Разглеждат се проблеми като инсталиране от официален източник, настройка на конфигурационни файлове, отваряне на нестандартни портове, както и са описани често срещани грешки и са дадени практически препоръки за разрешаването им. Преди стартиране трябва да поръчате a VPS or специален сървър захранван от операционната система CentOS или ArchLinux. Всички действия в примера ще бъдат извършени на специален сървър, захранван от операционната система CentOS7 с един специален статичен публичен IP адрес.

Инсталация

Стъпка

3proxy се инсталира директно от изходния код. GCC ще се използва като компилатор. Свързваме се със сървъра като root (superuser) и инсталираме компилатора.

yum install gcc

Стъпка

Сега е необходимо да изтеглите изходните файлове на 3proxy. Можете да направите това, като отидете на официален сайт и копиране на връзката към текущата версия:

Инсталиране на помощната програма

Ако е необходима архивирана версия, можете също да изтеглите връзката директно от GitHub:

Инсталиране на 3proxy от Github

Към момента на писане на тази статия текущата версия е 0.9.3. Изтеглете го и веднага го разопаковайте:

wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz

Стъпка

Отидете в директорията с разопакования проект и компилирайте:

cd 3proxy-0.9.3/
make -f Makefile.Linux

Стъпка

Създаваме директории и копираме файла 3proxy в /usr/bin:

mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/

Стъпка

Създаваме потребител за работа с каталога. В този случай потребителското име е 3прокси потребител:

useradd -s /usr/sbin/nologin -U -M -r 3proxyuser

Предоставяме правата за работа с директории на създадения потребител:

chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy

Сега нека създадем конфигурационен файл с помощта на командата:

touch /etc/3proxy/3proxy.cfg

Ако е необходимо, можете да зададете разрешения за конфигурационния файл за root потребителя. Тази стъпка не е задължителна, но ще добави защита:

chmod 600 /etc/3proxy/3proxy.cfg

3прокси конфигурация

Стъпка

Необходимо е да попълните правилно конфигурационния файл, който е създаден по-рано. Първо разберете uid и gid на потребителя чрез командата:

id 3proxyuser

В нашия случай това са следните стойности:

uid и gid

За да попълните конфигурационния файл, можете да вземете готови конфигурации или да използвате документация на официалния сайт. Също така файл с пример вече е предварително инсталиран по подразбиране; можете да го намерите по пътя: /cfg/3proxy.cfg.sample

Като пример ще разгледаме 2 вида конфигурация: със и без дърводобив. Всеки ред ще бъде придружен от коментари (те са маркирани със символа “#”).

Това е пример за готова конфигурация без регистриране:

# We specify the user's data that we found out in the previous command
setgid 995
setuid 997

# Type the NS-servers. It is possible to clarify your own servers at /etc/resolv.conf
nserver 1.1.1.1
nserver 8.8.8.8

# Cache size
nscache 65536

# Timeouts
timeouts 1 5 30 60 180 1800 15 60

# Authorization of users by login/password (if required). You may not to use it or specify the path to the file in which authorization data is stored, for example, users $/etc/3proxy/.authfile

# If you insert a password in md5 format, replace “CL” with “CR”, as indicated in the example. You can use 2 methods at the same time.
auth cache strong
users "userproxy:CL:passwordproxy"
users "userproxy2:CR:b89097a7ad0b94f13b3c313ae76699d4 "

# Launch mode. Daemon only.
Daemon

# We write the port through which the http connection will take place. The example shows the standard one. To establish a socks connection, use the command specified in the second line, the port is also standard.
proxy -p3128			
socks -p1080

Разгледахме опцията за конфигурационен файл без логване. Сега ще създадем конфигурационен файл с регистриране и оторизация на потребителя; ще се използва по-късно по време на настройката на сървъра.

Уверете се, че предоставяте информация за оторизация, тъй като сървърът може да бъде открит дори на нестандартни портове.

# Configuring the server to launch from the userproxy user and the passwordproxy password.
users userproxy:CL:passwordproxy

# Specify the user's uid and gid
setgid 995
setuid 997

# Nameservers (NS-servers)
nserver 1.1.1.1
nserver 8.8.8.8

# Timeouts
timeouts 1 5 30 60 180 1800 15 60

# Cache size (standard)
nscache 65536

# Indicate the launch mode
daemon

# We install http proxy on a non-standard 50001 port. If there are several IP addresses on the server, be sure to specify a specific address for connecting the network. For example, "-e91.150.32.146". The argument "i" is a local address.
proxy –p50001	

# In a same way as socks proxy, we conduct the installation on a 50002 port.
socks –p50002			

# Path to the directory with logs, logs format and proxy rotation
Log /var/log/3proxy/3proxy.log D	
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30

Това завършва настройката на основния конфигурационен файл. Преминаваме към последния етап и стартираме.

Стъпка

Създайте инициализиращ файл за systemd:

touch /etc/systemd/system/3proxy.service

Издайте необходимите права:

chmod 664 /etc/systemd/system/3proxy.service

Копирайте и поставете следните стойности във файла и запазете:

[Unit]
Description=3proxy Proxy Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
ExecStop=/bin/kill `/usr/bin/pgrep 3proxyuser`
RemainAfterExit=yes
Restart=on-failure
[Install]
WantedBy=multi-user.target»

Молим, обърнете внимание: в стойността “ExecStop” трябва да посочите потребителското име, което е създадено в стъпка № 5.

След което трябва да актуализирате конфигурацията на Daemon с командата:

systemctl daemon-reload

Стъпка

Единственото, от което се нуждаем, е да стартираме конфигурирания 3proxy, да го добавим към автоматично стартиране и също така да отворим портове в защитната стена.

Добавете го към автоматично стартиране, стартиране и проверка на състоянието:

systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy

След като проверим състоянието, виждаме информация, че 3proxy е стартиран успешно:

Проксито работи

Остава само да отворите портове:

firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload

Ако е необходимо, рестартирайте сървъра. Възможно е да проверите дали портовете са отворени с командата:

firewall-cmd --list-all

Какво трябва да бъде:

Отваряйте портове за защитна стена

Както виждаме и двата порта са успешно отворени и се прослушват. http връзката е на първия порт, socks е на втория порт.

Проверете връзката чрез всяка удобна услуга:

Успешна настройка на 3прокси

Всичко работи. от наша страна, не препоръчваме да използвате незащитена връзка без авторизация за вход/парола, както и със стандартен набор от портове. Докато настройвате конфигурационния файл, не забравяйте да посочите потребителско име и да създадете сложна парола, а също така да промените портовете на нестандартни. В изключителни случаи е възможно да се използва оторизация на IP адрес

Общи проблеми

Нещо се обърка и проксито не работи? Може би конфигурацията на 3proxy е направена неправилно. Нека разгледаме най-често срещаните проблеми и техните решения по време на инсталирането и конфигурирането на помощната програма.

Няма връзка

Най-често срещаният проблем за много потребители е недостъпна връзка, когато конфигурационните файлове изглеждат правилно конфигурирани. Ако сте сигурни, че всички настройки са конфигурирани правилно, хостинг доставчикът не ограничава избрания порт и всички данни показват работеща услуга, проблемът може да е в защитната стена или по-точно в нейната неправилна конфигурация. Например, може да има повече от две програми, инсталирани в системата, които ще са в конфликт помежду си. За да разрешите проблема, достатъчно е да използвате една конкретна защитна стена. Съветваме ви да изберете само iptables или firewall-cmd.

Услугата не се стартира

Услугата не стартира след настройка на всички необходими конфигурационни файлове. Това се случва, когато е пропусната стъпка за конфигуриране, не са дадени съответните права или е направена малка грешка в конфигурационните файлове. Препоръчваме ви да проучите внимателно инструкциите стъпка по стъпка отново, може би сте пропуснали някоя от стъпките. Ако нищо не помогне, би било добра идея да преинсталирате операционната система и да следвате всички стъпки от самото начало. Препоръчваме да използвате проба намиращ се в /cfg/3proxy.cfg.sample, като тестова конфигурация и предварително инсталираните защитна стена-cmd като защитна стена.

Влизане

Последният, но не по-малко важен въпрос е свързан със съхранението на файлове. 3proxy отнема няколко mb по време на инсталацията, но размерът може да се увеличи значително само чрез регистриране с течение на времето. Факт е, че много потребители позволяват запис на дневници в отделен файл, но не настройват ротация и не изтриват неподходящи дневници. За решаване на този проблем могат да се използват три варианта:

  1. Активиране на регистриране;
  2. Периодично изтривайте неподходящи регистрационни файлове;
  3. Активирайте ротацията, както беше направено в конфигурацията по-горе. Например "rotate 30" в конфигурационния файл означава, че 3proxy ще съхранява само последните 30 файла.

Заключение

Инсталирането и конфигурирането на 3proxy на операционни системи CentOS и ArchLinux е доста проста, но в същото време ефективна задача. Статията обхваща стъпките за инсталиране на необходимите пакети, конфигуриране на конфигурационни файлове и стартиране на услугата. Придобитите знания ще ви позволят сами да инсталирате и конфигурирате вашия прокси сървър без никакви затруднения.

❮ Предишна статия Как да увеличите дяла на диска на Windows OS
Следваща статия ❯ Как да нулирате паролата за Windows

Попитайте ни за VPS

Винаги сме готови да отговорим на вашите въпроси по всяко време на деня и нощта.