Бұл мақалада ArchLinux/CentOS операциялық жүйесімен жұмыс істейтін арнайы серверде 3прокси конфигурациясын көрсетеміз. 3proxy - ең өзекті және функционалды құралдардың бірі. Ол әртүрлі протокол түрлерін қолдайды: HTTP, HTTPS, FTP, SOCKS және т.б. Бұл бірнеше минут ішінде өзіңіздің прокси серверіңізді орнатуға көмектеседі.
Мақалада қызметтік бағдарламаны орнату және оны одан әрі конфигурациялау бойынша қадамдық нұсқаулық бар. Ресми көзден орнату, конфигурация файлдарын орнату, стандартты емес порттарды ашу сияқты мәселелер қарастырылады, сонымен қатар жиі кездесетін қателер сипатталады және оларды шешу бойынша практикалық ұсыныстар беріледі. Іске қосу алдында сіз a VPS or арнайы сервер CentOS немесе ArchLinux операциялық жүйесімен жұмыс істейді. Мысалдағы барлық әрекеттер бір бөлінген статикалық жалпы IP мекенжайы бар CentOS7 операциялық жүйесімен жұмыс істейтін арнайы серверде орындалады.
Орнату
қадам 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
Қажет болса, түбірлік пайдаланушы үшін конфигурация файлына рұқсаттарды орнатуға болады. Бұл қадам міндетті емес, бірақ қорғаныс қосады:
chmod 600 /etc/3proxy/3proxy.cfg
3прокси конфигурациясы
қадам 6
Бұрын жасалған конфигурация файлын дұрыс толтыру қажет. Алдымен пәрмен арқылы пайдаланушының uid және gid кодын табыңыз:
id 3proxyuser
Біздің жағдайда бұл келесі мәндер:
Конфигурация файлын толтыру үшін дайын конфигурацияларды алуға немесе пайдалануға болады құжаттама ресми сайтында. Сондай-ақ мысалы бар файл әдепкі бойынша алдын ала орнатылған; Сіз оны жолдан таба аласыз: /cfg/3proxy.cfg.үлгі
Мысал ретінде біз конфигурацияның 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 мекенжайында сынақ конфигурациясы ретінде және алдын ала орнатылған брандмауэр-cmd брандмауэр ретінде.
Журналға тіркеу
Соңғы, бірақ маңызды мәселе файлдарды сақтауға қатысты. Орнату кезінде 3прокси бірнеше мб алады, бірақ уақыт өте келе өлшемді тіркеу арқылы ғана айтарлықтай ұлғайтуға болады. Өйткені, көптеген пайдаланушылар журналды бөлек файлда жазуды қосады, бірақ айналдыруды орнатпайды және маңызды емес журналдарды жоймайды. Бұл мәселені шешу үшін үш нұсқаны қолдануға болады:
- Тіркеуді қосу;
- Қатесіз журналдарды мезгіл-мезгіл жою;
- Жоғарыдағы конфигурацияда жасалғандай айналдыруды қосыңыз. Мысалы, конфигурация файлындағы "30 айналдыру" 3прокси тек соңғы 30 файлды сақтайтынын білдіреді.
қорытынды
CentOS және ArchLinux операциялық жүйелерінде 3прокси орнату және конфигурациялау өте қарапайым, бірақ сонымен бірге тиімді тапсырма. Мақалада қажетті бумаларды орнату, конфигурация файлдарын конфигурациялау және қызметті іске қосу қадамдары қарастырылды. Алынған білім прокси серверді еш қиындықсыз өзіңіз орнатуға және конфигурациялауға мүмкіндік береді.