LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1643|回复: 5

在Linux下配置Socks服务器

[复制链接]
发表于 2006-10-26 14:07:39 | 显示全部楼层 |阅读模式
测试系统CentOS 4.3,用Server CD安装,Socks服务使用ss5-3.6.1-1。

先下载软件包

wget http://jaist.dl.sourceforge.net/ ... /ss5-3.6.1-1.tar.gz

然后解包

tar zxvf ss5-3.6.1-1.tar.gz

进入目录

cd ss5-3.6.1-1

然后

./configure

如果需要更多的配置,请用./configure --help查看,这里使用默认的配置,不加参数。

在我的环境下执行到

checking for security/pam_misc.h usahility ... no
checking for security/pam_misc.h presence ... no

时出错了,我一看是与pam相关的头文件,就安装了pam-devel的包,好在有yum很方便

yum install pam-devel.i386

这个包很小,马上就安装完成

再次./configure

通过了

之后make

很快就又出错了,从出错信息看,缺少openldap的东西

yum install openldap-devel.i386

这里有两个包要安装,大约2.6M

之后再次make通过

安装软件

make install

啥都没有显示,应该是已经成功安装了。

/etc/rc.d/init.d/ss5 start

启动服务,这里记不清楚了,好像安装完后服务自动就起来了。不过多输入一次也无妨。

默认的配置就已经可以让Socks正常工作了。

我们先来测试一下,用Firefox,手工配置代理服务器,注意这里只配SOCKS主机就可以了,IP为Socks5的主机IP,默口为1080,如我这里为192.168.100.8,端口1080.IE类似,要点到代理服务器的高级设置中,在Socks后添入正确的信息。

注意:这也是我今天调试费时最长的地方,我照Squid的方式配置了代理,结果浏览器无法使用Socks,看了半天日志也没看明白,没想到是浏览器中配错了。不要把这个地址写到HTTP的代理位置上,只写Socks一项就可以了。

默认的配置文件在/etc/opt/ss5/ss5.conf,默认的服务脚本在/etc/rc.d/init.d/ss5。

现在已经配好了,可以把对ss5的控制加在服务中了,chkconfig --add ss5,之后就可以用services与chkconfig命令来控制ss5了,别的平台下可能不同。

默认的配置下允许任何人,任何IP使用代理服务器,是一个很不安全的配置,建议大家根据情况修改,我就不再做测试了。

之后又用雅虎通测了一下Socks,发现可以让雅虎通正常使用。

另外,ss5有现成的src.rpm的包,如果是基于RPM的发行版,也可以试试这个包。

第一次写原创,希望大家支持。
发表于 2006-10-26 15:37:17 | 显示全部楼层
用了Socks代理服务器有什么好处吗?

我们公司都是用NAT上网的,Socks比NAT好使吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-26 16:45:41 | 显示全部楼层
主要是因为前两天与别人讨论Socks代理的问题,就自己试了一下,并把过程写了出来,供大家参考。

有NAT没必要用Socks代理,不过我这里到是有一个现成的案例。

我们公司是双线,教育网与网通,我们同楼的另一家公司(同属一个集团的)只有教育网,出国很不方便,所以我做了一个Socks代理,把我们服务器的1080端口映射到这个Socks5上,这台Socks5是通过网通的线路出去的,这样就实现了他们公司出国的问题。

因为Socks5相对于HTTP代理来说,支持更多的东西,所以选择用Socks5了。

其实我把Socks5与Squid安装在同一台服务器上了。
回复 支持 反对

使用道具 举报

发表于 2006-10-27 07:37:31 | 显示全部楼层
那,什么时候用NAT,什么时候用socks,什么时候用squid,各有什么优缺点呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-27 11:31:45 | 显示全部楼层
首选NAT吧,因为那样客户端只需要配置好IP,网关,DNS就可以了,这一切用DHCP就可以解决。

用squid的目的主要是利用Squid的Cache功能,加快浏览网页的速度,Squid中的acl也可以好好利用一下,做一些过滤与限制,还可以基于Squid做身份认证。更多的是用iptables把对外网80端口的访问转向到squid的3128上,做成透明代理,这种方式同样让客户端不做任何改变。

当然,用Squid直接做接入也是可以的,做好像没什么人那么做。

Socks比Squid那样的HTTP代理支持更多的协议,许多游戏也是可以通过Socks代理来工作的,这点HTTP的代理就不行了。我也是刚刚配过Socks代理,了解的不深。

实际应用中,比如你公司有两条线路,一条电信,一条网通,如果觉得配静态路由麻烦的话,就可以做两个网关,让用户使用的时候换网关,做如果用了DHCP,改网关不方便,就可以考虑在另一条线路上做成代理服务器,让用户需要的时候,配一下代理,不过这就要简单的培训一下了。
回复 支持 反对

使用道具 举报

发表于 2006-10-27 15:11:09 | 显示全部楼层
Thanks!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表