Yn yr erthygl hon byddwn yn dangos cyfluniad 3proxy ar weinydd pwrpasol sy'n cael ei bweru gan system weithredu ArchLinux / CentOS. 3proxy yw un o'r offer mwyaf perthnasol a swyddogaethol. Mae'n cefnogi gwahanol fathau o brotocolau: HTTP, HTTPS, FTP, SOCKS, ac eraill. Bydd yn eich helpu i sefydlu eich gweinydd dirprwyol eich hun mewn ychydig funudau.
Mae'r erthygl yn cynnwys canllawiau cam wrth gam ar y gosodiad cyfleustodau a'i ffurfweddiad pellach. Ystyrir materion megis gosod o ffynhonnell swyddogol, sefydlu ffeiliau cyfluniad, agor porthladdoedd ansafonol, yn ogystal â gwallau cyffredin yn cael eu disgrifio a rhoddir argymhellion ymarferol ar gyfer eu datrys. Cyn ei lansio, rhaid i chi archebu a Datganiad Personol Dioddefwr or gweinyddwr penodol wedi'i bweru gan system weithredu CentOS neu ArchLinux. Bydd yr holl gamau gweithredu yn yr enghraifft yn cael eu perfformio ar weinydd pwrpasol sy'n cael ei bweru gan system weithredu CentOS7 gydag un cyfeiriad IP cyhoeddus sefydlog penodol.
Gosod
1 cam
Mae 3proxy wedi'i osod yn uniongyrchol o'r ffynonellau. gcc yn cael ei ddefnyddio fel casglwr. Rydym yn cysylltu â'r gweinydd fel gwraidd (superuser) ac yn gosod y casglwr.
yum install gcc
2 cam
Nawr mae angen lawrlwytho'r ffeiliau ffynhonnell 3proxy. Gallwch chi wneud hyn trwy fynd i'r Gwefan swyddogol a chopïo'r ddolen i'r fersiwn gyfredol:
Os oes angen fersiwn wedi'i harchifo, gallwch hefyd lawrlwytho'r ddolen yn uniongyrchol o GitHub:
Ar adeg ysgrifennu'r erthygl hon, y fersiwn gyfredol yw 0.9.3. Dadlwythwch ef a'i ddadbacio ar unwaith:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
3 cam
Ewch i'r cyfeiriadur gyda'r prosiect heb ei bacio a lluniwch:
cd 3proxy-0.9.3/
make -f Makefile.Linux
4 cam
Rydym yn creu cyfeiriaduron ac yn copïo'r ffeil 3proxy i /usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
5 cam
Rydym yn creu defnyddiwr i weithio gyda'r catalog. Yn yr achos hwn yr enw defnyddiwr yw 3 dirprwy defnyddiwr:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Rydym yn rhoi'r hawliau i weithio gyda chyfeiriaduron i'r defnyddiwr a grëwyd:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Nawr, gadewch i ni greu ffeil ffurfweddu gan ddefnyddio'r gorchymyn:
touch /etc/3proxy/3proxy.cfg
Os oes angen, gallwch osod caniatâd ar y ffeil ffurfweddu ar gyfer y defnyddiwr gwraidd. Nid yw'r cam hwn yn orfodol, ond bydd yn ychwanegu amddiffyniad:
chmod 600 /etc/3proxy/3proxy.cfg
cyfluniad 3proxy
6 cam
Mae angen llenwi'r ffeil ffurfweddu a grëwyd yn gynharach yn gywir. Yn gyntaf, darganfyddwch uid a gid y defnyddiwr trwy'r gorchymyn:
id 3proxyuser
Yn ein hachos ni, dyma'r gwerthoedd canlynol:
I lenwi'r ffeil ffurfweddu, gallwch gymryd ffurfweddiadau parod neu ddefnyddio'r dogfennaeth ar y wefan swyddogol. Hefyd mae ffeil gydag enghraifft eisoes wedi'i gosod ymlaen llaw yn ddiofyn; gallwch ddod o hyd iddo ar hyd y llwybr: /cfg/3proxy.cfg.sample
Er enghraifft, byddwn yn ystyried 2 fath o ffurfweddiad: gyda a heb logio. Bydd sylwadau yn cyd-fynd â phob llinell (mae'r symbol “#” wedi'u nodi arnynt).
Dyma enghraifft o config parod heb logio:
# 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
Fe wnaethom ystyried yr opsiwn o ffeil ffurfweddu heb logio. Nawr byddwn yn creu ffeil ffurfweddu gyda logio ac awdurdodi defnyddwyr; bydd yn cael ei ddefnyddio yn ddiweddarach yn ystod gosod y gweinydd.
Gwnewch yn siŵr eich bod yn darparu gwybodaeth awdurdodi, oherwydd gellir canfod y gweinydd hyd yn oed ar borthladdoedd ansafonol.
# 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
Mae hyn yn cwblhau gosod y brif ffeil ffurfweddu. Symudwn ymlaen at y cam olaf a'r lansiad.
7 cam
Creu ffeil cychwyn ar gyfer systemd:
touch /etc/systemd/system/3proxy.service
Rhowch yr hawliau angenrheidiol:
chmod 664 /etc/systemd/system/3proxy.service
Copïwch a gludwch y gwerthoedd canlynol yn y ffeil a'u cadw:
[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»
Noder: yn y gwerth “ExecStop” rhaid i chi nodi'r enw defnyddiwr a grëwyd yng ngham Rhif 5.
Ar ôl hynny mae angen i chi ddiweddaru cyfluniad Daemon gyda'r gorchymyn:
systemctl daemon-reload
8 cam
Yr unig beth sydd ei angen arnom yw lansio'r 3proxy wedi'i ffurfweddu, ei ychwanegu at autostart, a hefyd agor porthladdoedd yn y wal dân.
Ychwanegwch ef at autostart, lansio a gwirio statws:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Ar ôl gwirio'r statws, gwelwn wybodaeth bod 3proxy wedi'i lansio'n llwyddiannus:
Yr unig beth sydd ar ôl yw agor porthladdoedd:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Os oes angen, ailgychwynwch y gweinydd. Mae'n bosibl gwirio a yw'r porthladdoedd ar agor gyda'r gorchymyn:
firewall-cmd --list-all
Beth ddylai fod:
Fel y gallwn weld, mae'r ddau borthladd wedi'u hagor yn llwyddiannus ac yn cael eu gwrando. Mae cysylltiad http ar y porthladd cyntaf, mae sanau ar yr ail borthladd.
Gwiriwch y cysylltiad trwy unrhyw wasanaeth cyfleus:
Mae popeth yn gweithredu. O'n rhan ni, nid ydym yn argymell defnyddio cysylltiad heb ei ddiogelu heb awdurdodiad mewngofnodi/cyfrinair, yn ogystal â set safonol o borthladdoedd. Wrth sefydlu'r ffeil ffurfweddu, gofalwch eich bod yn nodi mewngofnodi a chreu cyfrinair cymhleth, a hefyd yn newid y porthladdoedd i rai ansafonol. Mewn achosion eithriadol, mae'n bosibl defnyddio awdurdodiad cyfeiriad IP
Problemau cyffredin
Aeth rhywbeth o'i le ac nid yw'r dirprwy yn gweithio? Efallai bod y cyfluniad 3proxy wedi'i wneud yn anghywir. Gadewch i ni ystyried y problemau mwyaf cyffredin a'u hatebion wrth osod a ffurfweddu'r cyfleustodau.
Dim cysylltiad
Y broblem fwyaf cyffredin i lawer o ddefnyddwyr yw cysylltiad anhygyrch pan ymddengys bod y ffeiliau ffurfweddu wedi'u ffurfweddu'n gywir. Os ydych chi'n siŵr bod yr holl osodiadau wedi'u ffurfweddu'n gywir, nid yw'r darparwr cynnal yn cyfyngu ar y porthladd a ddewiswyd ac mae'r holl ddata'n nodi gwasanaeth sy'n gweithio, efallai bod y broblem yn y Firewall, neu, yn fwy manwl gywir, ei ffurfweddiad anghywir. Er enghraifft, efallai y bydd mwy na dwy raglen wedi'u gosod ar y system a fydd yn gwrthdaro â'i gilydd. I ddatrys y broblem, mae'n ddigon i ddefnyddio un Firewall penodol. Rydym yn eich cynghori i ddewis dim ond iptables neu firewall-cmd.
Nid yw'r gwasanaeth yn lansio
Nid yw'r gwasanaeth yn cychwyn ar ôl sefydlu'r holl ffeiliau ffurfweddu angenrheidiol. Mae hyn yn digwydd pan fydd cam ffurfweddu yn cael ei fethu, ni roddir yr hawliau priodol, neu pan wneir gwall bach yn y ffeiliau ffurfweddu. Rydym yn argymell eich bod yn astudio'r cyfarwyddiadau yn ofalus gam wrth gam eto, efallai eich bod wedi methu un o'r camau. Os nad oes dim yn helpu, byddai'n syniad da ailosod yr OS a dilyn yr holl gamau o'r dechrau. Rydym yn argymell defnyddio sampl wedi'i leoli yn /cfg/3proxy.cfg.sample, fel cyfluniad prawf, a'r rhagosodedig wal dân-cmd fel wal dân.
Logio
Mae'r mater olaf, ond nid llai pwysig, yn ymwneud â storio ffeiliau. Mae 3proxy yn cymryd sawl mb yn ystod y gosodiad, ond dim ond trwy logio gyda threigl amser y gellir cynyddu'r maint yn sylweddol. Y ffaith yw bod llawer o ddefnyddwyr yn galluogi cofnodi log mewn ffeil ar wahân, ond nid ydynt yn sefydlu cylchdro ac nid ydynt yn dileu logiau amherthnasol. Gellir defnyddio tri opsiwn i ddatrys y broblem hon:
- Galluogi logio;
- Dileu logiau amherthnasol o bryd i'w gilydd;
- Galluogi cylchdroi, fel y gwnaed yn y ffurfweddiad uchod. Er enghraifft, mae "cylchdroi 30" yn y ffeil ffurfweddu yn golygu y bydd 3proxy ond yn storio'r 30 ffeil diweddaraf.
Casgliad
Mae gosod a ffurfweddu 3proxy ar systemau gweithredu CentOS ac ArchLinux yn dasg eithaf syml, ond ar yr un pryd yn effeithiol. Roedd yr erthygl yn ymdrin â'r camau i osod y pecynnau angenrheidiol, ffurfweddu ffeiliau ffurfweddu, a lansio'r gwasanaeth. Bydd y wybodaeth a enillwyd yn caniatáu ichi osod a ffurfweddu eich gweinydd dirprwy eich hun heb unrhyw anawsterau.