知識庫 使用 Profitserver 服務的簡單說明
主要 知識庫 3CentOS/ArchLinux 上的代理程式配置

3CentOS/ArchLinux 上的代理程式配置


在本文中,我們將展示由 ArchLinux/CentOS 作業系統驅動的專用伺服器上的 3proxy 配置。 3proxy 是最相關且功能最強大的工具之一。它支援各種類型的協定:HTTP、HTTPS、FTP、SOCKS等。它將幫助您在幾分鐘內設定自己的代理伺服器。

本文包含有關實用程式安裝及其進一步配置的逐步指導。考慮了從官方來源安裝、設定設定檔、開啟非標準連接埠等問題,描述了常見錯誤並給出了解決這些錯誤的實用建議。在發射之前,你必須訂購 VPS or 專用服務器 由 CentOS 或 ArchLinux 作業系統提供支援。範例中的所有操作都將在由 CentOS7 作業系統驅動且具有專用靜態公用 IP 位址的專用伺服器上執行。

安裝

步驟 1

3proxy 直接從來源安裝。 GCC 將被用作編譯器。我們以 root(超級用戶)身份連接到伺服器並安裝編譯器。

yum install gcc

步驟 2

現在需要下載3proxy原始檔。您可以透過以下方式執行此操作: 官方網站 並複製當前版本的連結:

安裝實用程式

如果需要存檔版本,您也可以直接從 GitHub上:

從 Github 安裝 3proxy

在撰寫本文時,目前版本是 0.9.3。下載並立即解壓縮:

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

步驟 3

進入解壓縮後的專案目錄並進行編譯:

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

步驟 4

我們建立目錄並將 3proxy 檔案複製到 /usr/bin:

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

步驟 5

我們建立一個使用者來使用該目錄。在這種情況下,用戶名是 3代理用戶:

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

我們授予建立的使用者使用目錄的權限:

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

現在讓我們使用以下命令建立一個設定檔:

touch /etc/3proxy/3proxy.cfg

如果有必要,您可以為 root 使用者設定設定檔的權限。此步驟不是強制性的, 但會增加保護:

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

3代理配置

步驟 6

需要正確填寫之前建立的設定檔。首先,透過以下命令找出使用者的uid和gid:

id 3proxyuser

在我們的例子中,這些是以下值:

uid 和 gid

要填寫配置文件,您可以採用現成的配置,也可以使用 文檔 在官方網站上。預設情況下,已經預先安裝了一個帶有範例的檔案;你可以沿著這條路找到它: /cfg/3proxy.cfg.sample

作為範例,我們將考慮兩種類型的配置: 有或無日誌記錄。每行都會附有註解(以「#」符號標記)。

這是一個現成配置的範例 無需記錄:

# 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

我們考慮了不帶日誌的設定檔選項。現在我們將建立一個配置文件 日誌記錄和使用者授權;稍後將在伺服器設定過程中使用.

確保提供授權訊息,因為即使在非標準連接埠上也可以檢測到伺服器.

# 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

這樣就完成了主設定檔的設定。我們進入最後階段並啟動。

步驟 7

為 systemd 建立初始化檔:

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

頒發必要的權利:

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

將以下值複製並貼上到文件中並儲存:

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

請注意: 在「ExecStop」值中,您必須指定在步驟5中建立的使用者名稱。

之後您需要使用以下指令更新守護程式設定:

systemctl daemon-reload

步驟 8

我們唯一需要做的就是啟動配置的 3proxy,將其新增至自動啟動,並在防火牆中開啟連接埠。

將其新增至自動啟動、啟動和檢查狀態:

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

檢查狀態後,我們看到3proxy已經啟動成功的訊息:

代理正在運行

剩下唯一要做的事情就是開啟連接埠:

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

如果有必要,請重新啟動伺服器。可以使用以下命令檢查連接埠是否開啟:

firewall-cmd --list-all

應該是:

開啟防火牆連接埠

我們可以看到,兩個連接埠都已成功開啟並正在監聽。 http 連接在第一個連接埠上,socks 在第二個連接埠上。

透過任何便捷的服務檢查連線:

3proxy 設定成功

一切正常運作。就我們而言, 我們不建議使用沒有登入/密碼授權的不安全連接,以及標準連接埠集。在設定設定檔時, 確保指定登入名稱並建立複雜密碼,並將連接埠變更為非標準端口。在特殊情況下,可以使用 IP 位址授權

常見問題

出現問題且代理無法正常運作?也許 3proxy 配置不正確。讓我們考慮在安裝和配置實用程式期間最常見的問題及其解決方案。

無連接

當設定檔似乎配置正確時,許多用戶最常見的問題是無法存取的連接。如果您確定所有設定均已正確配置,託管服務提供者未限制所選連接埠且所有資料都表明服務正常運行,則問題可能出在防火牆上,或者更準確地說,是其配置不正確。例如,系統上可能安裝了兩個以上的程序,這些程序會相互衝突。為了解決這個問題,使用特定的防火牆就足夠了。我們建議您只選擇 iptables 或firewall-cmd。

服務未啟動

設定所有必要的設定檔後,服務仍未啟動。當錯過設定步驟、未授予適當的權限或設定檔中出現小錯誤時,就會發生這種情況。我們建議您再仔細地、一步一步地研究一下說明,也許您錯過了其中一個步驟。如果沒有任何幫助,那麼重新安裝作業系統並從頭開始執行所有步驟將是一個好主意。我們建議使用 樣品 位於 /cfg/3proxy.cfg.sample,作為測試配置,並且預先安裝 防火牆命令 作為防火牆。

記錄

最後但同樣重要的問題與文件儲存有關。 3proxy 在安裝時佔用數MB,但隨著時間的推移,僅透過日誌記錄,大小就會顯著增加。事實上,許多使用者在單獨的檔案中啟用日誌記錄,但不設定輪換,也不刪除不相關的日誌。有三種方案可以解決這個問題:

  1. 啟用日誌記錄;
  2. 定期刪除不相關的日誌;
  3. 啟用旋轉,如上面的配置中所做的那樣。例如設定檔中的「rotate 30」表示3proxy只會儲存最新的30個檔案。

結語

在 CentOS 和 ArchLinux 作業系統上安裝和設定 3proxy 是一項相當簡單但同時有效的任務。本文介紹了安裝必要的套件、設定檔以及啟動服務的步驟。所獲得的知識將使您能夠自行安裝和配置代理伺服器,而不會遇到任何困難。

❮ 上一篇文章 如何在 Windows 作業系統上增加磁碟分割區
下一篇文章❯ 如何重設 Windows 密碼

向我們諮詢有關 VPS 的問題

無論白天或黑夜,我們隨時準備好解答您的問題。