Chinaunix首页 | 论坛 | 博客
  • 博客访问: 64524
  • 博文数量: 15
  • 博客积分: 610
  • 博客等级: 上士
  • 技术积分: 155
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-31 11:47
个人简介

当欲望失去了枷锁,就没有了向前的路,只能转左,或者向右,左边是地狱,右边也是地狱……

文章分类

全部博文(15)

文章存档

2015年(4)

2006年(1)

2005年(10)

我的朋友

分类: LINUX

2006-01-15 15:52:48

Socks服务器,别人可能是用来做代理局域网的工作,而我的目的只有一个,锁定该死的拨号上网IP。当管理一些服务器需要限定IP的时候,除了连回公司自己的座机外,可能架一个Socks服务器也是一个不错的选择,更何况架好之后也能做其他只用。8)

凡事选择正确的方法很重要,我没有随随便便地找个howto或者example就开始我的架设工作,首先试着找了一下能够找到的各种socks daemon。我的工作机用的是gentoo,它有良好的package库,搜索完毕后发现……可以选择的咚咚不是很多。dante和nylon,两者的最后更新都是去年了。虽然我知道socks的技术更新不是很快,但是心理上我还是喜欢更新快一点的软件,至少说明它不是一个老古董,作者也的确在尽心完善它。

然后…………找了ss5 :) 全称是Socks Server 5,我不知道作者为什么不取个更个性化的名字。可能工程最初也只是按兴趣随便开始的吧。它更新得没多久,是个新东西。但是这并不说明它是个笨拙的新生儿。下面是它的features

Socks 4 Protocol SS5 V2.4
CONNECT operation Supported
BIND operation Supported
IDENTD protocol (Rfc 1413) Not supported

Socks 4A Protocol Extension SS5 V2.4
DNS resolution Supported: dns response can be ordered

Socks 5 Protocol Rfc 1928 SS5 V2.4
Authentication Basic using:

a) password file

b) Generic External Authentication Program

c) PAM support

d) Fake authentication

CONNECT operation Supported
BIND operation Supported
UDP PROXY or UDP ASSOCIATE Supported
DNS resolution Supported: dns response can be ordered

Other features SS5 V2.4
Profiling Supported using:

a) group file

b) ldap support

Protocol fixup Supported for the following protocols:
a) Http,

b) Https,

c) Smtp,

d) Pop3,

e) Imap4

Bandwidth control Supported
Source interface Supported only CONNECT operation
Server load balancing Supported: ss5 balance the requests over different real servers (ONLY thread mode!)
Session affinity by sticky option now available

Admin Console Supported: ss5 shows Virtual table, Affinity table and Statistics table

一句话,看上很美。就它了。

作者提供了很多分发包格式,因为我要装的那台机器是redhat9的,我就拉了一个ss5-2.4-slb-mr7.src.rpm回来,像其他的集成ldap和pam的,我也用不到,就不需要一个高大全的东西了。

即使是它的源码包,也没有提供自定义端口的参数。因此多了一些修改源码的地方。

rpm -ivh ss5-2.4-slb-mr7.src.rpm

cd /usr/src/redhat/SOURCES

tar -xzvf ss5-2.4.tar.gz

进入解开的ss5-2.4目录,编辑SS5Main.h 修改SOCKS5_PORT常量,其他的常
量也可以按需要修改

#define SOCKS5_PORT 9780

然后把改过的目录重新打包回去

tar -czvf ss5-2.4.tar.gz ss5-2.4

编译(这里用了-ba参数生成源码srpm)

cd ../SPECS
rpmbuild -ba --target=i686 ss5.spec

最后安装

cd ../RPMS/i686
rpm -ivh ss5-2.4-mr7.i686.rpm

配置方面很简单,网站本身有一些示例,配置文件本身也都有注释。我只按自己的需要配置了一部分。

建立/etc/ss5.passwd文件,把用户和密码按每行一个用户的格式写好,用户和密码用空格区分。

接下来就是/etc/ss5.conf

#允许从任何地址用认证方式链接
auth - - u
#允许任何转发,不过像http等需要fixup的协议还要特别指定
permit - - - - - - - - -

#fixup的类似写法
#permit - - - - 80 http - - -

#指定admin的IP,主要是三个状态页
admin 123.456.789.123

其他比较有实用价值的是permit的流量控制,virtual段所实现的流量均衡等。

阅读(1158) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~