linux下3proxy二级代理使用指南

参考文档:

3Proxy再探 ——实现二级代理上网  

在VPS上用3Proxy架设http代理和socks代理(Ubuntu)

3proxy是俄罗斯人开发的一款开源轻量级的代理服务器软件,功能很强大。我们这里只是使用它的代理功能来实现小型局域网借助一台双网卡

(同时接2个网络)能够访问Internet的机器上网的例子。


示例:3台机器192.168.1.100-102 (其中192.168.1.100 双网卡,同时也接入了公司内网,可以通过公司的代理服务器10.42.20.8:80上网)。

我们在192.168.1.100上安装3proxy来启动服务代理,使得2台局域网的机器(192.168.1.101-102)能够也能够上网。


linux下3proxy二级代理使用指南_第1张图片


1、下载3proxy

http://www.3proxy.ru/download/

linux下3proxy二级代理使用指南_第2张图片


2、编译3proxy(将压缩包下载至用户目录下,本用例是/home/sam/)

tar zxf 3proxy-0.6.1.tgz

cd 3proxy-0.6.1

make –f Makefile.Linux

编译成功后在/src/目录下 有一个3proxy 执行文件产生。


3、3proxy.cfg配置文件配置如下


#!/usr/local/bin/3proxy
nserver *.*.*.* 该处是你需要修改的地方,以你实际的内网的DNS服务器为准
nserver *.*.*.*
nscache 65536

log /home/sam/3proxy-0.6.1/3proxy.log D
logformat "- +_G%t.%. %D %C TCP_MISS/200 %I %1-1T %2-2T %U DIRECT/%R application/unknown"
archiver rar rar a -df -inul %A %F
rotate 30

external 10.42.100.21
#external 0.0.0.0
# external is address 3proxy uses for outgoing connections. 0.0.0.0 means any
# interface. Using 0.0.0.0 is not good because it allows to connect to 127.0.0.1

internal 192.168.1.100

dnspr


auth iponly strong
#allow * * 192.168.1.101/200
#allow user1
#auth iponly
allow *
#allow * * * 80-88,8080-8088,8001-8010
#allow * * * 443,8443,8001-8010
parent 1000 http 10.41.20.8 80
proxy -a -p3128
socks -a -p3129


#nserver nscache 设置你的DNS缓存服务器IP以及缓存大小

#dnspr 使能dns 服务

#external 10.42.100.21 设置你的双网卡机器的非局域网IP

#internal 192.168.1.100 双网卡机器的局域网IP

#allow * 允许所有代理请求

#parent 1000 http 10.41.70.8 80 user:passwd   10.41.70.8是你的双网卡机器的上网代理服务器IP80 是代理端口user:passwd是你代理服务器验证凭证
#proxy -a -p3128 http代理端口3128 这个是你的双网卡机器设置的对局域网机器的代理HTTP端口
#socks -a -p3129 socks代理端口3129


4、运行3proxy服务


/src/3proxy 3proxy.cfg

同时将192.168.1.101-102机器上的 浏览器代理设置为192.168.1.100:3128即可,上网大功告成!

 

补充说明:该软件还可以设置多级主代理链,还可以分权重,很多功能。具体可以见他的参考手册docs!


另一篇参考贴出,因为这篇文章被墙了。

3proxy 0.6 二级代理(redirection)无法正常使用解决方法一例

情况如下:
内网有一台主机(192.168.99.xxx)可以访问外网,并打开了http代理服务器功能。但只有被许可的
mac地址才能使用其代理服务。
因此在被许可的主机(192.168.99.yyy)上安装3proxy,配置文件3proxy.cfg编辑如下:
auth iponly
allow *
parent 1000 connect 192.168.99.xxx 808
proxy -p3128
即允许任何ip源地址,使用yyy上的代理,再通过192.168.99.xxx的808代理访问外网。
实际使用时,发现无法成功代理。yyy主机本地log显示收到代理要求,但本地浏览器显示502 bad
gateway。进一步测试,发现直接用ip地址可以打开网页,怀疑是dns解析问题。
本地浏览器的代理设置是将dns请求转发代理服务器。所以怀疑是yyy主机上的3proxy未将dns请求转发到xxx主机,而是试图进行本地解析,由于yyy主机本身无法直接访问外网,当然解析失败,返回错误。但在3proxy的配置文件帮助中,未发现与dns转发直接相关的配置命令。
 
经反复尝试,在配置文件的原来4行命令后,增加了下列两行:
dnspr
nserver 192.168.99.xxx
 
重启3proxy后,即可以从本地浏览器用域名正常访问外网。
具体命令含义可参考3proxy配置帮助。由于无法查看xxx主机配置,无法确认是该主机被设置为dns服务器,还是接受通过http代理服务转发而来的dns解析请求。


 

你可能感兴趣的:(linux下3proxy二级代理使用指南)