Baza wiedzy Proste instrukcje dotyczące pracy z usługą Profitserver
Główny Baza wiedzy Konfiguracja 3proxy na CentOS/ArchLinux

Konfiguracja 3proxy na CentOS/ArchLinux


W tym artykule pokażemy konfigurację 3proxy na dedykowanym serwerze opartym na systemie operacyjnym ArchLinux/CentOS. 3proxy jest jednym z najbardziej odpowiednich i funkcjonalnych narzędzi. Obsługuje różne typy protokołów: HTTP, HTTPS, FTP, SOCKS i inne. Pomoże Ci skonfigurować własny serwer proxy w ciągu kilku minut.

Artykuł zawiera wskazówki krok po kroku dotyczące instalacji narzędzia i jego dalszej konfiguracji. Omówiono takie kwestie, jak instalacja z oficjalnego źródła, konfiguracja plików konfiguracyjnych, otwieranie niestandardowych portów, a także opisano typowe błędy i podano praktyczne zalecenia dotyczące ich rozwiązania. Przed uruchomieniem należy zamówić serwer VPS lub serwer dedykowany z systemem operacyjnym CentOS lub ArchLinux. Wszystkie czynności w przykładzie zostaną wykonane na serwerze dedykowanym z systemem operacyjnym CentOS7 i jednym dedykowanym, statycznym, publicznym adresem IP.

instalacja sprzętu

Krok 1

3proxy instaluje się bezpośrednio ze źródeł. Jako kompilator zostanie użyty gcc . Łączymy się z serwerem jako root (superużytkownik) i instalujemy kompilator.

yum install gcc

Krok 2

Teraz należy pobrać pliki źródłowe 3proxy. Można to zrobić, odwiedzając oficjalną stronę i kopiując link do aktualnej wersji:

Instalacja narzędzia

Jeśli potrzebujesz wersji archiwalnej, możesz również pobrać link bezpośrednio z serwisu GitHub :

Instalowanie 3proxy z Github

W momencie pisania tego artykułu aktualna wersja to 0.9.3. Pobierz ją i natychmiast rozpakuj:

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

Krok 3

Przejdź do katalogu z rozpakowanym projektem i skompiluj:

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

Krok 4

Tworzymy katalogi i kopiujemy plik 3proxy do /usr/bin:

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

Krok 5

Tworzymy użytkownika do pracy z katalogiem. W tym przypadku jego nazwa to 3proxyuser:

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

Utworzonemu użytkownikowi udzielamy uprawnień do pracy z katalogami:

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

Teraz utwórzmy plik konfiguracyjny za pomocą polecenia:

touch /etc/3proxy/3proxy.cfg

W razie potrzeby możesz ustawić uprawnienia do pliku konfiguracyjnego dla użytkownika root. Ten krok nie jest obowiązkowy, ale zapewni dodatkową ochronę:

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

Konfiguracja 3proxy

Krok 6

Należy poprawnie wypełnić plik konfiguracyjny, który został utworzony wcześniej. Najpierw należy sprawdzić uid i gid użytkownika za pomocą polecenia:

id 3proxyuser

W naszym przypadku są to następujące wartości:

płyn i gid

Aby wypełnić plik konfiguracyjny, możesz skorzystać z gotowych konfiguracji lub dokumentacji na oficjalnej stronie internetowej. Plik z przykładem jest również domyślnie preinstalowany; znajdziesz go w ścieżce: /cfg/3proxy.cfg.sample

Jako przykład rozważymy 2 typy konfiguracji: z logowaniem i bez . Każdy wiersz będzie opatrzony komentarzem (oznaczonym symbolem „#”).

Oto przykład gotowej konfiguracji bez logowania :

# 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

Rozważaliśmy opcję pliku konfiguracyjnego bez logowania. Teraz utworzymy plik konfiguracyjny z logowaniem i autoryzacją użytkownika ; zostanie on użyty później podczas konfiguracji serwera.

Pamiętaj o podaniu informacji autoryzacyjnych, ponieważ serwer może zostać wykryty nawet na niestandardowych portach.

# 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

To kończy konfigurację głównego pliku konfiguracyjnego. Przechodzimy do etapu końcowego i uruchomienia.

Krok 7

Utwórz plik inicjalizacyjny dla systemd:

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

Wydaj niezbędne prawa:

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

Skopiuj i wklej następujące wartości do pliku i zapisz:

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

Uwaga: w wartości „ExecStop” należy podać nazwę użytkownika utworzoną w kroku nr 5.

Następnie należy zaktualizować konfigurację demona za pomocą polecenia:

systemctl daemon-reload

Krok 8

Jedyne, co musimy zrobić, to uruchomić skonfigurowany 3proxy, dodać go do autostartu, a także otworzyć porty w zaporze.

Dodaj do autostartu, uruchom i sprawdź status:

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

Po sprawdzeniu statusu widzimy informację, że 3proxy zostało pomyślnie uruchomione:

Serwer proxy jest uruchomiony

Pozostało już tylko otworzyć porty:

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

W razie potrzeby zrestartuj serwer. Można sprawdzić, czy porty są otwarte za pomocą polecenia:

firewall-cmd --list-all

Co powinno być:

Otwórz porty zapory

Jak widać, oba porty zostały pomyślnie otwarte i są nasłuchiwane. Połączenie http jest na pierwszym porcie, a połączenie SOCKS na drugim porcie.

Sprawdź połączenie za pomocą dowolnej dogodnej usługi:

Pomyślna konfiguracja 3proxy

Wszystko działa. Z naszej strony nie zalecamy korzystania z niezabezpieczonego połączenia bez autoryzacji loginu/hasła, a także ze standardowym zestawem portów . Podczas konfiguracji pliku konfiguracyjnego należy podać login i utworzyć złożone hasło, a także zmienić porty na niestandardowe . W wyjątkowych przypadkach możliwe jest użycie autoryzacji adresu IP.

Częste problemy

Coś poszło nie tak i proxy nie działa? Być może konfiguracja 3proxy została wykonana niepoprawnie. Rozważmy najczęstsze problemy i ich rozwiązania podczas instalowania i konfigurowania narzędzia.

Brak połączenia

Najczęstszym problemem wielu użytkowników jest niedostępne połączenie, gdy pliki konfiguracyjne wydają się być skonfigurowane poprawnie. Jeśli jesteś pewien, że wszystkie ustawienia zostały skonfigurowane poprawnie, dostawca hostingu nie ogranicza wybranego portu, a wszystkie dane wskazują na działającą usługę, problem może leżeć w zaporze, a dokładniej w jej nieprawidłowej konfiguracji. Przykładowo, w systemie mogą być zainstalowane więcej niż dwa programy, które będą ze sobą kolidować. Aby rozwiązać problem, wystarczy użyć jednej konkretnej zapory. Radzimy wybrać tylko iptables lub firewall-cmd.

Usługa nie uruchamia się

Usługa nie uruchamia się po skonfigurowaniu wszystkich niezbędnych plików konfiguracyjnych. Dzieje się tak, gdy pominięto krok konfiguracji, nie nadano odpowiednich uprawnień lub wystąpił drobny błąd w plikach konfiguracyjnych. Zalecamy ponowne, dokładne zapoznanie się z instrukcją krok po kroku, być może pominięto któryś z kroków. Jeśli nic nie pomoże, warto ponownie zainstalować system operacyjny i wykonać wszystkie kroki od początku. Zalecamy użycie przykładowego pliku z katalogu /cfg/3proxy.cfg.sample jako konfiguracji testowej oraz preinstalowanego polecenia firewall-cmd jako zapory sieciowej.

Logowanie

Ostatnia, ale nie mniej ważna kwestia dotyczy przechowywania plików. 3proxy zajmuje kilka MB podczas instalacji, ale rozmiar ten można znacznie zwiększyć tylko poprzez logowanie z upływem czasu. Faktem jest, że wielu użytkowników włącza rejestrowanie logów w osobnym pliku, ale nie ustawia rotacji i nie usuwa nieistotnych logów. Do rozwiązania tego problemu można użyć trzech opcji:

  1. Włącz rejestrowanie;
  2. Okresowo usuwaj nieistotne logi;
  3. Włącz obrót, jak zrobiono w konfiguracji powyżej. Na przykład „rotate 30” w pliku konfiguracyjnym oznacza, że ​​3proxy będzie przechowywać tylko 30 najnowszych plików.

Wniosek

Instalacja i konfiguracja 3proxy w systemach operacyjnych CentOS i ArchLinux to dość proste, ale jednocześnie skuteczne zadanie. W artykule opisano kroki instalacji niezbędnych pakietów, konfiguracji plików konfiguracyjnych i uruchomienia usługi. Zdobyta wiedza pozwoli Ci samodzielnie zainstalować i skonfigurować serwer proxy bez żadnych trudności.

❮ Poprzedni artykuł Jak zresetować hasło systemu Windows
Następny artykuł ❯ Jak zwiększyć partycję dysku w systemie Windows

Zapytaj nas o VPS

Jesteśmy zawsze gotowi odpowiedzieć na Państwa pytania o każdej porze dnia i nocy.