Znalostnej bázy Jednoduchý návod na prácu so službou Profitserver
Hlavná Znalostnej bázy 3konfigurácia proxy na CentOS/ArchLinux

3konfigurácia proxy na CentOS/ArchLinux


V tomto článku ukážeme konfiguráciu 3proxy na dedikovanom serveri poháňanom operačným systémom ArchLinux/CentOS. 3proxy je jedným z najrelevantnejších a najfunkčnejších nástrojov. Podporuje rôzne typy protokolov: HTTP, HTTPS, FTP, SOCKS a ďalšie. Pomôže vám nastaviť si vlastný proxy server v priebehu niekoľkých minút.

Článok obsahuje podrobný návod na inštaláciu pomôcky a jej ďalšiu konfiguráciu. Zvažujú sa problémy ako inštalácia z oficiálneho zdroja, nastavenie konfiguračných súborov, otváranie neštandardných portov, ako aj popis bežných chýb a praktické odporúčania na ich riešenie. Pred spustením si musíte objednať a VPS or Dedikovaný server poháňaný operačným systémom CentOS alebo ArchLinux. Všetky akcie v príklade budú vykonávané na dedikovanom serveri poháňanom operačným systémom CentOS7 s jednou vyhradenou statickou verejnou IP adresou.

inštalácia

Krok 1

3proxy sa inštaluje priamo zo zdrojov. gcc sa použije ako kompilátor. Pripojíme sa k serveru ako root (superuser) a nainštalujeme kompilátor.

yum install gcc

Krok 2

Teraz je potrebné stiahnuť zdrojové súbory 3proxy. Môžete to urobiť tak, že prejdete na oficiálna web stránka a skopírovaním odkazu na aktuálnu verziu:

Inštalácia pomôcky

Ak je potrebná archivovaná verzia, môžete si tiež stiahnuť odkaz priamo z GitHub:

Inštalácia 3proxy z Github

V čase písania tohto článku je aktuálna verzia 0.9.3. Stiahnite si ho a ihneď rozbaľte:

wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz

Krok 3

Prejdite do adresára s rozbaleným projektom a skompilujte:

cd 3proxy-0.9.3/
make -f Makefile.Linux

Krok 4

Vytvoríme adresáre a skopírujeme 3proxy súbor do /usr/bin:

mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/

Krok 5

Vytvoríme používateľa na prácu s katalógom. V tomto prípade je používateľské meno 3proxyuser:

useradd -s /usr/sbin/nologin -U -M -r 3proxyuser

Vytvorenému používateľovi udeľujeme práva na prácu s adresármi:

chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy

Teraz vytvorte konfiguračný súbor pomocou príkazu:

touch /etc/3proxy/3proxy.cfg

V prípade potreby môžete nastaviť povolenia pre konfiguračný súbor pre užívateľa typu root. Tento krok nie je povinný, ale pridá ochranu:

chmod 600 /etc/3proxy/3proxy.cfg

3 konfigurácia proxy

Krok 6

Je potrebné správne vyplniť konfiguračný súbor, ktorý bol vytvorený skôr. Najprv zistite uid a gid používateľa príkazom:

id 3proxyuser

V našom prípade sú to nasledujúce hodnoty:

uid a gid

Na vyplnenie konfiguračného súboru si môžete vziať hotové konfigurácie alebo použiť dokumentácie na oficiálnej stránke. V predvolenom nastavení je už predinštalovaný aj súbor s príkladom; nájdete to na ceste: /cfg/3proxy.cfg.sample

Ako príklad zvážime 2 typy konfigurácie: s protokolovaním a bez neho. Každý riadok bude sprevádzaný komentármi (sú označené symbolom „#“).

Toto je príklad hotovej konfigurácie bez protokolovania:

# 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

Zvažovali sme možnosť konfiguračného súboru bez logovania. Teraz vytvoríme konfiguračný súbor s protokolovanie a autorizácia používateľov; použije sa neskôr počas nastavovania servera.

Uistite sa, že ste poskytli informácie o autorizácii, pretože server môže byť detekovaný aj na neštandardných portoch.

# 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 sa dokončí nastavenie hlavného konfiguračného súboru. Prejdeme do záverečnej fázy a spustíme.

Krok 7

Vytvorte inicializačný súbor pre systemd:

touch /etc/systemd/system/3proxy.service

Vydajte potrebné práva:

chmod 664 /etc/systemd/system/3proxy.service

Skopírujte a prilepte nasledujúce hodnoty do súboru a uložte:

[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»

Vezmite prosím na vedomie: v hodnote „ExecStop“ musíte zadať používateľské meno, ktoré bolo vytvorené v kroku č.5.

Potom musíte aktualizovať konfiguráciu démona pomocou príkazu:

systemctl daemon-reload

Krok 8

Jediné, čo potrebujeme, je spustiť nakonfigurovaný 3proxy, pridať ho do automatického spustenia a tiež otvoriť porty vo firewalle.

Pridajte ho do automatického spustenia, spustenia a kontroly stavu:

systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy

Po skontrolovaní stavu vidíme informáciu, že 3proxy bol úspešne spustený:

Proxy beží

Zostáva len otvoriť porty:

firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload

V prípade potreby reštartujte server. Či sú porty otvorené, je možné skontrolovať príkazom:

firewall-cmd --list-all

Čo by malo byť:

Otvorte porty brány firewall

Ako vidíme, oba porty boli úspešne otvorené a počúvajú sa. http pripojenie je na prvom porte, socks je na druhom porte.

Skontrolujte pripojenie prostredníctvom akejkoľvek pohodlnej služby:

Úspešné nastavenie 3 proxy

Všetko funguje. z našej strany neodporúčame používať nezabezpečené pripojenie bez autorizácie prihlásením/heslom, ako aj so štandardnou sadou portov. Pri nastavovaní konfiguračného súboru nezabudnite zadať prihlasovacie meno a vytvoriť zložité heslo a tiež zmeniť porty na neštandardné. Vo výnimočných prípadoch je možné použiť autorizáciu IP adresy

Bežné problémy

Niečo sa pokazilo a proxy nefunguje? Možno bola konfigurácia 3proxy vykonaná nesprávne. Pozrime sa na najbežnejšie problémy a ich riešenia počas inštalácie a konfigurácie pomôcky.

Žiadne spojenie

Najčastejším problémom mnohých používateľov je nedostupné pripojenie, keď sa zdá, že konfiguračné súbory sú nakonfigurované správne. Ak ste si istí, že všetky nastavenia sú správne nakonfigurované, poskytovateľ hostingu neobmedzuje vybraný port a všetky údaje naznačujú fungujúcu službu, problém môže byť vo Firewalle, presnejšie v jeho nesprávnej konfigurácii. Napríklad v systéme môžu byť nainštalované viac ako dva programy, ktoré budú vo vzájomnom konflikte. Na vyriešenie problému stačí použiť jeden konkrétny Firewall. Odporúčame vám vybrať iba iptables alebo firewall-cmd.

Služba sa nespustí

Služba sa nespustí po nastavení všetkých potrebných konfiguračných súborov. K tomu dochádza, keď sa vynechá konfiguračný krok, nie sú udelené príslušné práva alebo sa v konfiguračných súboroch vyskytne menšia chyba. Odporúčame vám, aby ste si znovu pozorne preštudovali pokyny krok za krokom, možno ste niektorý z krokov vynechali. Ak nič nepomôže, bolo by dobré preinštalovať OS a postupovať podľa všetkých krokov od začiatku. Odporúčame použiť vzorka nachádza sa na adrese /cfg/3proxy.cfg.sample ako testovacia konfigurácia a predinštalovaný firewall-cmd ako firewall.

Prihlásenie

Posledná, ale nemenej dôležitá otázka sa týka ukladania súborov. 3proxy trvá niekoľko MB počas inštalácie, ale veľkosť sa dá výrazne zvýšiť iba protokolovaním s postupom času. Faktom je, že mnohí používatelia povolia zaznamenávanie protokolov do samostatného súboru, ale nenastavujú rotáciu a nevymazávajú nepodstatné protokoly. Na riešenie tohto problému je možné použiť tri možnosti:

  1. Povoliť protokolovanie;
  2. Pravidelne odstraňovať irelevantné protokoly;
  3. Povoľte otáčanie, ako to bolo urobené v konfigurácii vyššie. Napríklad "rotate 30" v konfiguračnom súbore znamená, že 3proxy uloží len posledných 30 súborov.

Záver

Inštalácia a konfigurácia 3proxy na operačných systémoch CentOS a ArchLinux je pomerne jednoduchá, no zároveň efektívna úloha. Článok sa týkal krokov na inštaláciu potrebných balíkov, konfiguráciu konfiguračných súborov a spustenie služby. Získané znalosti vám umožnia nainštalovať a nakonfigurovať proxy server sami bez akýchkoľvek problémov.

❮ Predchádzajúci článok Ako obnoviť heslo systému Windows
Ďalší článok ❯ Ako zväčšiť oblasť disku v operačnom systéme Windows

Opýtajte sa nás na VPS

Sme vždy pripravení odpovedať na vaše otázky kedykoľvek počas dňa alebo v noci.