Бұл мақалада ArchLinux/CentOS операциялық жүйесімен жұмыс істейтін арнайы серверде 3прокси конфигурациясын көрсетеміз. 3proxy - ең өзекті және функционалды құралдардың бірі. Ол әртүрлі протокол түрлерін қолдайды: HTTP, HTTPS, FTP, SOCKS және т.б. Бұл бірнеше минут ішінде өзіңіздің прокси серверіңізді орнатуға көмектеседі.
Мақалада утилитаны орнату және оны одан әрі конфигурациялау бойынша қадамдық нұсқаулық берілген. Ресми дереккөзден орнату, конфигурация файлдарын орнату, стандартты емес порттарды ашу сияқты мәселелер қарастырылады, сондай-ақ жиі кездесетін қателер сипатталады және оларды шешу бойынша практикалық ұсыныстар беріледі. Іске қоспас бұрын, CentOS немесе ArchLinux операциялық жүйесімен жұмыс істейтін VPS немесе арнайы серверге тапсырыс беру керек . Мысалдағы барлық әрекеттер бір арнайы статикалық жалпы IP мекенжайы бар CentOS7 операциялық жүйесімен жұмыс істейтін арнайы серверде орындалады.
Орнату
қадам 1
3proxy тікелей дереккөздерден орнатылады. gcc компилятор ретінде пайдаланылады. Біз серверге root (супер пайдаланушы) ретінде қосыламыз және компиляторды орнатамыз.
yum install gcc
қадам 2
Енді 3proxy бастапқы файлдарын жүктеп алу қажет. Мұны ресми веб-сайтқа өтіп , сілтемені ағымдағы нұсқаға көшіру арқылы жасауға болады:
Егер мұрағатталған нұсқасы қажет болса, сілтемені тікелей 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
Біз каталогпен жұмыс істеу үшін пайдаланушы жасаймыз. Бұл жағдайда пайдаланушы аты 3proxyuser болады:
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
Бұрын жасалған конфигурация файлын дұрыс толтыру қажет. Алдымен пәрмен арқылы пайдаланушының 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прокси конфигурациясы дұрыс жасалмаған болуы мүмкін. Утилитаны орнату және конфигурациялау кезінде ең жиі кездесетін мәселелерді және олардың шешімдерін қарастырайық.
Байланыс жоқ
Көптеген пайдаланушылар үшін жиі кездесетін мәселе - конфигурация файлдары дұрыс конфигурацияланған сияқты болған кезде қол жетімсіз қосылым. Егер сіз барлық параметрлердің дұрыс конфигурацияланғанына сенімді болсаңыз, хостинг провайдері таңдалған портты шектемейді және барлық деректер жұмыс істейтін қызметті көрсетеді, мәселе желіаралық қалқанда болуы мүмкін немесе, дәлірек айтқанда, оның дұрыс конфигурациясында болуы мүмкін. Мысалы, жүйеде бір-біріне қайшы келетін екіден көп бағдарлама орнатылған болуы мүмкін. Мәселені шешу үшін бір арнайы желіаралық қалқанды пайдалану жеткілікті. Сізге тек iptables немесе брандмауэр-cmd таңдауға кеңес береміз.
Қызмет іске қосылмайды
Қызмет барлық қажетті конфигурация файлдарын орнатқаннан кейін іске қосылмайды. Бұл конфигурация қадамы өткізіп жіберілгенде, тиісті құқықтар берілмегенде немесе конфигурация файлдарында шағын қателік жіберілгенде орын алады. Нұсқаулықты біртіндеп мұқият оқып шығуды ұсынамыз, мүмкін сіз қадамдардың бірін өткізіп алған шығарсыз. Егер ештеңе көмектеспесе, ОЖ-ны қайта орнатып, барлық қадамдарды басынан бастап орындаған дұрыс болар еді. /cfg/3proxy.cfg.sample мекенжайында орналасқан sample файлын сынақ конфигурациясы ретінде, ал алдын ала орнатылған firewall-cmd файлын брандмауэр ретінде пайдалануды ұсынамыз.
Журналға тіркеу
Соңғы, бірақ маңызды мәселе файлдарды сақтауға қатысты. Орнату кезінде 3прокси бірнеше мб алады, бірақ уақыт өте келе өлшемді тіркеу арқылы ғана айтарлықтай ұлғайтуға болады. Өйткені, көптеген пайдаланушылар журналды бөлек файлда жазуды қосады, бірақ айналдыруды орнатпайды және маңызды емес журналдарды жоймайды. Бұл мәселені шешу үшін үш нұсқаны қолдануға болады:
- Тіркеуді қосу;
- Қатесіз журналдарды мезгіл-мезгіл жою;
- Жоғарыдағы конфигурацияда жасалғандай айналдыруды қосыңыз. Мысалы, конфигурация файлындағы "30 айналдыру" 3прокси тек соңғы 30 файлды сақтайтынын білдіреді.
қорытынды
CentOS және ArchLinux операциялық жүйелерінде 3прокси орнату және конфигурациялау өте қарапайым, бірақ сонымен бірге тиімді тапсырма. Мақалада қажетті бумаларды орнату, конфигурация файлдарын конфигурациялау және қызметті іске қосу қадамдары қарастырылды. Алынған білім прокси серверді еш қиындықсыз өзіңіз орнатуға және конфигурациялауға мүмкіндік береді.