Linux本身可以通过添加插座软件包起到代理防火墙的作用,而且这一切都是免费的。
什么是代理防火墙
代理防火墙不让任何直接的网络流通过,而由它作为互联网和内部网络计算机之间的中间媒介。防火墙自己处理各种网络服务而不是只让它们直接通过。例如,登录到网络上的计算机请求一个网页。计算机不直接链接到网络服务提供的网页,而是连到自己网络的代理服务器上,代理服务器识别代理请求,然后以合适的方式传递给相应的网络服务器。远程网络服务器视为来自防火墙服务器的正常网络请求,发送合适的网页,防火墙服务器再把网页返送给计算机。
这样,防火墙就对Internet隐蔽了你的计算机存在的事实,减少外界对内部网络的可见性。
安装
1.在http://www.socks.nec.com/cgi-bin/download.pl站点找到Socks软件包,在下载前要填写有关的用户信息,然后单击[Submit]按钮,此后登录到具有下载链接的页面,单击链接来下载插座软件包。
2.在存储下载的Socks软件包的目录中,使用Tar命令解开该软件包。
Tar – xzvf sock5-vl. 0r11.tar.gz
此命令创建一个sock5-vl. 0r11目录,把软件包解压到该目录中,使用CD命令变成该目录。该目录中有一个编辑和安装软件包的配置脚本。使用Su命令变成根用户,然后在命令提示下运行脚本。
3.输入Make命令编译Socks包,完成以后,通过输入Make Install命令安装软件包。
注意:在使用之前,必须在/etc目录下创建一个Socks5.conf文件,Socks5检查/etc/socks5.conf文件得知将代理什么协议和服务,以及哪个计算机将能够使用此代理服务。
创建Socks5.conf文件
Socks5.conf文件被分成6部分。每一部分控制Socks5守护进程处理特定链接的一个特别项,当一个客户计算机连到代理服务器上,Socks5连续搜索每一部分的每一行,并根据遇到的规则决定采取什么行动,当找到与处理的链接相匹配的规则行时停止,所以规则的顺序很重要。
1.主机地址标志。主机地址可以是完整的主机名或IP地址,例如:gzdd .sjsgz .net或10.88.56.4,它也可能是一个部分主机名或地址,例如:. sjsgz .net或10 .88.56.4。
注意:部分主机名以点(.)字符开始就允许Socks识别部分主机名用它匹配Sjsgz .net域的任何主机。
2.禁止主机部分。禁止主机部分用于禁止对指定主机和协议的代理服务。一个禁止主机行总是以关键词Ban开始,后跟源主机参数和一个源端口参数。
命令格式:Ban source-host sour-ce-port
例如:Ban gzdd.sjsgz.net http,表明主机gzdd被禁止访问系统上的网络服务;Ban 199.170.176.-,表明199.170.176.x网上主机都不可访问系统上任何代理服务;Ban – -,表明任何主机不可访问此系统的任何代理服务。
3.访问控制部分。这是Socks5.conf文件最有用的部分,访问控制部分用于允许或禁止基于源和目的机器的主机地址或端口号的代理连接,访问控制行总以关键词Permit或关键词Deny开头。
命令格式:Permit auth cmd src-host dest-host src-port dest-port或Deny auth cmd src-host dest-host src-port dest-port
例如:Permit – – 10.88.56. – 1880 http,表明允许在10.88.56. x网段的主机通过端口1880访问网络;Deny – – – – – -,表明拒绝所有连接。
当一个客户机连到代理服务器上时,Socks扫描控制行列表,若找不到匹配的Socks拒绝连接。
启动Socks5服务
可以用手工启动守护进程,只需以根用户登录,在命令提示符下输入Socks5,Socks5守护进程被放到背景执行并返回提示符。也可以把Socks5命令放入/etc/rc.d下的Rc.local启动脚本中,以使下次启动机器时自动启动Socks5。尽管仍以根用户登录,但还需要把/etc/rc.d/rc.local文件调入文本编辑器并在文件末加入以下几行:
# Start socks5 proxy services
/usr/local/bin/socks5
完成后存贮文件并退出编辑器。
这样通过在Linux中安装软件包,创建Socks5文件,使得Linux起到代理防火墙的作用,保证校园网络的安全。