基於 Ubuntu 伺服器配置原生的 Socks5 閘道器代理伺服器

張曉棟發表於2023-02-10

常見的代理協議有 http、https、socks4/5 這三種,http協議的代理搭建方案最簡單,但是http代理無法訪問https網站,https代理無法實現呼叫遠端dns,所以我個人推薦使用Scoks5協議做代理,本文用於記錄在Ubuntu系統中搭建Socks5代理的詳細步驟,採用dante-server作為服務端。

首先更新伺服器安裝源
sudo apt-get update

執行安裝命令
sudo apt-get install dante-server

新增一個使用者用於進行連線代理時的身份驗證

sudo useradd zhangxiaodong

sudo passwd zhangxiaodong

由於我們只想使用這個使用者用作Socks的代理登陸驗證,所以禁止這個使用者的系統登陸許可權

sudo vim /etc/passwd

將zhangxiaodong的shell改成 /bin/false,如下圖

sudo vim /etc/danted.conf

清空原來的內容輸入以下內容
我這邊的伺服器網路卡IP為 172.16.50.1,並採用 1080 作為代理埠則配置如下

logoutput: stderr

internal: 172.16.50.1  port = 1080

external: 172.16.50.1

#驗證賬戶:username  不驗證賬戶:none
method: username

user.privileged: root
user.notprivileged: nobody
user.libwrap: nobody
compatibility: sameport
compatibility: reuseaddr
extension: bind

client pass {
  from: 0.0.0.0/0 to: 0.0.0.0/0
  log: connect disconnect error
}

pass {
  from: 0.0.0.0/0 to: 0.0.0.0/0
  command: bind
  log: connect disconnect error
}

pass {
  from: 0.0.0.0/0 to: 0.0.0.0/0
  command: bindreply udpreply
  log: connect error
}

pass {
  from: 0.0.0.0/0 to: 0.0.0.0/0 port 1-65535
  protocol: tcp udp
}

pass {
  from: 0.0.0.0/0 to: 0.0.0.0/0 port 1-65535
  command: udpassociate
}

儲存退出即可,然後執行啟動
sudo /etc/init.d/danted start

檢視服務執行狀態
sudo netstat -anp | grep 1080

至此關於 基於 Ubuntu 伺服器配置原生的 Socks5 閘道器代理伺服器 就講解完了,有任何不明白的,可以在文章下面評論或者私信我,歡迎大家積極的討論交流,有興趣的朋友可以關注我目前在維護的一個 .NET 基礎框架專案,專案地址如下
https://github.com/berkerdong/NetEngine.git
https://gitee.com/berkerdong/NetEngine.git

相關文章