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
- 然后,修改系統路由表
ip route
- 后面的
client pass/block
socks pass/block
請參考網上的文章設置。 - 【dante 主頁】【Manual Page: SOCKD.CONF(5)】
- 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.cfg
中chroot /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段,和 域名的。
- tinyproxy 1.10.0 支持