三、安装Squid代理服务器
1、安装squid
通常说来,安装Squid有两种方法:一是从Linux 发行版本中获取该软件的RPM包进行;二是安装从Squid的官方站点http://www.squid-cache.org/ 下载该软件的源码进行编译后安装。目前网上最新的稳定版本为squid-2.5.STABLE10,下面以前者为例进行介绍。
首先要确认是否已经安装可以使用以下命令查看:“rpm -q squid”如果在系统安装时已经把squid 安装上了,那么我们就可以直接对其进行配置使用了。否则,可以通过Rat Het Linux图形界面下的“添加/删除应用程序”工具进行安装。
具体方法是,选择“主选单”→“系统设置”→“添加/删除应用程序”,选中 “squid”选项,单击“更新”即可。 也可以从Squid站点www.squid-cache.org 获取该软件的源代码安装包,包括gz和bz2两种压缩方式。可以用以下命令启动squid。
或者,使用Linux 的启动脚本来启动squid。
/etc/rc.d/init.d/squid start
同样,也可以用下列脚本停止运行squid或重启动squid。
/etc/rc.d/init.d/squid stop
/etc/rc.d/init.d/squid restart
2、配置squid透明代理
透明代理的意思是客户端根本不需要知道有代理服务器的存在。当我们在客户端浏览器中打开一个web请求,比如“http://www.it168.com”,工作流程如下:
客户端向DNS请求“www.it168.com”,得到相应的IP地址202.99.11.122。然后,客户端使用某一端口向该IP地址的80端口发起web连接请求,请求web页面。
当该请求包通过透明代理服务器时,被重定向到代理服务器的绑定端口8080。于是,透明代理服务器用某一端口(比如108向202.99.11.120的80端口发起web连接请求,请求web页面。
收到响应的web页面后,代理服务器把该数据传送给客户端。
客户端浏览器显示该页面。
在NAT路由器上,将用户对HTTP的请求(TCP类型,端口号80)重定向到Squid 传输HTTP的端口(TCP类型,默认端口号3128), 即由代理服务器向外请求所需数据然后转交给客户端。配置了透明代理,客户端设置了默认网关后,用户用浏览器浏览网页时, 感觉就像直接上网一样,但实际上却是通过代理服务器浏览网页,也就是说对客户透明。
将Squid配置为透明代理的两个步骤:
配置Squid添加如下指令
|
httpd_accel_host virtual http_port 3128 httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on http_access allow all |
重新起动squid,然后使用iptables进行端口转发
|
#echo 1 > /proc/sys/net/ipv4/ip_forward #iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 |
以上两句最好写进 /etc/rc.d/rc.local,因为这两条记录重起机器后就失效了。
2、Windows客户端设置
Windows下客户端设置见下图。
![]() |
| windows下TCP/IP设置 |
在 Internet Explorer 下的配置:
1. 点击菜单上的 工具 -> Internet 选项
2. 选择 连接 并单击 局域网设置
3. 选中 使用代理服务器 输入上述代理服务器的 IP 地址和端口。
然后在客户机上的windows 计算机就可以访问互联网了。到此为止笔者介绍了一下Linux 异构网络共享ADSL连接经验供您参考。
