Danted/Socks5_代理服務_多IP_多出口的配置_3proxy


Danted/Socks5 代理服務_多IP_多出口的配置_3proxy

轉載注明來源: 本文鏈接 來自osnosn的博客,寫於 2020-03-01.

danted 的配置文件為 /etc/danted.conf
查看,man danted.conf 中關於 external.rotation 的說明。

比如你有三個網口 eth0, eth1, eth2

  • 讓danted監聽所有網口的1080
internal: 0.0.0.0 port = 1080 
  • 把三個網口都加入danted的出口。並指定由"系統路由"決定出口。
#external: 0.0.0.0   #這行0.0.0.0的寫法不支持
external: eth0
external: eth1
external: eth2
external.rotation: route

  • CentOS 沒有dante-server這個包,可以考慮從源碼編譯安裝。或者使用3proxy這個包(在epel中)。
    • 3proxy (github), 3proxy.cfg(3) - Linux man page
    • 在win8.1上用3proxy搭建socks4/4.5/5代理
    • 3proxy.cfg 中,可以開啟多個服務,比如 dns代理,http代理,socks5代理,pop3代理。
      每個代理服務的定義通常由語句: auth, flush 開始。
      auth定義新的一種認證方式, flush清除之前的ACL規則(即allow和deny規則)。
    • 3proxy 直接定義多條external, 會自動根據系統route表選取出口。也可以直接寫 external 0.0.0.0

  • debian 10 中找不到3proxy的包,可以從源碼編譯。
    • 從【github_3proxy-archive】, release中下載最新的源碼tar.gz, 目前是0.8.13.
    • 解壓,ln -s Makefile.Linux Makefile, apt install make gcc, make, make install
      • 出現gcc: error: unrecognized command line option '-mthreads'; did you mean '-pthread',
        則需安裝 apt install libpthread-stubs0-dev
    • init.d 腳本為 源碼目錄的 script/rc.d/proxy.sh (需要修改,有bug) , 需要killall指令支持。apt install psmisc
      如果不是WSL1的系統,可以用systemd的啟動腳本。
# /lib/systemd/system/3proxy.service
[Unit]
Description=3proxy Proxy Server
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/3proxy /usr/local/etc/3proxy/3proxy.cfg

[Install]
WantedBy=multi-user.target
# 3proxy.cfg 例子
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
users uuu:CL:uupwd
daemon
log /var/log/3proxy.log
logformat "- +_L%t.%.  %N.%p %E %U %C:%c %R:%r %O %I %h %T"
archiver gz /bin/gzip %F
rotate 30
auth iponly
external 0.0.0.0
internal 0.0.0.0
auth strong
flush
#allow uuu * 10.22.33.0/24 *
#parent 1000 socks5+ 10.33.44.55 1080 sss sspwd
allow uuu * * * *
proxy -n -p88
auth strong
flush
#allow uuu * 10.22.33.0/24 *
#parent 1000 socks5 10.33.44.55 1080 sss sspwd
#parent 1000 socks5+ 10.66.77.88 1080 sss sspwd
#多級socks5級聯,除最后一個代理外,中間級要用socks5,中間級不能用socks5+
allow uuu
maxconn 20
socks
socks -p1081
  • 3proxy】 的 GitHub 已經是0.9.3, 對於Debian,已經有.deb包下載。
  • deb安裝的 3proxy 如果要使用小於1024的端口會失敗。
    使用 setcap 'cap_net_raw,cap_net_bind_service+ep' /bin/3proxy 也不行。
    需要修改 /etc/3proxy/3proxy.cfgchroot /usr/local/3proxy proxy proxy 改為 chroot /usr/local/3proxy

  • debian 10 中 tinyproxy 的 upstream 配置,比起 3proxy來說差太多。
    • tinyproxy 1.10.0 支持 upstream socks5 user:pwd@ip:port "xxx.xxx"
      文檔中說支持 10.0.0.0/8 的格式。socks5時,實際上並不支持ip段,只支持域名。
      所以要把 IP 當域名配置 如 "10.1.1.1" , "192.168.5.22", 非常不好用。
    • upstream none "10.0.0.0/8" 是支持ip段,和 域名的。

轉載注明來源: 本文鏈接 來自osnosn的博客.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM