У овом чланку ћемо приказати 3проки конфигурацију на наменском серверу који покреће АрцхЛинук/ЦентОС оперативни систем. 3проки је један од најрелевантнијих и најфункционалнијих алата. Подржава различите врсте протокола: ХТТП, ХТТПС, ФТП, СОЦКС и друге. Помоћи ће вам да поставите сопствени прокси сервер за неколико минута.
Чланак садржи упутства корак по корак о инсталацији услужног програма и његовој даљој конфигурацији. Разматрају се питања као што су инсталација из званичног извора, подешавање конфигурационих фајлова, отварање нестандардних портова, описане су уобичајене грешке и дате практичне препоруке за њихово решавање. Пре лансирања, морате наручити а ВПС or Наменски сервер покреће оперативни систем ЦентОС или АрцхЛинук. Све радње у примеру ће се изводити на наменском серверу који покреће оперативни систем ЦентОС7 са једном наменском статичком јавном ИП адресом.
инсталација
Корак 1
3проки се инсталира директно из извора. ГЦЦ ће се користити као компајлер. Повезујемо се са сервером као роот (суперусер) и инсталирамо компајлер.
yum install gcc
Корак 2
Сада је потребно преузети изворне датотеке 3проки. То можете учинити тако што ћете отићи на званични сајт и копирање везе на тренутну верзију:
Ако је потребна архивирана верзија, везу можете преузети и директно са ГитХуб:
У време писања овог чланка, тренутна верзија је 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
Креирамо директоријуме и копирамо 3проки датотеку у /уср/бин:
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
Ако је потребно, можете поставити дозволе за конфигурациону датотеку за роот корисника. Овај корак није обавезан, али ће додати заштиту:
chmod 600 /etc/3proxy/3proxy.cfg
3проки конфигурација
Корак 6
Неопходно је правилно попунити конфигурациону датотеку која је раније креирана. Прво сазнајте уид и гид корисника помоћу команде:
id 3proxyuser
У нашем случају то су следеће вредности:
Да бисте попунили конфигурациону датотеку, можете узети готове конфигурације или користити документација на званичном сајту. Такође, датотека са примером је већ унапред инсталирана подразумевано; можете га пронаћи дуж путање: /цфг/3проки.цфг.сампле
Као пример, размотрићемо 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
Направите датотеку за иницијализацију за системд:
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»
Молимо да узмете у обзир: у вредности „ЕкецСтоп“ морате навести корисничко име које је креирано у кораку бр. 5.
Након тога морате ажурирати конфигурацију Даемона командом:
systemctl daemon-reload
Корак 8
Једино што нам треба је да покренемо конфигурисани 3проки, додамо га у аутостарт и такође отворимо портове у заштитном зиду.
Додајте га у аутоматско покретање, покрените и проверите статус:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Након провере статуса, видимо информацију да је 3проки успешно покренут:
Остаје само да отворите портове:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Ако је потребно, поново покрените сервер. Да ли су портови отворени могуће је проверити командом:
firewall-cmd --list-all
шта би требало да буде:
Као што видимо, оба порта су успешно отворена и слушају се. хттп веза је на првом порту, соцкс је на другом порту.
Проверите везу путем било које погодне услуге:
Све ради. са наше стране, не препоручујемо коришћење небезбедне везе без ауторизације за пријаву/лозинку, као и са стандардним скупом портова. Приликом подешавања конфигурационе датотеке, обавезно наведите пријаву и креирајте сложену лозинку, а такође промените портове на нестандардне. У изузетним случајевима, могуће је користити ауторизацију ИП адресе
Заједнички проблеми
Нешто је пошло наопако и прокси не ради? Можда је 3проки конфигурација урађена погрешно. Хајде да размотримо најчешће проблеме и њихова решења током инсталирања и конфигурисања услужног програма.
Без конекције
Најчешћи проблем за многе кориснике је недоступна веза када се чини да су конфигурационе датотеке исправно конфигурисане. Ако сте сигурни да су сва подешавања исправно конфигурисана, хостинг провајдер не ограничава изабрани порт и сви подаци указују на радну услугу, проблем је можда у заштитном зиду или, тачније, у његовој погрешној конфигурацији. На пример, на систему може бити инсталирано више од два програма који ће се међусобно сукобљавати. Да бисте решили проблем, довољно је користити један одређени заштитни зид. Саветујемо вам да изаберете само иптаблес или фиревалл-цмд.
Услуга се не покреће
Услуга се не покреће након подешавања свих потребних конфигурационих датотека. Ово се дешава када је пропуштен корак конфигурације, нису дата одговарајућа права или се направи мања грешка у конфигурационим датотекама. Препоручујемо вам да поново пажљиво проучите упутства корак по корак, можда сте пропустили неки од корака. Ако ништа не помогне, било би добро да поново инсталирате ОС и пратите све кораке од почетка. Препоручујемо коришћење узорак налази се на /цфг/3проки.цфг.сампле, као пробна конфигурација и унапред инсталирана фиревалл-цмд као заштитни зид.
Сеча дрвета
Последње, али не мање важно питање односи се на складиштење датотека. 3проки траје неколико мб током инсталације, али величина се може значајно повећати само кроз логовање с временом. Чињеница је да многи корисници омогућавају снимање дневника у засебној датотеци, али не постављају ротацију и не бришу небитне дневнике. За решење овог проблема могу се користити три опције:
- Енабле логгинг;
- Повремено бришите небитне дневнике;
- Омогућите ротацију, као што је урађено у горњој конфигурацији. На пример, „ротирај 30“ у конфигурационој датотеци значи да ће 3проки чувати само последњих 30 датотека.
Закључак
Инсталирање и конфигурисање 3проки-а на ЦентОС и АрцхЛинук оперативним системима је прилично једноставан, али у исто време ефикасан задатак. Чланак је покривао кораке за инсталирање потребних пакета, конфигурисање конфигурационих датотека и покретање услуге. Стечено знање ће вам омогућити да сами инсталирате и конфигуришете свој проки сервер без икаквих потешкоћа.