Tässä artikkelissa näytämme 3-välityspalvelimen kokoonpanon erillisessä palvelimessa, joka toimii ArchLinux/CentOS-käyttöjärjestelmällä. 3proxy on yksi tärkeimmistä ja toiminnallisimmista työkaluista. Se tukee erityyppisiä protokollia: HTTP, HTTPS, FTP, SOCKS ja muut. Se auttaa sinua määrittämään oman välityspalvelimesi muutamassa minuutissa.
Artikkeli sisältää vaiheittaiset ohjeet apuohjelman asennuksesta ja sen jatkokokoonpanosta. Ongelmia, kuten asennus virallisesta lähteestä, asetustiedostojen asetus, epästandardien porttien avaaminen pohditaan sekä yleisiä virheitä kuvataan ja käytännön suosituksia niiden ratkaisemiseksi. Ennen julkaisua sinun on tilattava a VPS or oma palvelin toimii CentOS- tai ArchLinux-käyttöjärjestelmällä. Kaikki esimerkin toiminnot suoritetaan erillisellä palvelimella, joka toimii CentOS7-käyttöjärjestelmällä ja jolla on yksi staattinen julkinen IP-osoite.
Asennus
Vaihe 1
3proxy asennetaan suoraan lähteistä. gcc käytetään kääntäjänä. Yhdistämme palvelimeen pääkäyttäjänä (superuser) ja asennamme kääntäjän.
yum install gcc
Vaihe 2
Nyt sinun on ladattava 3proxy-lähdetiedostot. Voit tehdä tämän menemällä osoitteeseen virallinen nettisivu ja kopioimalla linkin nykyiseen versioon:
Jos tarvitaan arkistoitu versio, voit myös ladata linkin suoraan osoitteesta GitHub:
Tätä artikkelia kirjoitettaessa nykyinen versio on 0.9.3. Lataa se ja pura se heti:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
Vaihe 3
Mene hakemistoon, jossa on pakattu projekti ja käännä:
cd 3proxy-0.9.3/
make -f Makefile.Linux
Vaihe 4
Luomme hakemistoja ja kopioimme 3proxy-tiedoston kansioon /usr/bin:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
Vaihe 5
Luomme käyttäjän työskentelemään luettelon kanssa. Tässä tapauksessa käyttäjätunnus on 3 välityspalvelin:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
Myönnämme oikeudet työskennellä hakemistojen kanssa luodulle käyttäjälle:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Luodaan nyt asetustiedosto komennolla:
touch /etc/3proxy/3proxy.cfg
Tarvittaessa voit määrittää pääkäyttäjän asetukset määritystiedostoon. Tämä vaihe ei ole pakollinen, mutta lisää suojaa:
chmod 600 /etc/3proxy/3proxy.cfg
3 välityspalvelimen kokoonpano
Vaihe 6
Aiemmin luotu asetustiedosto on täytettävä oikein. Selvitä ensin käyttäjän uid ja gid komennolla:
id 3proxyuser
Meidän tapauksessamme nämä ovat seuraavat arvot:
Voit täyttää konfigurointitiedoston ottamalla valmiita konfiguraatioita tai käyttämällä dokumentointi virallisella verkkosivustolla. Myös esimerkkitiedosto on valmiiksi asennettuna oletusarvoisesti; löydät sen polun varrelta: /cfg/3proxy.cfg.sample
Esimerkkinä tarkastelemme kahta kokoonpanotyyppiä: kirjautumalla ja ilman. Jokaiselle riville liitetään kommentit (ne on merkitty #-symbolilla).
Tämä on esimerkki valmiista konfiguraatiosta ilman kirjaamista:
# 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
Harkitsimme määritystiedoston vaihtoehtoa ilman kirjaamista. Nyt luomme määritystiedoston kanssa kirjaaminen ja käyttäjän valtuutus; sitä käytetään myöhemmin palvelimen asennuksen aikana.
Varmista, että annat valtuutustiedot, koska palvelin voidaan havaita myös epästandardeista porteista.
# 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
Tämä päättää päämääritystiedoston asennuksen. Siirrymme viimeiseen vaiheeseen ja aloitamme.
Vaihe 7
Luo alustustiedosto systemd:lle:
touch /etc/systemd/system/3proxy.service
Myönnä tarvittavat oikeudet:
chmod 664 /etc/systemd/system/3proxy.service
Kopioi ja liitä seuraavat arvot tiedostoon ja tallenna:
[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»
Huomioita: ExecStop-arvossa sinun on määritettävä käyttäjänimi, joka luotiin vaiheessa 5.
Sen jälkeen sinun on päivitettävä Daemon-kokoonpano komennolla:
systemctl daemon-reload
Vaihe 8
Ainoa, mitä tarvitsemme, on käynnistää määritetty 3-välityspalvelin, lisätä se automaattiseen käynnistykseen ja avata myös palomuurin portit.
Lisää se automaattiseen käynnistykseen, käynnistä ja tarkista tila:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Tilan tarkistamisen jälkeen näemme tiedon, että 3proxy on käynnistetty onnistuneesti:
Ainoa asia jäljellä on avata portit:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Tarvittaessa käynnistä palvelin uudelleen. On mahdollista tarkistaa, ovatko portit auki komennolla:
firewall-cmd --list-all
Mitä pitäisi olla:
Kuten näemme, molemmat portit on avattu onnistuneesti ja niitä kuunnellaan. http-yhteys on ensimmäisessä portissa, sukat on toisessa portissa.
Tarkista yhteys minkä tahansa kätevän palvelun kautta:
Kaikki toimii. Meidän osaltamme emme suosittele suojaamattoman yhteyden käyttöä ilman sisäänkirjautumis-/salasanan valtuutusta tai vakioporttien kanssa. Kun määrität asetustiedostoa, muista määrittää kirjautumistunnus ja luoda monimutkainen salasana ja vaihtaa myös portit ei-standardeihin. Poikkeustapauksissa on mahdollista käyttää IP-osoitteen valtuutusta
Yleiset ongelmat
Jotain meni pieleen ja välityspalvelin ei toimi? Ehkä 3-välityspalvelimen asetukset tehtiin väärin. Tarkastellaan yleisimpiä ongelmia ja niiden ratkaisuja apuohjelman asennuksen ja määrityksen aikana.
Ei yhteyttä
Yleisin ongelma monille käyttäjille on saavuttamattomissa oleva yhteys, kun asetustiedostot näyttävät olevan määritetty oikein. Jos olet varma, että kaikki asetukset on määritetty oikein, isännöintipalveluntarjoaja ei rajoita valittua porttia ja kaikki tiedot viittaavat toimivaan palveluun, vika voi olla palomuurissa tai tarkemmin sanottuna sen virheellisissä määrityksissä. Esimerkiksi järjestelmään voi olla asennettuna enemmän kuin kaksi ohjelmaa, jotka ovat ristiriidassa keskenään. Ongelman ratkaisemiseksi riittää yhden tietyn palomuurin käyttäminen. Suosittelemme valitsemaan vain iptables tai firewall-cmd.
Palvelu ei käynnisty
Palvelu ei käynnisty, kun kaikki tarvittavat konfigurointitiedostot on asetettu. Tämä tapahtuu, kun konfigurointivaihe jätetään väliin, asianmukaisia oikeuksia ei anneta tai asetustiedostoihin tehdään pieni virhe. Suosittelemme, että luet ohjeet huolellisesti vaihe vaiheelta uudelleen, ehkä olet unohtanut yhden vaiheista. Jos mikään ei auta, olisi hyvä idea asentaa käyttöjärjestelmä uudelleen ja noudattaa kaikkia vaiheita alusta alkaen. Suosittelemme käyttöä näyte sijaitsee osoitteessa /cfg/3proxy.cfg.sample, testikokoonpanona ja esiasennettuna palomuuri-cmd palomuurina.
Hakkuu
Viimeinen, mutta yhtä tärkeä kysymys liittyy tiedostojen tallennustilaan. 3proxy vie useita megatavuja asennuksen aikana, mutta kokoa voidaan kasvattaa merkittävästi vain kirjaamalla ajan myötä. Tosiasia on, että monet käyttäjät sallivat lokin tallennuksen erilliseen tiedostoon, mutta eivät määritä kiertoa eivätkä poista merkityksettömiä lokeja. Tämän ongelman ratkaisemiseksi voidaan käyttää kolmea vaihtoehtoa:
- Ota kirjaus käyttöön;
- Poista epäolennaiset lokit ajoittain;
- Ota kierto käyttöön, kuten yllä olevassa määrityksessä tehtiin. Esimerkiksi "käännä 30" asetustiedostossa tarkoittaa, että 3proxy tallentaa vain 30 viimeisintä tiedostoa.
Yhteenveto
3proxyn asentaminen ja määrittäminen CentOS- ja ArchLinux-käyttöjärjestelmiin on melko yksinkertainen, mutta samalla tehokas tehtävä. Artikkeli käsitteli vaiheet tarvittavien pakettien asentamiseksi, määritystiedostojen määrittämiseksi ja palvelun käynnistämiseksi. Saatujen tietojen avulla voit asentaa ja määrittää välityspalvelimesi itse ilman vaikeuksia.