参考文档:
3Proxy再探 ——实现二级代理上网
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)能够也能够上网。
1、下载3proxy
http://www.3proxy.ru/download/
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!
另一篇参考贴出,因为这篇文章被墙了。