Ninu nkan yii a yoo ṣafihan iṣeto proxy 3 lori olupin iyasọtọ ti o ni agbara nipasẹ ẹrọ iṣẹ ArchLinux/CentOS. 3proxy jẹ ọkan ninu awọn irinṣẹ to wulo julọ ati iṣẹ ṣiṣe. O ṣe atilẹyin awọn oriṣi awọn ilana: HTTP, HTTPS, FTP, SOCKS, ati awọn miiran. Yoo ṣe iranlọwọ fun ọ lati ṣeto olupin aṣoju tirẹ ni iṣẹju diẹ.
Àpilẹ̀kọ náà ní ìtọ́sọ́nà ìgbésẹ̀-lẹ́sẹ̀ lórí ìfisílẹ̀ ohun èlò àti ìṣètò rẹ̀ síwájú sí i. Àwọn ọ̀ràn bíi fífi sori ẹrọ láti orísun àṣẹ, ṣíṣètò àwọn fáìlì ìṣètò, ṣíṣí àwọn ibudo tí kìí ṣe déédé ni a gbé yẹ̀wò, àti àwọn àṣìṣe tí ó wọ́pọ̀ ni a ṣàlàyé àti àwọn àbá tó wúlò fún yíyanjú wọn. Kí o tó bẹ̀rẹ̀, o gbọ́dọ̀ pàṣẹ fún VPS tàbí olupin tí a yà sọ́tọ̀ tí a fi ẹ̀rọ ìṣiṣẹ́ CentOS tàbí ArchLinux ṣiṣẹ́. Gbogbo ìgbésẹ̀ nínú àpẹẹrẹ náà ni a ó ṣe lórí olupin tí a yà sọ́tọ̀ tí ẹ̀rọ ìṣiṣẹ́ CentOS7 ṣiṣẹ́ pẹ̀lú àdírẹ́sì IP gbogbogbò kan tí a yà sọ́tọ̀.
Fifi sori ẹrọ
igbese 1
A fi 3proxy sori ẹrọ taara lati awọn orisun. A o lo gcc gẹgẹbi oluṣeto. A o so mọ olupin naa gẹgẹbi root (superuser) a o si fi oluṣeto naa sori ẹrọ.
yum install gcc
igbese 2
Ó ṣe pàtàkì láti gba àwọn fáìlì orísun 3proxy jáde báyìí. O lè ṣe èyí nípa lílọ sí ojú-òpó wẹ́ẹ̀bù àti kí o daakọ ìjápọ̀ náà sí ẹ̀yà tuntun yìí:
Tí a bá nílò ẹ̀yà tí a fipamọ́, o tún le ṣe ìgbàsílẹ̀ ìjápọ̀ náà tààrà láti GitHub :
Ni akoko kikọ nkan yii, ẹya lọwọlọwọ jẹ 0.9.3. Ṣe igbasilẹ rẹ ki o si tu silẹ lẹsẹkẹsẹ:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
igbese 3
Lọ si itọsọna pẹlu iṣẹ akanṣe ti a ko ṣajọ ki o ṣajọ:
cd 3proxy-0.9.3/
make -f Makefile.Linux
igbese 4
A ṣẹda awọn ilana ati daakọ faili 3proxy si / usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
igbese 5
A ṣẹ̀dá olùlò kan láti ṣiṣẹ́ pẹ̀lú àkójọ ìwé náà. Nínú ọ̀ràn yìí, orúkọ olùlò ni 3proxyuser:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
A funni ni awọn ẹtọ lati ṣiṣẹ pẹlu awọn ilana si olumulo ti o ṣẹda:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Bayi jẹ ki a ṣẹda faili iṣeto ni lilo aṣẹ:
touch /etc/3proxy/3proxy.cfg
Tí ó bá pọndandan, o lè ṣètò àwọn àṣẹ sí fáìlì ìṣètò fún olùlò gbòǹgbò. Ìgbésẹ̀ yìí kò pọndandan, ṣùgbọ́n yóò fi ààbò kún un:
chmod 600 /etc/3proxy/3proxy.cfg
3proxy iṣeto ni
igbese 6
O jẹ dandan lati fọwọsi faili iṣeto ni deede ti o ṣẹda tẹlẹ. Ni akọkọ, wa uid ati gid ti olumulo nipasẹ aṣẹ naa:
id 3proxyuser
Ninu ọran wa iwọnyi ni awọn iye wọnyi:
Láti kún fáìlì ìṣètò náà, o lè mú àwọn ìṣètò tí a ti ṣe tán tàbí lo àwọn ìwé àkọsílẹ̀ lórí ojú-òpó wẹ́ẹ̀bù náà. Bákan náà, fáìlì tí ó ní àpẹẹrẹ ti wà tẹ́lẹ̀ lórí àtúnṣe; o lè rí i ní ojú ọ̀nà: /cfg/3proxy.cfg.sample
Fún àpẹẹrẹ, a ó gbé irú ìṣètò méjì yẹ̀ wò: pẹ̀lú àti láìsí ìforúkọsílẹ̀ . A ó fi àwọn ọ̀rọ̀ sí ìlà kọ̀ọ̀kan (a fi àmì “#” sàmì sí wọn).
Èyí jẹ́ àpẹẹrẹ ìṣètò tí a ti ṣe tán láìsí ìforúkọsílẹ̀ :
# 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
A gbé àṣàyàn fáìlì ìṣètò láìsí ìforúkọsílẹ̀. Nísinsìnyí a ó ṣẹ̀dá fáìlì ìṣètò pẹ̀lú ìforúkọsílẹ̀ àti àṣẹ olùlò ; a ó lò ó nígbà tí a bá ń ṣètò olupin náà.
Rí i dájú pé o fún ọ ní ìwífún nípa àṣẹ, nítorí pé a lè rí olupin náà kódà lórí àwọn ibùdókọ̀ tí kìí ṣe déédé.
# 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
Eyi pari iṣeto ti faili iṣeto akọkọ. A tẹsiwaju si ipele ikẹhin ati ifilọlẹ.
igbese 7
Ṣẹda faili ipilẹṣẹ fun eto eto:
touch /etc/systemd/system/3proxy.service
Pese awọn ẹtọ to wulo:
chmod 664 /etc/systemd/system/3proxy.service
Daakọ ati lẹẹmọ awọn iye wọnyi sinu faili ki o fipamọ:
[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»
Jọ̀wọ́ kíyèsí: nínú iye “ExecStop” o gbọ́dọ̀ sọ orúkọ olùlò tí a ṣẹ̀dá ní ìgbésẹ̀ No. 5.
Lẹhin eyi o nilo lati ṣe imudojuiwọn iṣeto Daemon pẹlu aṣẹ:
systemctl daemon-reload
igbese 8
Nikan ti a nilo ni lati ṣe ifilọlẹ 3proxy ti tunto, ṣafikun si autostart, ati tun ṣii awọn ebute oko oju omi ni ogiriina.
Ṣafikun-un si adaṣe adaṣe, ifilọlẹ ati ṣayẹwo ipo:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Lẹhin ti ṣayẹwo ipo naa, a rii alaye ti 3proxy ti ṣe ifilọlẹ ni aṣeyọri:
Ohun kan ṣoṣo ti o ku ni lati ṣii awọn ibudo:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Ti o ba jẹ dandan, tun atunbere olupin naa. O ṣee ṣe lati ṣayẹwo boya awọn ebute oko oju omi wa ni sisi pẹlu aṣẹ:
firewall-cmd --list-all
Kini o yẹ ki o jẹ:
Gẹgẹbi a ti le rii, awọn ebute oko oju omi mejeeji ti ṣii ni aṣeyọri ati pe a ti tẹtisi. Asopọ http wa lori ibudo akọkọ, awọn ibọsẹ wa lori ibudo keji.
Ṣayẹwo asopọ nipasẹ iṣẹ irọrun eyikeyi:
Ohun gbogbo n ṣiṣẹ. Fun apa wa, a ko ṣeduro lilo asopọ ti ko ni aabo laisi aṣẹ iwọle/ọrọigbaniwọle, bakanna pẹlu akojọpọ awọn ibudo boṣewa . Lakoko ti o n ṣeto faili iṣeto, rii daju pe o yan iwọle kan ki o ṣẹda ọrọ igbaniwọle ti o nira, ati pe o tun yi awọn ibudo pada si awọn ti kii ṣe deede . Ni awọn ọran alailẹgbẹ, o ṣee ṣe lati lo aṣẹ adirẹsi IP
Awọn iṣoro ti o wọpọ
Nkankan ti ko tọ ati pe aṣoju ko ṣiṣẹ? Boya iṣeto 3proxy ti ṣe ni aṣiṣe. Jẹ ki a gbero awọn iṣoro ti o wọpọ julọ ati awọn solusan wọn lakoko fifi sori ẹrọ ati tunto ohun elo naa.
Ko si asopọ
Iṣoro ti o wọpọ julọ fun ọpọlọpọ awọn olumulo jẹ asopọ ti ko le wọle nigbati awọn faili iṣeto ba dabi pe o tunto ni deede. Ti o ba ni idaniloju pe gbogbo awọn eto ti tunto ni deede, olupese alejo gbigba ko ni opin ibudo ti o yan ati gbogbo data tọka iṣẹ iṣẹ kan, iṣoro naa le wa ninu Ogiriina, tabi, diẹ sii ni deede, iṣeto ti ko tọ. Fun apẹẹrẹ, o le jẹ diẹ sii ju awọn eto meji ti a fi sori ẹrọ ti yoo koju ara wọn. Lati yanju iṣoro naa, o to lati lo ogiriina kan pato. A ni imọran ọ lati yan awọn iptables nikan tabi ogiriina-cmd.
Iṣẹ naa ko ṣe ifilọlẹ
Iṣẹ́ náà kì í bẹ̀rẹ̀ lẹ́yìn tí a bá ti ṣètò gbogbo àwọn fáìlì ìṣètò tó yẹ. Èyí máa ń ṣẹlẹ̀ nígbà tí a bá pàdánù ìgbésẹ̀ ìṣètò, tí a kò bá fúnni ní ẹ̀tọ́ tó yẹ, tàbí tí a bá ṣe àṣìṣe kékeré nínú àwọn fáìlì ìṣètò náà. A gbà ọ́ nímọ̀ràn láti tún kẹ́kọ̀ọ́ àwọn ìlànà náà ní ìgbésẹ̀ lẹ́ẹ̀kan sí i, bóyá o ti pàdánù ọ̀kan lára àwọn ìgbésẹ̀ náà. Tí kò bá sí ohun tó lè ràn ọ́ lọ́wọ́, yóò jẹ́ èrò rere láti tún fi OS náà sí i kí o sì tẹ̀lé gbogbo ìgbésẹ̀ náà láti ìbẹ̀rẹ̀. A gba ọ́ nímọ̀ràn láti lo àpẹẹrẹ tó wà ní /cfg/3proxy.cfg.sample, gẹ́gẹ́ bí ìṣètò ìdánwò, àti firewall-cmd tí a ti fi sí i tẹ́lẹ̀ gẹ́gẹ́ bí firewall.
gedu
Ipari, ṣugbọn kii ṣe ọrọ pataki ti o kere ju ti o nii ṣe pẹlu ibi ipamọ faili. 3proxy gba ọpọlọpọ mb lakoko fifi sori ẹrọ, ṣugbọn iwọn le pọ si ni pataki nikan nipasẹ gedu pẹlu akoko ti o kọja. Otitọ ni pe ọpọlọpọ awọn olumulo mu gbigbasilẹ log ṣiṣẹ ni faili lọtọ, ṣugbọn maṣe ṣeto yiyi ati maṣe paarẹ awọn akọọlẹ ti ko ṣe pataki. Awọn aṣayan mẹta le ṣee lo lati yanju iṣoro yii:
- Mu iwọle ṣiṣẹ;
- Lokọọkan paarẹ awọn akọọlẹ ti ko ṣe pataki;
- Mu yiyi ṣiṣẹ, bi o ti ṣe ni iṣeto ni oke. Fun apẹẹrẹ, “yi 30” ninu faili atunto tumọ si pe 3proxy yoo tọju awọn faili 30 tuntun nikan.
ipari
Fifi ati tunto 3proxy lori CentOS ati awọn ọna ṣiṣe ArchLinux jẹ irọrun ti o rọrun, ṣugbọn ni akoko kanna iṣẹ ṣiṣe ti o munadoko. Nkan naa bo awọn igbesẹ lati fi sori ẹrọ awọn idii pataki, tunto awọn faili iṣeto, ati ṣe ifilọlẹ iṣẹ naa. Imọ ti o gba yoo gba ọ laaye lati fi sori ẹrọ ati tunto olupin aṣoju rẹ funrararẹ laisi awọn iṣoro eyikeyi.