Linux, WEB, 应用部署

squid代理服务器的安装配置

一、squid介绍

略过

二、安装

配置squid

./configure --prefix=/usr/local/squid \
--sysconfdir=/etc \
--enable-arp-acl \
--enable-linux-netfilter \        #打开透明代理功能
--enable-linux-tproxy	\         #打开透明代理功能
--enable-async-io=100 \   
--enable-err-language="Simplify_Chinese" \
--enable-underscore \             #允许下划线
--enable-poll	\                 #字符设备驱动中的一个函数
--enable-gnuregex                 #GNU正则表达式库
运行控制

	1、安装后环境:
		squid服务默认端口是:TCP 3128端口
		启动squid使用/usr/local/squid/sbin/squid
		配置文件:/etc/squid.conf
		默认用nobody运行。
	
	2、创建软件链接:
	   安装完成后,which squid 查找不到,需要建立链接:
	   ln -s /usr/local/squid/sbin/* /usr/local/sbin/
	   再次which squid。
	3、编辑配置文件,以squid账户来运行服务):
		vim /etc/squid.conf
		/3128(搜索),找到后在其下面添加:
		reply_body_max_size 10	MB(可选项,限制用户下载的文件大小)
		cache_effective_user squid #设置运行squid服务的用户及用户组账号
		cache_effective_group squid	
	4、创建账户:
	   useradd -M -s /sbin/nologin squid  #-M不创建宿主目录,-s指定登录SHEll。
	   chown -R squid:squid /usr/local/squid/var/ #授于squid账户对var文件夹具有写权限。
	5、squid命令:
		squid --help #查看帮助
		squid #启动squid代理服务
		squid -k reconfigure #修改配置文件后,配置立即生效执行的命令。
		squid -k shutdown #关闭服务
		squid -k parse #检查语法错误(可以先检查语法错误)
	
	6、启动服务及验证:squid
		开启服务:squid
		验证服务是否开启:netstat -anpt |grep 3128
透明代理实现过程:
	1、配置Squid支持透明代理
		vim /etc/squid.conf
		http_port 3128 transparent #透明代理,编译时必须打开此功能。
		squid -k reconfigure
	2、设置iptables 重定向策略
		清除原有规则:
		iptables -t nat -I PREROUTING -i eth0 -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to 3128

注意事项

squid代理服务器与SNAT对比

1、都可以实现内网访问互联网,但是使用的技术各自不一样。
2、SNAT只起到地址转换的作用,无法开启网页的缓存,无法对网页的URL进行过滤。
3、squid是通过代理的方式让客户端间接访问互联网,可以对客户端访问的网页进行缓存,还可以对客户端的连接进行控制,包括源IP、目的URL、文件类型等等。
4、SNAT需要系统开启数据包转发功能(ip_forward = 1),而squid代理不需要开启。

Leave a Reply