Во оваа статија ќе покажеме 3прокси конфигурација на посветен сервер напојуван од оперативниот систем ArchLinux/CentOS. 3proxy е една од најрелевантните и најфункционалните алатки. Поддржува различни типови на протоколи: HTTP, HTTPS, FTP, SOCKS и други. Тоа ќе ви помогне да поставите свој прокси-сервер за неколку минути.
Статијата содржи чекор-по-чекор упатства за инсталацијата на комуналните услуги и нејзината понатамошна конфигурација. Се разгледуваат прашања како што се инсталација од официјален извор, поставување датотеки за конфигурација, отворање нестандардни порти, како и опишани вообичаени грешки и дадени практични препораки за нивно решавање. Пред лансирањето, мора да нарачате a VPS or посветен сервер се напојува со оперативниот систем CentOS или ArchLinux. Сите дејства во примерот ќе се вршат на посветен сервер напојуван од оперативниот систем CentOS7 со една посветена статичка јавна IP адреса.
инсталација
Чекор 1
3прокси е инсталиран директно од изворите. gcc ќе се користи како компајлер. Се поврзуваме со серверот како root (суперкорисник) и го инсталираме компајлерот.
yum install gcc
Чекор 2
Сега е неопходно да ги преземете изворните датотеки со 3 прокси. Можете да го направите ова со одење на Официјална веб-страница и копирање на врската до тековната верзија:
Доколку е потребна архивирана верзија, можете и директно да ја преземете врската од GitHub:
Во моментот на пишување на овој напис, тековната верзија е 0.9.3. Преземете го и веднаш отпакувајте го:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
Чекор 3
Одете во директориумот со неотпакуваниот проект и компајлирајте:
cd 3proxy-0.9.3/
make -f Makefile.Linux
Чекор 4
Ние создаваме директориуми и ја копираме датотеката 3proxy во /usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
Чекор 5
Ние создаваме корисник за работа со каталогот. Во овој случај корисничкото име е 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 конфигурација на прокси
Чекор 6
Неопходно е правилно да се пополни конфигурациската датотека што беше креирана порано. Прво, дознајте ги uid и gid на корисникот со командата:
id 3proxyuser
Во нашиот случај, ова се следните вредности:
За да ја пополните конфигурациската датотека, може да земете готови конфигурации или да ги користите документација на официјалната веб-страница. Исто така, датотеката со пример е веќе претходно инсталирана стандардно; можете да го најдете по патеката: /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
Ова го комплетира поставувањето на главната конфигурациска датотека. Продолжуваме до последната фаза и започнуваме.
Чекор 7
Направете датотека за иницијализација за 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
Чекор 8
Единствено што ни треба е да го стартуваме конфигурираниот 3прокси, да го додадеме на автоматско стартување и исто така да ги отвориме портите во заштитниот ѕид.
Додајте го во автоматско стартување, стартувајте и проверете го статусот:
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 врската е на првата порта, чорапите се на втората порта.
Проверете ја врската преку која било погодна услуга:
Се работи. Од наша страна, не препорачуваме користење небезбедна врска без овластување за најава/лозинка, како и со стандарден сет на порти. Додека ја поставувате конфигурациската датотека, не заборавајте да наведете најавување и да креирате сложена лозинка, а исто така да ги промените портите на нестандардни. Во исклучителни случаи, можно е да се користи овластување за IP адреса
Вообичаени проблеми
Нешто тргна наопаку и проксито не работи? Можеби конфигурацијата на 3прокси е направена погрешно. Ајде да ги разгледаме најчестите проблеми и нивните решенија при инсталирање и конфигурирање на алатката.
Нема конекција
Најчестиот проблем за многу корисници е недостапната врска кога се чини дека конфигурациските датотеки се правилно конфигурирани. Ако сте сигурни дека сите поставки се правилно конфигурирани, давателот на хостинг не ја ограничува избраната порта и сите податоци укажуваат на работна услуга, проблемот може да е во заштитниот ѕид или, поточно, неговата неправилна конфигурација. На пример, може да има повеќе од две програми инсталирани на системот кои ќе бидат во конфликт една со друга. За да се реши проблемот, доволно е да користите еден специфичен Firewall. Ве советуваме да изберете само iptables или firewall-cmd.
Услугата не се стартува
Услугата не започнува по поставувањето на сите потребни конфигурациски датотеки. Ова се случува кога е пропуштен чекор за конфигурација, не се дадени соодветните права или е направена мала грешка во конфигурациските датотеки. Ви препорачуваме повторно внимателно да ги проучите упатствата чекор по чекор, можеби сте пропуштиле еден од чекорите. Ако ништо не помага, би било добра идеја повторно да го инсталирате ОС и да ги следите сите чекори од почеток. Препорачуваме користење примерок лоциран на /cfg/3proxy.cfg.sample, како тест конфигурација и претходно инсталираниот заштитен ѕид-cmd како заштитен ѕид.
Влези
Конечното, но не помалку важно прашање се однесува на складирањето на датотеки. 3proxy трае неколку mb за време на инсталацијата, но големината може значително да се зголеми само преку евиденција со текот на времето. Факт е дека многу корисници овозможуваат снимање на дневници во посебна датотека, но не поставуваат ротација и не бришат ирелевантни дневници. За решавање на овој проблем може да се користат три опции:
- Овозможи евидентирање;
- Периодично бришете ирелевантни дневници;
- Овозможете ротација, како што беше направено во конфигурацијата погоре. На пример, „ротирање 30“ во конфигурациската датотека значи дека 3proxy ќе ги складира само најновите 30 датотеки.
Заклучок
Инсталирањето и конфигурирањето на 3proxy на оперативните системи CentOS и ArchLinux е прилично едноставна, но во исто време ефикасна задача. Статијата ги опфати чекорите за да ги инсталирате потребните пакети, да ги конфигурирате датотеките за конфигурација и да ја стартувате услугата. Добиеното знаење ќе ви овозможи сами да го инсталирате и конфигурирате вашиот прокси-сервер без никакви тешкотии.