Ebben a cikkben bemutatjuk a 3proxy konfigurációt egy dedikált szerveren, amelyet az ArchLinux/CentOS operációs rendszer működtet. A 3proxy az egyik legfontosabb és legfunkcionálisabb eszköz. Támogatja a különböző típusú protokollokat: HTTP, HTTPS, FTP, SOCKS és mások. Segítségével néhány perc alatt beállíthatja saját proxykiszolgálóját.
A cikk lépésről lépésre útmutatást tartalmaz a segédprogram telepítéséhez és további konfigurálásához. Olyan problémákat tárgyal, mint a hivatalos forrásból történő telepítés, a konfigurációs fájlok beállítása, a nem szabványos portok megnyitása, valamint a gyakori hibák leírása és a megoldásukra vonatkozó gyakorlati javaslatok. Indítás előtt meg kell rendelnie egy CentOS vagy ArchLinux operációs rendszerrel működő VPS-t vagy dedikált szervert . A példában szereplő összes műveletet egy CentOS7 operációs rendszerrel működő dedikált szerveren hajtjuk végre, egyetlen dedikált statikus nyilvános IP-címmel.
Telepítés
1 lépés
A 3proxy közvetlenül a forrásból települ. A gcc fordítóprogramként fog szolgálni. Root (superuser) felhasználóként csatlakozunk a szerverhez, és telepítjük a fordítót.
yum install gcc
2 lépés
Most le kell töltened a 3proxy forrásfájljait. Ezt úgy teheted meg, hogy felkeresed a hivatalos weboldalt , és kimásolod a jelenlegi verzió linkjét:
Ha archivált verzióra van szüksége, a linket közvetlenül a GitHubról is letöltheti :
A cikk írásakor a jelenlegi verzió a 0.9.3. Töltse le és azonnal csomagolja ki:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz
3 lépés
Lépjen a kicsomagolt projekt könyvtárába, és fordítsa le:
cd 3proxy-0.9.3/
make -f Makefile.Linux
4 lépés
Könyvtárakat hozunk létre, és a 3proxy fájlt a /usr/bin mappába másoljuk:
mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/
5 lépés
Létrehozunk egy felhasználót a katalógussal való munkához. Ebben az esetben a felhasználónév 3proxyuser:
useradd -s /usr/sbin/nologin -U -M -r 3proxyuser
A létrehozott felhasználónak jogot adunk a könyvtárakkal való munkavégzéshez:
chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy
Most hozzunk létre egy konfigurációs fájlt a paranccsal:
touch /etc/3proxy/3proxy.cfg
Szükség esetén beállíthatja a root felhasználó konfigurációs fájljához tartozó jogosultságokat. Ez a lépés nem kötelező, de védelmet biztosít:
chmod 600 /etc/3proxy/3proxy.cfg
3 proxy konfiguráció
6 lépés
A korábban létrehozott konfigurációs fájlt helyesen kell kitölteni. Először keresse meg a felhasználó uid-jét és gid-jét a következő paranccsal:
id 3proxyuser
Esetünkben ezek a következő értékek:
A konfigurációs fájl kitöltéséhez használhatja a kész konfigurációkat, vagy a hivatalos weboldalon található dokumentációt . Alapértelmezés szerint egy példafájl is előre telepítve van, amelyet a következő elérési úton találhat: /cfg/3proxy.cfg.sample
Példaként kétféle konfigurációt fogunk vizsgálni: naplózással és naplózás nélkül . Minden sort megjegyzések kísérnek (ezeket a „#” jel jelöli).
Ez egy példa egy kész konfigurációra naplózás nélkü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
Fontolóra vettük a naplózás nélküli konfigurációs fájl lehetőségét. Most létrehozunk egy naplózást és felhasználói jogosultságot tartalmazó konfigurációs fájlt ; ezt később, a szerver beállításakor fogjuk használni.
Feltétlenül add meg az engedélyezési információkat, mivel a szerver még nem szabványos portokon is észlelhető.
# 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
Ezzel befejeződik a fő konfigurációs fájl beállítása. Továbblépünk az utolsó szakaszra és indulunk.
7 lépés
Hozzon létre egy inicializáló fájlt a systemd számára:
touch /etc/systemd/system/3proxy.service
A szükséges jogok kiadása:
chmod 664 /etc/systemd/system/3proxy.service
Másolja és illessze be a következő értékeket a fájlba, majd mentse:
[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»
Megjegyzés: az „ExecStop” értékben meg kell adnia az 5. lépésben létrehozott felhasználónevet.
Ezután frissítenie kell a Daemon konfigurációját a következő paranccsal:
systemctl daemon-reload
8 lépés
Csak el kell indítanunk a beállított 3proxyt, hozzáadni az automatikus indításhoz, és megnyitni a portokat a tűzfalban.
Adja hozzá az automatikus indításhoz, indítsa el és ellenőrizze az állapotot:
systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy
Az állapot ellenőrzése után azt látjuk, hogy a 3proxy sikeresen elindult:
Már csak a portok megnyitása van hátra:
firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload
Ha szükséges, indítsa újra a szervert. A következő paranccsal ellenőrizhető, hogy a portok nyitva vannak-e:
firewall-cmd --list-all
Mi legyen:
Amint látjuk, mindkét portot sikeresen megnyitották, és hallgatják. A http kapcsolat az első porton van, a zokni a második porton.
Ellenőrizze a kapcsolatot bármely kényelmes szolgáltatáson keresztül:
Minden működik. Részünkről nem javasoljuk nem biztonságos kapcsolat használatát bejelentkezés/jelszó hitelesítés nélkül, valamint szabványos portkészlettel . A konfigurációs fájl beállításakor ügyeljen arra, hogy megadjon egy bejelentkezési nevet és hozzon létre egy összetett jelszót, valamint a portokat is módosítsa nem szabványosra . Kivételes esetekben lehetőség van IP-cím hitelesítés használatára .
Gyakori problémák
Valami hiba történt, és a proxy nem működik? Lehet, hogy a 3proxy konfigurációja rosszul lett elvégezve. Tekintsük a leggyakoribb problémákat és azok megoldásait a segédprogram telepítése és konfigurálása során.
Nincs kapcsolat
Sok felhasználó számára a leggyakoribb probléma a hozzáférhetetlen kapcsolat, amikor úgy tűnik, hogy a konfigurációs fájlok megfelelően vannak konfigurálva. Ha biztos abban, hogy minden beállítás helyesen van konfigurálva, a tárhelyszolgáltató nem korlátozza a kiválasztott portot és minden adat működő szolgáltatásra utal, akkor a probléma a tűzfalban, pontosabban annak hibás konfigurációjában lehet. Például előfordulhat, hogy kettőnél több program van telepítve a rendszerre, amelyek ütköznek egymással. A probléma megoldásához elegendő egy adott tűzfal használata. Javasoljuk, hogy csak az iptables vagy a firewall-cmd lehetőséget válasszon.
A szolgáltatás nem indul el
A szolgáltatás nem indul el az összes szükséges konfigurációs fájl beállítása után. Ez akkor fordul elő, ha egy konfigurációs lépés kimarad, nincsenek megadva a megfelelő jogosultságok, vagy kisebb hiba történik a konfigurációs fájlokban. Javasoljuk, hogy figyelmesen tanulmányozza át újra az utasításokat lépésről lépésre, talán kihagyott egy lépést. Ha semmi sem segít, érdemes újratelepíteni az operációs rendszert, és az összes lépést az elejétől követni. Javasoljuk, hogy tesztkonfigurációként a /cfg/3proxy.cfg.sample címen található mintafájlt , tűzfalként pedig az előre telepített firewall-cmd-t használja.
Fakitermelés
Az utolsó, de nem kevésbé fontos kérdés a fájltároláshoz kapcsolódik. A 3proxy több mb-ot vesz igénybe a telepítés során, de a méretet csak naplózással lehet jelentősen növelni az idő múlásával. Az a tény, hogy sok felhasználó engedélyezi a naplók rögzítését külön fájlban, de nem állítja be a forgatást, és nem törli a nem releváns naplókat. A probléma megoldására három lehetőség közül választhat:
- Naplózás engedélyezése;
- Rendszeresen törölje az irreleváns naplókat;
- Engedélyezze a forgatást a fenti konfiguráció szerint. Például a konfigurációs fájlban a „30 forgatás” azt jelenti, hogy a 3proxy csak a legújabb 30 fájlt tárolja.
Összegzés
A 3proxy telepítése és konfigurálása CentOS és ArchLinux operációs rendszereken meglehetősen egyszerű, de ugyanakkor hatékony feladat. A cikk a szükséges csomagok telepítésének, a konfigurációs fájlok konfigurálásának és a szolgáltatás elindításának lépéseit ismertette. A megszerzett tudás lehetővé teszi, hogy saját maga telepítse és konfigurálja a proxyszervert minden nehézség nélkül.