免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 999 | 回复: 0
打印 上一主题 下一主题

Linux系统代理防火墙的配置方法实例解析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-31 11:16 |只看该作者 |倒序浏览
Linux系统代理防火墙的配置方法实例解析

时间: 2007-09-10  来自:赛迪网  


  来源:赛迪网 作者:kit
  首先下载iptables的最新源代码。编译安装,然后停止系统已安装的iptables,使用最新
安装的iptables,使用最新安装的iptables工具。
  实验一:安装
  1、从
www.netfilter.org/downloads.html#iptables-1.2.9
下载最新的iptables源代码包
,当前是iptables-1.2.9.tar.bz,下载后保存到/usr/local/src目录。
  2、进入/usr/local/src目录,解开压缩包,进入iptables源代码目录,
  #cd /usr/local/src
  #bunzip2 iptables-1.2.9.tar.bz
  #tar xf iptables-1.2.9.tar
  #cd iptables-1.2.9
  3、使用下面蝗命令编译和安装iptables源代码软件包
  #make PREFIX=/usr
  #make PREFIX=/usr install
  注:使用PREFIX=/usr参数指定iptables安装相关的文件时以/usr目录为最上层目录,而不
是默认的/usr/local,如iptables的文件会安装在/usr/sbin,/usr/lib,/usr/man等目录中,使
用ls 命令查看这些目录,能够发现iptabels相关的可执行文件和库文件,
  4、安装完成,使用默认安装的iptables命令和新安装的iptables命令,比较查看版本信息
  #/sbin/iptables –v
  5、为了使用新安装的iptables工具,需要停掉系统启动时执行的iptabels命令,把防火墙
启动脚本从系统启动队列中去掉,
  #chkconfig –level 2345 iptables off
  #chkconfig –list iptables
  然后用reboot重新启动系统。

实验二:用iptables设置本机拒绝按特定类型的连接
  使用最新安装的iptables工具设置本机的防火墙。使本地防火墙能够拒绝外部对本机的
telnet.ftp的连接。
  1、继续上面的实验,重启后,以root用户登录。使用iptables命令查看当前的防火墙,显
示没有防火墙设置,
  #/usr/sbin/iptables –L
  2、使用/etc/rc.d/init.d/vsftp脚本启动vsftp服务器
  #/etc/rc.d/init.d/vsftp start
  3、在局域网中的他客户端连接ftp服务器。显示连接成功!
  如不成功!需他细检查以上的每一步骤是否正确。
  4、使用vi命令编辑/etc/xinetd.d/telnet配置文件。将其中的“disable = yes” 更改为
“disable = no”。存盘退出。重启服务。
  #/etc/rc.d/init.d/xinetd restart
  在另一台机中访问本机的telnet服务,显示连接成功。
  如不成功!需他细检查以上的每一步骤是否正确
  5、使用下面的iptalbes命令设置禁止外部的telnet连接
  #/usr/sbin/iptables –A INPUT –P tcp –dport telnet -j DROP
  6、设置完成后,使用iptables的“-L”选项查看防火墙设置,能够看到上面设置的防火墙
规则在INPUT链中
  #iptables –L
  7、使用上现步骤中连接的外部主机telnet到本机,显示连接被拒绝,
  但使用ftp连接。外部连接仍然有效。
  8、使用同样的方法。设置拒绝FTP连接的防火墙规则
  #/usr/sbin/iptables –A INPUT -p tcp --dport ftp -j DROP
  使用iptables命令查看防火墙,显示刚才设置的防火墙规则已经被登记。
  #iptables –L
  9、使用iptables命令选项“-F”清除所有防火墙规则
  #iptables –F
  #iptables –L
实验三:安装squid
  下载最新的squid源代码。然后编译安装。并检查安装的文件夹。
  1、从
www.squid-cache.org/versions/v2/2.5/
下载squid源码,并把它保存
在/usr/local/src目录。
  #cd /usr/local/src
  #tar xzf squid-2.5STABLE5.tar.gz
  #cd squid-2.5.STABLE5
  #./configure –prefix=/usr/local/squid
  #make
  #make install
  2、进入/usr/local/squid目录。使用squid命令查看版本信息
  #cd /usr/local/squid
  #./sbin/squid –v
  3、由于squid将配置为以非root身份运行。一般是Squid用户,如果系统在安装时选择了代
理服务器。 一般是squid用户.如果系统在安装时选择了代理服务器,则会默认添加squid用户和
用户组,如果系统中没有该用户和组,使用下面的命令既可同时添加squid用户和组,
  #sueradd squid
  安装完成。
实验四:配置squid实现正向和反向缓存代理
  将使用最新安装的squid服务器,配置在局域 网中代理缓存其他客户端的www浏览请求,即
正向缓相存代理,然后 启动本机的Apache服务器,并配置squed反向缓存局域网中对这个www服
务器的访问请求,
  1、上面步骤安装的squid服务器的配置文件在/usr/local/squid/etc/目录中,使用vi命令
修改编辑squid.conf配置文件,
  去掉cache_mem前的注释号,修改缓冲内存的大小,一般为主机内存的确1/3,这里设置为
96M,
  2、设置cache_dir。即缓存数据的保存目录。在此接受默认设置,
  3、去掉cache_effective_user前面的注释号,并修改其值为squid用户。添加
cache_dffetcive_group squid项,设置缓存数据的存取用户,
  cache_effective_user squid
  cache_effective_group squid
  4、去除http_access配置项前面的注释号,改变其设置为“allow all”,即允许任意客户
端访问;
  改变/usr/local/squid目录的所有者为squid用户和组,以便squid用户能够对该目录进行
打操作,
  # chown –R squid.squid /usr/local/squid
  5、使用squid –z 命令初如化缓存目录,
  #./sbin/squid –z
  6、启动squid后台服务进程。使用“-D”参数避免squid服务器进行ip地址到域名的反查,
  #/usr/local/squid/sbin/squid –D
  7、用PS查看squid启动进程信息。包括两个squid进程,一个unlinked进程
  正向代理服务器启动完成,局域网中用户可以在浏览吕中设置代理服务器该服务器的地址
,端口默认的3128。
  8、验证完成后,使用squid命令关闭代理服务器,开始配置反向代理服务器,
  #/usr/local/squid/sbin/squid –k shutdown
  9、反向代理,须在系统中设置障碍Apache服务器,使用VI修
改/etc/httpd/conf/httpd.conf文件,更改服务器在80端口监听http请求。以使squid能够在
3128端口监听客户端的http请求。并为客户端提代理,要修改配置文件夹下面的项目:
  listen 80
  servername 192.168.0.6
  存盘退出。然后用/etc/rc.d/init.d/apachectl脚本启动Apache服务器,并用ps查看。启
动的进程。
  #/etc/rc.d/init.d/apachect1 start
  #ps –ax | grep httpd
  10、使用vi命令修改/usr/local/squid/etc/squid.conf,把下面的选项更改为后面所列的
值,并去掉配置项前面的注释号,
  http_port 3128
  #指定squid监听浏览器客户请求的端口号
  icp_port 0
  #指定squid从邻居(neighbour)服务器缓冲内发送和接收ICP请求的端口号,这里设置为0,
是因为配置squid为内部WEB服务器的加速器,所以不需要使用邻居服务器的缓冲。
  #emulate_httpd_log on
  #使Squid仿照web服务器的格式创建访问记录。
  Redirect_rewrites_host_header off
  #因squid运行为加速器模式,不需要重定向特性,
  httpd_accel_port 80
  因为本机的WWW服务器在80端口监听,所以配置squid连接服务器的80端口来从Apache获取
文件。
  11、设置完毕后:存盘退出。然后启动squid代理。则开始为apache服务提供反向代理服务

  #/usr/local/squid/sbin/squid –D
  12、局域网内,用户无需再去设置浏览器的代理选项,直接使用浏览器访问192.168.0.6的
地址,浏览器会访问服务器的3128端口,即代理服务器监听的端口,然后,代理服务器接收客
户端的请求,查找本地缓存中是否存在请求的数据,如果有,则直接向客户端返回,如果没有
。则通过80端口向Apache服务器请求,对apache返回的数据首先保存中。然后客户端返回请求
数据。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/22266/showart_411298.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP