redhatlinux5.5搭建squid代理服务器

合集下载

squid配置

squid配置

Linux系统下优秀的代理服务器软件:Squid作为一种免费的网络操作系统,Linux越来越受到广大网络爱好者的欢迎,目前Internet上运行的主机有相当一部分采用的就是Linux,而且中国已经把Linux作为政府上网的指定网络操作系统。

种种迹象表明,Linux正在逐渐走向成熟。

为了解决Internet发展迅速和IP地址资源紧张的矛盾,代理服务器的使用越来越广泛。

Squid是一种在Linux系统下使用的比较优秀的代理服务器软件。

代理服务代理服务是指由一台拥有标准IP地址的机器代替若干没有标准IP地址的机器和Internet上的其它主机打交道,提供代理服务的这台机器称为代理服务器。

拥有内部地址的机器想连接到Internet上时,先把这个请求发给拥有标准IP地址的代理服务器,由代理服务器把这个请求通过它的标准IP地址发到请求的目的地址。

然后目标地址的服务器把返回的结果发回给代理服务器,代理服务器再原封不动的把资料发给内部主机。

若干拥有内部地址的机器就组成了内部网,代理服务器的作用就是沟通内部网和Internet,解决内部网访问Internet的问题。

这种代理事不可逆的,Internet上的主机不能访问任何一台拥有内部地址的机器,这样又可以保障内部资料的安全性。

代理软件的一个优点是它能够检验除了数据包之外的许多东西。

Squid对数据包的有效载荷进行检验,也就是穿越防火墙的数据包中TCP(或者UDP)部分所占地份量。

根据数据包报头(数据包中的IP部分)和数据包有效载荷(TCP部分) 的信息,代理防火墙能够决定数据包将发往何处,数据包请求什么,以及根据数据包所必须提供的这些信息决定采取什么样的行动。

对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Internet的速度,提高客户机的访问命中率。

Squid不仅支持HTTP协议,还支持FTP、gopher、SSL和WAIS等协议。

第17章 Squid代理服务器的配置与管理

第17章 Squid代理服务器的配置与管理

限制客户端主机上网的时间 acl worktime MTWHF 9:00~17:00 http_access deny worktime 如果需要限制特定的用户,可以采用下面的配置方法 acl badclient src 192.168.1.10 acl worktime M 12:00~17:00 http_access deny badclient worktime
日志的轮换需要管理员手工执行如下命令: [root@rhel4 ~]# squid -k rotate 也可以利用crontab调度功能来完成周期性的日 志轮换。 例如,可以将下列语句加入到crontab文件中: crontab 0 6 * * 6 squid -k rotate 这样,系统将在每周六凌晨6:00进行日志轮 换,而不用人工干预。
[root@rhel4 ~]# rpm -ivh squid-2.5.STABLE6-3.3E.rpm
2.启动与关闭squid服务 命令方式下可以利用service脚本来管理squid服务: [root@rhel4 ~]# service squid start [root@rhel4 ~]# service squid stop [root@rhel4 ~]# service squid restart 也可以使用/etc/rc.d/init.d/squid脚本管理squid服务: [root@rhel4 ~]#/etc/rc.d/init.d/squid start [root@rhel4 ~]#/etc/rc.d/init.d/squid stop [root@rhel4 ~]#/etc/rc.d/init.d/squid restart
第17章 Squid代理服务器的配置与管理 章 代理服务器的配置与管理

Linux全攻略--squid服务器配置与管理

Linux全攻略--squid服务器配置与管理

Linux全攻略--squid服务器配置与管理一、简介Squid是一款功能强大的开源缓存代理服务器,广泛应用于提高网络访问速度、减轻网络带宽压力等方面。

本文将介绍如何配置和管理Squid服务器,以及一些常见的使用场景及问题解决方法。

二、安装与配置1. 安装Squid服务器在Linux系统中,可以使用包管理工具(如apt、yum)直接安装Squid服务器。

例如,在Ubuntu系统中,可以运行以下命令进行安装:$ sudo apt-get install squid2. 配置Squid服务器Squid的配置文件位于/etc/squid/squid.conf,在修改配置文件之前,可以备份原始配置文件以便出现问题时恢复。

可以使用文本编辑器打开该配置文件并根据需求进行相应的修改。

常见的配置项包括:- http_port:指定Squid监听的端口,默认为3128;- cache_dir:指定Squid用于缓存的目录;- acl:用于定义访问控制列表,可以根据需要设置允许或拒绝特定IP地址或主机的访问;- http_access:用于设置访问控制规则,指定哪些客户端可以访问哪些服务器。

修改完成后,保存配置文件并重新启动Squid服务器,使新的配置生效:$ sudo service squid restart三、常见应用场景1. 提高网络访问速度Squid服务器可以作为一个缓存代理服务器,将请求的资源缓存在本地,当下次请求同样的资源时,直接从缓存中获取,避免了再次向源服务器请求资源,大大提高了网络访问速度。

2. 过滤和限制访问Squid支持通过访问控制列表(ACL)对特定的IP地址或主机进行访问限制,可以用于限制某些用户或客户端的访问权限,保护网络安全。

3. 节省网络带宽通过配置Squid服务器,可以对某些常用的文件、图像等资源进行缓存,减少从源服务器下载的次数,从而节省网络带宽。

四、问题解决方法1. Squid无法正常启动如果Squid无法正常启动,可以查看日志文件(一般位于/var/log/squid/目录下)以获取更多详细的错误信息。

squid用法 -回复

squid用法 -回复

squid用法-回复Squid是一个流行且功能强大的缓存服务器,常用于提高网络性能和减轻服务器负载。

本文将一步一步回答关于Squid的用法,帮助读者了解如何使用和配置Squid以达到自己的需求。

第一步:安装和配置Squid服务器Squid的安装和配置相对简单,可以在大多数Linux发行版的软件库中找到。

使用适合你的操作系统的包管理器来安装Squid,如apt-get、yum 或zypper。

安装完成后,我们需要进行一些基本的配置。

首先,打开配置文件squid.conf(通常在/etc/squid/目录下),并编辑其中的一些关键配置项。

1. 指定Squid服务器的监听地址和端口。

默认情况下,Squid会监听所有可用的网络接口和端口3128。

如果你想修改监听地址和端口,可以修改http_port配置项。

例如,要将Squid配置为监听本地回环接口127.0.0.1的端口8888,可以将http_port配置为"127.0.0.1:8888"。

2. 配置ACL(Access Control List)。

ACL用于限制对Squid服务器的访问。

你可以使用IP地址、域名、URL等来定义ACL。

例如,要允许192.168.0.0/24网段的主机访问Squid服务器,可以添加一行配置:acl localnet src 192.168.0.0/24。

3. 配置http_access规则。

http_access用于定义允许或拒绝访问Squid 服务器的规则。

你可以基于先前定义的ACL或其他条件来设置规则。

例如,要允许localnet ACL的主机访问Squid服务器,可以添加一行配置:http_access allow localnet。

保存配置文件后,重新启动Squid服务器以使更改生效。

第二步:使用Squid进行缓存配置Squid的核心功能之一是代理缓存。

通过配置Squid缓存,我们可以减少对后端服务器的请求,提高网络性能。

linux安全模拟试题

linux安全模拟试题
D:~/.ssh/authorized_keys
参考答案:D
28. EtterCap工具主要是基于()机制在局域网中进行数据监听。(选择一项)
A:端口扫描
B:ARP欺骗
C:IP地址伪装
D:ICMP泛洪
参考答案:B
29. 在linux系统中,Netfilter包过滤防火墙主要工作在OSI参考模型的()。(选择一项)
target proc opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http
REJECT tcp -- anywhere anywhere tcp opt:http reject-with tcp-reset
A:filter表内的OUTPUT链
B:filter表内的FORWARD链
C:nat表中的PREROUTING链
D:nat表中的POSTOUTING链
参考答案:D
3. 在RHEL5系统中,安全工具( )主要用于检测网络中主机的漏洞和弱点,并能给出针对性的安全性建议。(选择一项)
参考答案:D
12. 若需要更改squid服务器监听的端口,可以修改squid.conf配置文件中的()项。(选择一项)
A:listen
B:http_port
C:icp_port
D:bind_address
参考答案:B
13. 管理员在grub.conf文件中的第一个“title ……”行之前添加了密码设置,则在()情况下需要提供密码。(选择一项)
A:开机进入系统之前
B:开机时修改grub引导参数
C:进入linux系统

Linux下的代理服务器设置

Linux下的代理服务器设置
# vi db/porn/urls (url列表文件,主要是阻塞一些站点及其一些栏目)
/sex /album (如上可阻塞/sex、/sex/whatever、ftp:///sex、/sex等)
#squid的代理端口,使用1024以下的端口,squid必须以root身份运行 http_access allow all #允许所有的用户通过代理进行http访问 redirect_program /usr/local/squid/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf

#tar xvzf squidGuard-1.1.4.tar.gz
#cd squidGuard-1.1.4
#./configure --with-sg-config=/usr/local/squidGuard/squidGuard.conf
--with-sg-logdir=/usr/local/squidGuard/logs
份立即传给用户,使用户觉得速度相当快。
squidGuard则是作为squid的辅助软件,完成过滤、重定向和访问控制的功能。它是一个自由软件,功能强,便于安装、易于 配置、而且处理速度快。功能主要包括:根据web服务器或URLs列表限制一些用户的访问;阻塞某些用户对黑名单上的web 服务器和URLs的访问;阻塞某些用户对正则表达式匹配的URLs的访问;在URL路径加强了使用域名访问而禁止用IP访问; 重定向阻塞的URLs到一个智能CGI的信息页;重定向非授权用户到一个注册页面;具有基于日期、每周、每天具体时间的访 问规则;对不同用户组有不同的规则。但是不能过滤、检查文档中的文本以及HTML中的JavaScript或Vbscript脚本语言。

Squid代理配置

Squid代理配置

Squid透明代理手记1,首先从下载squid-2.6.STABLE10-20070315.tar.gz最新版2,解压配置编译参数:./configure --prefix=/usr/local/squid #指定squid安装目录--mandir=/usr/share/man #指定man的安装目录--enable-async-io=20 #采用同步io提高性能,负载高可设大点--disable-icmp #禁止icmp协议代理(默认不允许)--enable-delay-pools #允许延迟限止带宽--enable-cache-digests #允许缓存摘要,可以加快请求缓冲内容的速度(集群用)--enable-snmp #允许snmp协议支持(如用mrtg进行流量监控等)--disable-ident-lookups #禁止使用RFC931识别--enable-epoll #支持epoll的IO模式,2.6以上内核才具有--enable-basic-auth-helpers="NCSA" #允许带密码验证,NCSA 风格的用户名和密码档--enable-linux-netfilter #允许透明代理--enable-arp-acl #允许基于MAC地址的存取过滤--enable-err-language="Simplify_Chinese" #支持的错误语言--enable-default-err-language="Simplify_Chinese" #指定默认的错误语言3,编译安装:make && make install4,添加squid启动用户和组:groupadd squiduseradd -g squid squid -s /sbin/nologin #根据cache_effective_user指定缓冲管理的用户mkdir var/cache #根据cache_dir指定chown -R squid:squid /usr/local/squid #更改目录所有者和组为squid连同子目录5,配置squid.conf首先生成干净的配置文件:mv squid.conf squid.conf.bakcat squid.conf.bak | grep -v "#" | grep -v "^$" > squid.conf#定义服务器地址和端口(做Proxy时最好用lan的ip来设定绑定端口,transparent表示支持透明代理)http_port 192.168.1.253:3128 transparent#定义服务器的名字visible_hostname ProxyServer#定义管理员邮件地址(在访问发生错误时,visible_hostname和cache_mgr这两个选项的值显示在错误提示页面内的相关位置)cache_mgr webmaster@#定义缓存内存空间cache_mem 32MBcache_swap_low 90cache_swap_high 95#定义缓冲最大值的内容maximum_object_size 4096 KB#定义缓存目录cache_dir ufs /usr/local/squid/var/cache 200 16 256#定义不缓冲的内容hierarchy_stoplist cgi-bin ?hierarchy_stoplist -i ^https:\\ ?acl QUERY urlpath_regex -i cgi-bin \? \.asp \.php \.jsp \.cgiacl denyssl urlpath_regex -i ^https:\\no_cache deny QUERYno_cache deny denysslipcache_size 1024ipcache_low 90ipcache_high 95fqdncache_size 1024#日志access_log /usr/local/squid/var/logs/access.log squidcache_log /usr/local/squid/var/logs/cache.log#cache_store_log /usr/local/squid/var/logs/store.logcache_store_log none#Dns服务器dns_nameservers 202.96.128.86 61.144.56.101#缓冲存取用户和组cache_effective_user squid squid#定义ACL#sexurl.txt列出要过滤网站地址的关键字,每个关键字占一行,如(取sina)即可#maclist.txt列出允许上网的主机的MAC地址,每个地址占一行,如00:50:56:C0:00:08acl all src 0.0.0.0/0.0.0.0 #定义所有的地址acl allow_lan src 192.168.1.0/24 #允许局域网lan访问的acl acl sexurl url_regex "/usr/local/squid/sexurl.txt" #定义色情网站过滤acl virurl url_regex "/usr/local/squid/virurl.txt" #定义病毒网站过滤#acl allowedmac arp "/etc/squid/maclist.txt"#定义访问策略http_access deny sexurl #拒绝色情网站http_access deny virurl #拒绝病毒网站http_access allow allow_lan #允许局域网ip访问http_access deny all #拒绝其它未定义的规则#http_access allow allowedmac#定义可缓冲的文件名:5,运行SQUID:sbin/squid -z #初始化生成缓冲目录sbin/squid -NCd1 #前台运行(显示很多运行日志)squid #直接运行bin/RunCache & #不间断运行启动步骤:squid -zsquid -NsYD /usr/local/squid/conf/squid.conf > squid.out 2>&1监控缓冲日志:tail -f /usr/local/squid/var/logs/access.log------------------------------------------------------------------------------------------6,操作系统优化:(1)加大系统的文件描述符限制:ulimit -n默认为1024增大为65536:ulimit -n 65536查看所有的系统限制:ulimit -a(2)加速回收TIME_WAIT的sockets:sysctl -a|grep net.ipv4.tcp_twsysctl -w net.ipv4.tcp_tw_reuse=1sysctl -w net.ipv4.tcp_tw_recycle =1(3)加大临时端口的范围(默认是1024-4999):echo "1024 40000" > /proc/sys/net/ipv4/ip_local_port_range(4)如果还做NAT的话,增加NAT表的限制:echo "65535" > /proc/sys/net/ipv4/ip_conntrack_max----------------------------------------------------------------------------------7,squidclient使用简介:查看帮助:./squidclient -h 192.168.1.123 -p 3128 mgr:/usr/local/squid/squidclientsquidclient -h 192.168.1.123 -p 3128 mgr:client_list //查看客户端列表squidclient -h 192.168.1.123 -p 3128 mgr:objects //取得已缓存的列表squidclient -h 192.168.1.123 -p 3128 mgr:info //取得运行状态经验技巧:打开一个网址,访问一下,看看有没有Cache到squidclient -h 192.168.1.123 -p 3128 mgr:objects | grep GET | grep 统计cache到的总数哈:squidclient -h 192.168.1.123 -p 3128 mgr:objects | grep GET | wc -l---------------------------------------------------------透明代理:iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 3128-----------------------------------------------------------------------------------错误FAQ:FATAL: ipcache_init: DNS name lookup tests failed.有3种方法解决这个问题1。

squid配置

squid配置

squid配置一.squid(代理服务器)的作用:1. 通过缓存的方式为用户提供WEB服务加速2. 对用户的WEB访问做访问控制二.代理服务器分为以下三类:1. 普通代理服务2. 透明代理服务3. 方向代理服务三squid的基本配置:1. 安装squid的软件包为:squid-2.6.STABLE21-3.el52. squid的运行进程为:squid3. 运行squid的二进制文件为:/etc/init.d/squid4. squid的监听端口为:3128(tcp)5. squid的主配置脚本为:/etc/squid/squid.conf6. squid的日志记录存放:/var/log/squid/access.log四. squid主配置文件常用的配置项1. http_port 定义squid的监听端口的,默认为31282. cache_mem 定义为squid分配内存的大小,默认为64M3. visible_hostname 定义配置为可见的主机名,默认没有此项,需手动添加4. cache_dir 定义缓存存放的目录5. cache_mgr 定义管理员的邮箱6. error_directory 定义错误提示的语言7. reply_body_max_size 定义用户传输的最大数据五.普通代理服务(为内网用户代理上网)实验环境:内网的网卡eth1:192.168.23.23,内网的客户机ip:192.168.23.25 外网卡eth0:192.168.0.43 ,web服务器的地址为:192.168.0.254(这里的实验环境为实验室,如有需要,可根据实际情况进行改动)1. 修改主配置文件:(1)visible_hostname定义为: (2)用户的最大传输数据位:10M(3)访问控制列表定义为allow all(4)监听端口定义为内网卡的8080端口:(5)定义错误提示的语言为中文(6)定义管理员的邮箱地址:2. 初始化squid的缓存目录:3.分析是否有语法错误:3.启动squid服务:4. 做客户端的设置,这里以Firefox为例:(1)打开工具栏中的"编辑"-----》"首选项"-----》"高级"-----》"网络"----》"设置"-----》"手动配置代理"设置代理地址为内网卡的ip:192.168.23.23,代理端口为8080,然后点击"确定"退出。

squid代理服务器、iptables防火墙(安全)的设置和各自的功能

squid代理服务器、iptables防火墙(安全)的设置和各自的功能

Squid是Linux下最为流行的代理服务器软件,它功能强大,支持对HTTP、FTP、Gopher、SSL、WAIS等协议的代理; 设置简单,只需对配置文件稍稍改动就可使代理服务器运转起来。

此外,Squid具有页面缓存功能,它接受用户的下载申请,并自动处理所下载的数据。

前期准备Squid对硬件的要求是: 内存不应小于128M,硬盘转速越快越好,最好使用服务器专用SCSI硬盘,对CPU的要求不高,400MHz以上即可。

笔者所管理的代理服务器是Inter2150,安装了Red Hat Linux 7.2,安装时就带有Squid。

有两块网卡,一块eth0配外部地址(比如211.88.99.66),一块eth1配内网地址(比如192.168.5.1)。

如果安装了Gnome或其他图形界面,就可以在netconfig 中给两块网卡配置IP地址,不然的话,可在/etc/sysconfig/network-script路径下更改文件ifcfg-eth0和ifcfg-eth1。

首先编辑ifcfg-eht0,有以下几项:DEVICE=eth0 (表示用哪块网卡)IPADDR=211.88.99.66 (设置该网卡的IP地址)NETMASK=255.255.255.252 (设置子网掩码)同样编辑ifcfg-eth1,然后运行命令network restart就可以使配置生效了。

对eth0、eth1进行配置后,可以用ifconfig命令来查看是不是配置成功。

如果服务器只有一张网卡,也不用担心,Linux可以在一块网卡上绑定多个IP地址。

在图形界面下配置很简单,不赘述。

如果在文本状态下配置,可以将ifcfg-eth0复制并命名为ifcfg-eth0:1,把它完全当成两块网卡来配就可以了。

Squid的安装1. 安装Linux安装Linux在硬盘分区时要注意,最好不要让系统自己分区,而是手动分区。

通常,在Linux系统中有且仅有一个交换分区(在文件系统形式中选择Linux swap),它用做虚拟内存,建议将交换分区的大小设置为内存的两倍。

Linux1 代理服务器 使用squid代理共享上网

Linux1 代理服务器  使用squid代理共享上网

Linux1 代理服务器使用squid代理共享上网假设有如下所述环境:在一个局域网中,有一台安装了Red Hat Enterprise 5.4 LINUX计算机可以上网,而其它的计算机均不能上网,这时就能够在这台可以上网(在这台计算机上必须有两块网卡,的计算机上搭建squid代理服务器实现共享上网,一块内网,一块连接外网),配置过程如下所示。

右击这台计算机桌面的任意空白区域,输入“ifconfig eth0 192.168.0.9 netmask 255.255.255.0”命令,并按【回车】键,配置连接外网的网卡的IP地址。

然后,输入“ifconfig eth1 192.168.10.1 netmask 255.255.255.0“命令,并按【回车】键,配置连接内网的网卡的IP地址,如图11-45所示。

图11-45 配置网卡的IP地址输入“ifconfig”命令,按【回车】键,查看eth0和eth1两块网卡配置是否生效,如图10-46所示。

图11-46 查看网卡配置是否生效。

在终端中,输入“echo "1" > /proc/sys/net/ipv4/ip_forward”命令,并按【回车】键,开启内核的路由功能,如图11-47所示。

图11-47 开启内核的路由功能接下来要对主配置文件squid.conf进行相应的设置,输入“vi /etc/squid/squid.conf”命令,并按【回车】键,打开该配置文件,可以看到squid版本等信息,如图11-48所示。

图11-48 squid主配置文件在该配置文件中,找到NETWORK OPTIONS选项,并按“a”键进入插入模式,将http_prot 3128字段(默认监听3128号端口)修改为http_prot 192.168.10.1:8080,意思是仅监听内网IP:192.168.10.1上8080端口的http请求,如图11-49所示。

RHEL5.4配置squid代理

RHEL5.4配置squid代理

RHEL5.4配置squid代理下面是关于Linux下面配置squid代理服务器的讨论,Squid代理介绍Squid代理服务器可以提供缓存,从而加快用户的访问速度,好处在于,可以共享网络,加快访问速度,节约通信带宽,防止内部主机受到攻击,限制用户访问,完善网络管理。

下面是关于Squid这个服务的属性Squid的相关软件包SquidSquid的守护进程/usr/sbin/squidSquid的脚本/etc/init.d/squidSquid的端口3128(squid)可配置Squid的配置文件/etc/squid/squid.conf下面来简单的配置squid代理服务器,首先必须安装软件包,[root@server1 ~]#[root@server1 ~]# yum -y install squidLoaded plugins: rhnplugin, securityThis system is not registered with RHN.RHN support will be disabled.Setting up Install ProcessResolving Dependencies--> Running transaction check---> Package squid.i386 7:2.6.STABLE21-3.el5 set to be updated--> Finished Dependency ResolutionDependencies Resolved============================================================= ===================Package Arch Version Repository Size============================================================= ===================Installing:squid i386 7:2.6.STABLE21-3.el5 base1.3 MTransaction Summary============================================================= ===================Install 1 Package(s)Update 0 Package(s)Remove 0 Package(s)Total download size: 1.3 MDownloading Packages:squid-2.6.STABLE21-3.el5.i386.rpm | 1.3 MB00:00Running rpm_check_debugRunning Transaction TestFinished Transaction TestTransaction Test SucceededRunning TransactionInstalling : squid1/1Installed:squid.i386 7:2.6.STABLE21-3.el5Complete![root@server1 ~]#Squid服务的软件包就安装成功了,下面主要来了解下squid服务的配置文件,Squid服务的配置文件在/etc/squid/squid.conf中,Vim /etc/squid/squid.conf首先是squid服务侦听的端口,在这个配置文件的第919行,# Squid normally listens to port 3128http_port 3128这个就代表squid服务默认侦听在3128端口,当然,这个是可以更改的。

Linux_SquidProxyServer代理服务器

Linux_SquidProxyServer代理服务器

Linux_SquidProxyServer代理服务器⽬录Squid proxy serverSquid是基于Unix的代理服务器(proxy server),⽀持缓存多种不同的⽹络对象,包括那些通过HTTP和FTP访问的对象。

缓存频繁访问的⽹页、媒体⽂件等,实现加速应答时间并减少带宽堵塞。

Squid通过追踪⽹络中的对象来实现作⽤。

Squid最初担当中介,仅仅是把客户请求传递到服务器并存储请求对象的副本。

如果同⼀个⽤户或同⼀批⽤户再次请求还缓存(cache)在Squid中的相同对象时,Squid能够⽴即服务,加速下载并保存带宽。

Squid代理服务器提供更快的下载速度、缩短延迟时间,尤其是在提供丰富媒体和流式视频⽅⾯。

⽹站经营者将频繁地把Squid代理服务器作为内容加速器、频繁查看内容的缓存和⽹络服务器的容位负载。

内容发布⽹络和媒体公司会采⽤Squid代理服务器,并在整个⽹络中部署它们来改善浏览者的访问体验,特别是对流式内容的负载平衡(load balancing)和处理访问⾼峰等⽅⾯的优化有显著效果。

Squid can proxy http ftp ssl protocol.Effect:Proxy server helps client users to gets and cache the data from targeted host. Realize more fast and more secure what access web protal.Web proxy server operating principleCache web element object(static text,picture),reduce multiple request.1. Forward Proxy(SNAT)2. Reverse Proxy(DNAT)Achieve firewall function via domain name limit(application layer).Forward proxy:1. Typical proxy: need setup proxy’s ip and port by manual in the browser.2. Transparent proxy: host gateway IP assign to proxy serverSquid featuresSoftware:squid-3.1.10-1.e16_2.4.X86_64Service:squidConfigure file:/etc/squid/squid.confSquid control module store dirextory: /usr/lib64/squid/Config option:http_port squidServerIP:3128cache_mem 64 MB #one half as cache(64MB) when the mem > 2Gcache_dir nfs /var/spool/squid 100 16 256#100 --> Total disk space < 100M#16 --> Total directory < 16#256 --> Total level2 directory in the level1 directoryvisible_hostname #if have not hostname and this option, the proxy server can not start.dns_testnames reply_body_max_size 10 MB #forbid download the file when the file size greater than 10MBminimum_object_size 0kb #don't cache data when the data count less than Xkb, 0 the meaning is no limit.maximum_object_size 4096kb #don't cache date when the data greater than XkbACL list control mode.1. Format:acl listName listType listContenthttp_access allow/deny listNamehttp_access allow/deny "url" #import url of ACLlist file,Create file for store ACLList when the ACLList have too much.Example:Deny cache web paperacl deny php,...cache_deny:deny phpAcl list type:src:source address #Can define network segment example:IP or continuous IP. 192.168.1.10-192.168.1.20/24dst:destination addressport:destination portsrcdomain:source domaindstdomain:destination domaintime:access time,general the parameter is range, example:09:30-17:30maxconn:max concurrency connecturl_regex:destination url address, example : ^rtsp:// #Beginning with this typeurlpath_regex:complete destination url path, example: -i Sex adultSetup squid serverstep1. General squidyum install -y squidstep2. Edit configuration filevim /etc/squid/squid.confhttp_port 10.20.0.210(proxyServerIP):3182reply_body_max_size 10MBcache_dir nfs /var/spool/squid 100 16 256visible_hostname Attention:Frist make DNS analysis as IP in the client then send the data package to squid server, but squid do not proxy DNS server, so should be setup SDNA and use it to connect DNS in the squid server.Setup transparent proxyTransparent proxy can’t support 443 portstep1.Edit config filevim /etc/squid/squid.confhttp_port ServerIP:3128 transparentstep2. Set the iptables rulesiptables -t nat -A PREROUTING -i eth1 -s 192.168.4.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128Attention:iptables -t nat -A PREROUTING -i eth1 -s 192.168.4.0/24 -p tcp --dport 443 -j REDIRECT --to-port 3128#Will 80 port access session assign to squid server's 3128 port, resolve way is use the SNAT.step3. Set the ACL rulesacl worktime time D 9:00-17:30acl burl urlpath_regex -i game \.mp3$http_deny burlhttp_access allow localnet worktimeSquit authenticationTransparent proxy don’t use authentication ,but the classical proxy can.step1. Add authentition module./usr/lib64/squid/ncsa_auth --> authentication mudulestep2. Set authentication parameter in the main config file.step3. Set authentication ACLacl auth_user proxy_auth REQUIREDhttp_access allow auth_userstep4. Create authentication accountvim squid.confacc auth_user proxy_auth REQUIREDhttp_access auth_userauth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/auth_user.txt #Frist line in the config file. Specify user list file for ncsa_auth authentication module htpasswd -c /etc/squid/auth_user.txt jmilk #create user list file, you have to install httpd service to use command htpasswdcat /etc/squid/auth_user.txtvim /etc/squid/squid.confauth_param basic children 5 --> deal with 5 concurrent authenticationauth_param basic realm Squid proxy-caching web --> welcome pageauth_param basic credentialstt2 2 hours --> timeoutstep5. Set the speed limit for every IP.delay_pools 1 #relay pool numberdelay_class 1 3#1 --> relay pool number#3 --> specify network type to B;1: one IP;2:type C;3:type B;4: type Adelay_access 1 allow localnet #usr acl:localnetdelay_parameters 1 -1/-1 20000/20000(byte)#-1/-1 --> all network segment#20000/20000 --> no limit download speed before 200M/speed limit beyond 200MSetup the Reverse Proxy ServerWeb 服务器容易出现负载瓶颈,有下⾯解决办法1. Web服务器集群2. 使⽤反向代理服务器反向代理服务器:类似DNS以缓存的⽅式,减轻web server的压⼒Listen 80no set ACL, allow allstep1.vim squid.confhttp_port ProxyServerIP:80 vhostcache_peer WebServerIP parent 80 0 originsererhttp_access allowCase: set the transparent proxyvim squid.confhttp_port squidServerIP:3128 transparentvisible_hostname cache_dir ufs /var/spool/squid 100 16 256cache_mem 1024 MB对超过3MB⼤⼩的⽂件不做缓存,禁⽌下载超过100M的⽂件maximum_object__size 3 MBreply_body_max_size 100 MB启⽤⽹址过滤,禁⽌访问带有”Sex”,”adult”字样的链接acl burl urlpath_regex -i Sex adult#-i --> key wordhttp_access deny burl配置Squid使⽤基本的⾝份认证,并且创建⽤户jmilk,只有通过⾝份认证后才可以使⽤squid上⽹。

squid安装方法linux

squid安装方法linux

搭建Linux安全的Squid代理服务器本文介绍Linux下非常著名、常用的Squid代理服务器的使用,并着重讲述如何使用其提供的访问控制策略,来保证代理服务器的合法使用。

代理服务器的功能是代理网络用户取得网络信息,它是网络信息的中转站。

随着代理服务器的广泛使用,随之而来的是一系列的安全问题。

由于没有对代理服务器的访问控制策略作全面细致的配置,导致用户可以随意地通过代理服务器访问许多色情、反动的非法站点,而这些行为往往又很难追踪,给管理工作带来极大的不便。

Squid是Linux下一个缓存Internet数据的代理服务器软件,其接收用户的下载申请,并自动处理所下载的数据。

也就是说,当一个用户想要下载一个主页时,可以向Squid发出一个申请,要Squid代替其进行下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份。

当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。

目前,Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS协议,暂不能代理POP3、NNTP等协议。

Squid可以工作在很多操作系统中,如AIX、Digital、Unix、FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2等。

安装和配置Squid Server通常说来,安装Squid有两种方法:一是从Red Hat Linux 9中获取该软件的RPM包进行;二是安装从Squid的官方站点/ 下载该软件的源码进行编译后安装。

目前网上最新的稳定版本为squid-2.5.STABLE10,下面以此版本为例对两种安装方法进行介绍。

Squid服务器工作原理示意图1.RPM包的安装首先,查看是否已经安装了squid:#rpm -qa | grep squidRed Hat Linux9自带了Squid安装软件包,将第一张安装光盘放入光驱后挂装光盘分区:#mount /mnt/cdrom然后,进入/mnt/cdrom/Red Hat/RPMS目录:#cd /mnt/cdrom/Red Hat/RPMS最后,执行安装:#rpm -ivh squid-2.5.STABLE1-2.i386.rpm当然,我们也可以在开始安装系统的过程中安装该软件。

linux下搭建squid简单易懂

linux下搭建squid简单易懂

搭建squid安装squidyum -y install squid:安装service squid restart:启动chkconfig squid on :开机启动配置squid编辑/etc/squid/squid.confhttp_port 3128:代理端口(其他端口也可以)cache_mem 64M:设置内存缓冲大小cache_dir ufs /var/spool/squid 512 16 256:设置可以使用磁盘容量的大小cache_effective_user squid:设置缓存有效的用户cache_effective_group squid:设置缓存有效的用户组dns_nameservers 192.168.0.254:设置dns服务器地址cache_access_log /var/log/squid/access.log :设置squid的访问日志cache_log /var/log/squid/cache.log :设置缓存日志文件cache_store_log /var/log/squid/store.log :设置网页缓存日志visible_hostname hostname :设置squid主机名字cache_mgr xxx@xxx.xxx :设置管理员Email地址拦截的基本规则:先过滤不允许的内容再过滤允许的内容“!”表示不允许控制访问列表语法:acl 列表名称列表类型[-i] 列表值acl aclName src 192.168.0.0/24:被控制的网段地址http_access allow|deny aclName : 允许|禁止aclName控制列表的内容acl列表类型src:源地址,ip或网段地址(来自那儿)dst:目标地址,ip或网段地址(到那儿去)srcdomain:源域名或域(来自那个域)dstdomain:目标域名或域(到那个域去)time:一天的那个时刻和周内的那一天(下面附格式说明)url_regex:URL规则表达式匹配urlpath_regex:忽略协议和主机名的url规格表达式proxy_auth:通过外部程序进行用户认证maxconn:单一ip的最大连接数说明:regex写代码都明白正则表达式time类型的语法:[星期][时间段]星期:M(Monday星期一),T(Tuesday星期二),W(Wednesday星期三),H(Thursday星期四),F(Fnday星期五),A(Saturday星期六),S(Sunday星期天)例子:不允许访问百度acl dropBaidu dstdomain http_access deny baidu不允许访问某个IP上的网站acl dropIp dst IP地址http_access deny dropIp不允许访问某个网站下的某个子目录acl zp url_regex ^/othsys/zp/*http_access deny zp不允许访问某个网站下的图片acl cnkh urlpath_regex /cnkh.*\.jpg$http_access deny cnkh不允许上班时间上网那些网站acl notWorkRelated dstdomain 网站地址acl workingHours time [星期N] [08:30-17:30]http_access deny !workingHours notWorkRelated使用访问控制如果,允许网段10.0.0.124/24以及192.168.10.15/24内的所有客户机访问代理服务器,并且允许在文件/etc/squid/guest列出的客户机访问代理服务器,除此之外的客户机将拒绝访问本地代理服务器。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2)写iptables防火墙规则并开启路由转发功能(linux中)
这里需要的SNAT规则是: iptables -t nat -A POSTROUTING -s [内网IP地址] -o [出去的网卡也就是外网网卡] SNAT --to-source [外网
址]
3)验证SNAT
第一个Red Hat 是防火墙 2008是服务器第二个linux是客户机客户机通过防火墙的规
7)客户端设置在局域网lan设置中
在linux中
如果使用图形化界面liunx 需要手工指定环境变量
vi /etc/profile
HTTP_PROXY=http://[代理服务器IP地址] //为HTTP指定代理服务器HTTPS_PROXY=http://[代理服务器IP地址] //为HTTPS指定代理服务器FTP_PROXY=http://[代理服务器IP地址] //for FTP
NO_PROXY=192.168.1.,192.168.2. //对两个局域网段不使用代理export HTTP_PROXY HTTPS_PROXY FTP_PROXY NO_PROXY //应用
8)tail /var/log/httpd/access_log 查看httpd的访问日志
2,透明代理
透明代理多用于局域网客户端不用手动设置
1)修改配置文件
添加代理服务器的IP地址
2)设置iptables重定向策略
动态查看squid的日志 tail -F /var/log/squid/access.log
新增了一条说明成功。

相关文档
最新文档