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 支持