代理服务器和透明代理
一、什么是代理服务器,
所谓代理服务器是指代
内部私有网中的客户连接互联网www资源的外部服务器的程序。客户与代理服务器对话,它们接收客户请求,然后连接真实的服务器,请求得到数据并将响应数据返回给客户。代理服务器发挥了中间转接作用。 在代理方式下,私有网络的数据包从来不能直接进入互联网,而是需要经过代理的处理。同样,外部网的数据也不能直接进入私有网,而是要经过代理处理以后才能到达私有网,因此在代理上就可以进行访问控制,地址转换等功能。目前,代理服务器软件有很多,如Netscape Suit Proxy,MS Proxy,Wingate,squid等。这些代理服务器不仅能起到防火墙的作用,而且还可以加速局域网用户对INTERNET的访问,因为代理服务器有一个大的缓冲器,将每次浏览的网页都保存起来,在下一次访问该页时就直接从缓冲器里调出,而无需再次访问原始服务器。
二、什么是透明代理,
透明代理技术中的透明是指客户端感觉不到代理的存在,不需要在浏览器中设置任何代理,客户只需要设置缺省网关,客户的访问外部网络的数据包被发送到缺省网关,而这时缺省网关运行有一个代理服务器,数据实际上被被重定向到代理
数据然后拷服务器的代理端口(如8080),即由本地代理服务器向外请求所需 贝给客户端。理论上透明代理可以对任何
通用。
但是在这种情况下客户端必须正确设置DNS服务器。因为现在浏览器不设置任何代理。则DNS查询必须由browser来解析,也就是要由客户端必须在TCP/IP中设置的正确的DNS服务器,其完成dns解析。
例如: 从私有网络上访问因特网上的 web 站点。
私有网地址为192.168.1.*, 其中客户机是192.168.1.100,防火墙机器网卡是192.168.1.1。透明web代理被安装在防火墙机器上并配置端口为8080。内核使用iptables把与防火墙端口80的连接重定向到代理服务。私有网上的Netscape被配置为直接连接方式。私有网络的客户机需要设置DNS服务器。私有网络上机器的默认路由(别名网关)指向防火墙机器。客户机机器上的 Netscape 访问 .
1.Netscape通过查找”slashdot.org”, 得到它的地址为207.218.152.131.
然后它使用端口1050与此地址建立一个连接,并向web站点发出请求。 2.当包由客户机 (port 1050)通过防火墙送往slashdot.org(port 80)时, 它们重定向到代理服务重定的8080端口。透明代理使用端口1025与207.218.152.131的端口80(这是原始包的目的地址)建立一个连接。 3. 当代理服务收到从 web 站点传来的页面后, 通过已经建立的连接把它复制给 Netscape。
4. Netscape 显示此页面。
5. 从slashdot.org 的角度来看,连接是由1.2.3.4(防火墙的拨号连接IP地址)的端口1025到 207.218.152.131的端口80。从客户机的角度来看,连接是从192.168.1.100(客户机)端口1050连接到207.218.152.131(slashdot.org)的端口80, 但是, 它实际是在与透明代理服务器对话。
这就是透明代理的操作流程。
三、内核编译
一般来讲,透明代理所在机器往往是带动整个局域网联入互联网的入口,因此该机器往往需要配置防火墙规则以对内部网络进行防护。因此在编译内核时也许要考虑将防火墙支持选项编译进去。一般来说需要在使用make menuconfig命令配置时打开如下选项:
[*]Networking support
[*]Sysctl support
[*]Network packet filtering [*]TCP/IP networking
[*]/proc filesystem support [*] Kernel/User netlink socket [*] Netlink device emulation [*] Connection tracking (required for masq/NAT)
[*] FTP protocol support
[*] IP tables support (required for filtering/masq/NAT)
<*> limit match support
[*] MAC address match support [*] Netfilter MARK match support [*] Multiple port match support [*] TOS match support
[*] Connection state match support [*] Packet filtering
[*] REJECT target support
[*] Full NAT
[*] MASQUERADE target support [*] REDIRECT target support [*] Packet mangling
[*] TOS target support
[*] MARK target support
[*] LOG target support
然后make dep ; make clean ;make bzImage命令来编译内核。如果使用到了模块,还需要使用下面命令生成和安装模块make modules;make modules-install。 将System.map复制到/boot目录中,将
/usr/src/linux/arch/i386/boot/bzImage复制到 /boot目录中并改名为 vmlinuz-2.4.7。最后安装新内核并重新起动:lilo;shutdown -r now即可。 四、squid的安装配置
下载:
可以从squid主网站下载:
gz
也可以从本地下载:
r.gz
编辑安装:
[root@proxy src]# tar xvfz squid-2.4.STABLE1-src.tar.gz [root@proxy src]# cd squid-2.4.STABLE1
[root@proxy src]# ./configure
[root@proxy src]# make all
[root@proxy src]# make install
配置:
编辑/usr/local/squid/etc/squid.conf,修改以下内容,确保以下配置: httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
cache_effective_user nobody
cache_effective_group nobody
http_access allow all
(所有的http_access命令都注释掉,只留下这条,其实严格上来说应该限制只允许局域网用户使用代理,具体可以参考squid手册中关于Access Control Lists的内容来限制访问代理)
cache_dir ufs /usr/local/squid/cache 100 16 256
cache_dir type Directory-Name Mbytes Level-1 Level2
(说明:指定squid用来存储对象的交换空间的大小及其目录结构。可以用多个cache_dir命令来定义多个这样的交换空间,并且这些交换空间可以分布不同的磁盘分区。”directory “指明了该交换空间的顶级目录。如果你想用整个磁盘来作为交换空间,那么你可以将该目录作为装载点将整个磁盘mount上去。缺省值为/var/spool/squid。”Mbytes”定义了可用的空间总量。需要注意的是,squid进程必须拥有对该目录的读写权力。”Level-1″是可以在该顶级目录下建立的第一级子目录的数目,缺省值为16。同理,”Level-2″是可以建立的第二级子目录的数目,缺省值为256。为什么要定义这么多子目录呢,这是因为如果子目录太少,则存储在一个子目录下的文件数目将大大增加,这也会导致系统寻找某一个文件的时间大大增加,从而使系统的整体性能急剧降低。所以,为了减少每个目录下的文件数量,我们必须增加所使用的目录的数量。如果仅仅使用一级子目录则顶级目录下的子目录数目太大了,所以我们使用两级子目录结构。 那么,怎么来确定你的系统所需要的子目录数目呢,我们可以用下面的公式来估算。
已知量:
DS = 可用交换空间总量(单位KB)/ 交换空间数目
OS = 平均每个对象的大小= 20k
NO = 平均每个二级子目录所存储的对象数目 = 256
未知量:
L1 = 一级子目录的数量
L2 = 二级子目录的数量
:
L1 x L2 = DS / OS / NO
注意这是个不定方程,可以有多个解)
然后创建cache子目录,并修改该目录所有者位nobody:
[root@proxy squid]# /usr/local/squid/cache
[root@proxy squid]# chown nobody:nobody /usr/local/squid/cache 修改squid
目录的所有者以允许squid访问:
[root@proxy squid]# chown nobody:nobody /usr/local/squid/logs 最后启动squid:
[root@iptable logs]# /usr/local/squid/bin/RunCache & 查看进程列表:
[root@iptable logs]# ps ax
应该出现如下几个进程:
1372 pts/0 S 0:00 /bin/sh /usr/local/squid/bin/RunCache 1375 pts/0 S 0:00 squid -NsY
1376 ? S 0:00 (unlinkd)
并且系统中应该有如下几个端口被监听:
[root@proxy logs]# netstat -ln
tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:3130 0.0.0.0:*
这些说明squid已经正常启动了。
然后/etc/rc.d/rc.local文件最后添加 /usr/local/squid/bin/RunCache & 以
使得系统启动时自动启动squid服务器。
五、iptables的设置
在/etc/rc.d/目录下用touch命令建立firewall文件,执行chmod u+x firewll
以更改文件属性,编辑/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以确保开机时能自动执行该脚本。 firewall文件内容为:
#!/bin/sh
echo “Starting iptables rules„”
#Refresh all chains
/sbin/iptables -F
iptables -t -A PREROUTING -i eth0 -p tcp -m tcp –dport 80 -j REDIRECT
–to-ports 3128
iptables -t -A POSTROUTING -s 192.168.2.0/24 -o eth1 -j SNAT –to-source
200.200.200.200
如果需要还可以添加一些防火墙规则以增强安全性,具体参考:
第十三章:干燥
通过本章的学习,应熟练掌握表示湿空气性质的参数,正确应用空气的H–I图确定空气的状态点及其性质参数;熟练应用物料衡算及热量衡算解决干燥过程中的计算问
;了解干燥过程的平衡关系和速率特征及干燥时间的计算;了解干燥器的类型及强化干燥操作的基本方法。
二、本章思考题
1、工业上常用的去湿方法有哪几种,
态参数,
11、当湿空气的总压变化时,湿空气H–I图上的各线将如何变化? 在t、H相同的条件下,提高压力对干燥操作是否有利? 为什么?
12、作为干燥介质的湿空气为什么要先经预热后再送入干燥器,
13、采用一定湿度的热空气干燥湿物料,被除去的水分是结合水还是非结合水,为什么,
14、干燥过程分哪几种阶段,它们有什么特征,
15、什么叫临界含水量和平衡含水量,
16、干燥时间包括几个部分,怎样计算,
17、干燥哪一类物料用部分废气循环,废气的作用是什么,
18、影响干燥操作的主要因素是什么,调节、控制时应注意哪些问题,
三、例题
2o例题13-1:已知湿空气的总压为101.3kN/m ,相对湿度为50%,干球温度为20 C。试用I-H图求解:
(a)水蒸汽分压p;
(b)湿度,;
(c)热焓,;
(d)露点t ; d
(e)湿球温度tw ;
o(f)如将含500kg/h干空气的湿空气预热至117C,求所需热量,。 解 :
2o由已知条件:,,101.3kN/m,Ψ,50%,t=20 C在I-H图上定出湿空气00
的状态点,点。
(a)水蒸汽分压p
过预热器气所获得的热量为
每小时含500kg干空气的湿空气通过预热所获得的热量为
例题13-2:在一连续干燥器中干燥盐类结晶,每小时处理湿物料为1000kg,经
干燥后物料的含水量由40%减至5%(均为湿基),以热空气为干燥介质,初始
-1-1湿度H为0.009kg水•kg绝干气,离开干燥器时湿度H为0.039kg水•kg绝干12气,假定干燥过程中无物料损失,试求:
-1(1) 水分蒸发是q (kg水•h); m,W
-1(2) 空气消耗q(kg绝干气•h); m,L
-1原湿空气消耗量q(kg原空气•h); m,L’
-1(3)干燥产品量q(kg•h)。 m,G2
解:
q=1000kg/h, w=40?, w=5% mG112
H=0.009, H=0.039 12
q=q(1-w)=1000(1-0.4)=600kg/h mGCmG11
x=0.4/0.6=0.67, x=5/95=0.053 12
?q=q(x-x)=600(0.67-0.053)=368.6kg/h mwmGC12
?q(H-H)=q mL21mw
q368.6mwq,,,12286.7 mLH,H0.039,0.00921
q=q(1+H)=12286.7(1+0.009)=12397.3kg/h mL’mL1
?q=q(1-w) mGCmG22
q600mGCq,,,631.6kg/h? mG21,w1,0.052
精品文档