Redhat 5.4 搭建squid代理服务器,透明代理,用户认证。

 
安装quid包
 
由于默认的文件里面有很多注释,不利于查看和编辑,建议先复制为
cp /etc/squid/squid.conf /etc/squid/squid.conf.bak  
 
然后清空该文件
cat /dev/null > /etc/squid/squid.conf
 
输入下面的配置即可
[root@mailsvr11]# cat /etc/squid/squid.conf
http_port 192.168.173.11:8080
cache_mem 64 MB
cache_dir ufs /var/spool/squid 4096 16 256
cache_effective_user squid
cache_effective_group squid
dns_nameservers 210.22.84.3
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
visible_hostname 192.168.173.11
cache_mgr [email protected]
 
acl all src 0.0.0.0/0.0.0.0
http_access allow all
 
 
------------------------------------------结束
 
初始化 /usr/sbin/squid -z
启动服务 /etc/init.d/squid start

附:相关解释
http_port 本机IP地址以及端口号,这里的端口号哭随便填写,但是不要跟其他服务冲突,否则启动失败。
cache_mem 指定多少内存为高速缓存,如果只是共享上网,可以加大到物理内存的1/2,如果有其他服务,则不超过1/3
cache_dir ufs 硬盘缓存区的大小 ufs 表示存储类型 4096代表缓存空间大小 16个一级目录 256个二级目录
dns_nameservers DNS服务器的地址
cache_access_log 访问记录日志文件
cache_log  记录缓存相关信息
cache_store_log 设置网页缓存日志文件
visible_hostname  运行squid的服务器的主机名,建议写IP地址
cache_mgr 管理员的email
acl all src 0.0.0.0/0.0.0.0  接收所有的客户机的访问请求
http_access allow all 允许all访问控制列表的http请求
 
IE里面代理服务器的添加,这里就不介绍了。这里只是介绍简单的搭建。
 
--------用户认证设置方法--------
 
 注意:透明代理不能跟用户认证共存
[root@mailsvr11]# cat /etc/squid/squid.conf
http_port 192.168.173.11:8080
cache_mem 64 MB
cache_dir ufs /var/spool/squid 4096 16 256
cache_effective_user squid
cache_effective_group squid
dns_nameservers 210.22.84.3
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
visible_hostname 192.168.173.11
cache_mgr [email protected]
 
acl all src 0.0.0.0/0.0.0.0
 
#用户认证需要添加
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic credentialsttl 2 hours
auth_param basic realm Example.com's Squid proxy-caching
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
 
 
注释:
第一行:选择的认证方式为basic,认证程序路径和密码文件路径。
/etc/squid/passwd文件可以使用下面方法生成,在装有apache的机器上运行
htpasswd -c /etc/squid/passwd auth_user
 
以上的auth_user替换为认证的用户,比如haha            呵呵!!
 
第二行:认证程序的进程数
第三行:认证有效时间
第四行:认证领域内容,上面定义的web浏览需要输入用户密码
第五,六行:设置允许认证的用户访问
 
--------透明代理-------
 
注意:透明代理不能跟用户认证共存
[root@mailsvr11]# cat /etc/squid/squid.conf
http_port 192.168.173.11:8080 transparent ---这里注意下,需要添加 transparent
cache_mem 64 MB
cache_dir ufs /var/spool/squid 4096 16 256
cache_effective_user squid
cache_effective_group squid
dns_nameservers 210.22.84.3
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
visible_hostname 192.168.173.11
cache_mgr [email protected]
 
acl all src 0.0.0.0/0.0.0.0
http_access allow all
 
#下面是透明代理需要添加的
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_users_host_header on
 
注释:
第一行:由于要访问的外网主机有许多台,virtual,即为虚拟的主机,virtual指定了虚拟主机模式,采用这种模式时,squid就取取消了缓存及ICP功能.
第二行:被加速主机的端口
第三行:选项定义为on后,squid既是Web请求的加速器,又是缓存代理服务器
第四行:选项定义为on后,针对要访问的主机使用主机头,即通过主机头来区分不同的主机;这也是配置透明代时必须要配置的
 
需要设置iptables
echo "1">/proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to 8080
 
完成之后,将客户端网关指定到squid服务器,DNS指向外网或者内网可以正常使用的地址。透明代理完成之后,客户端可以不用设置代理服务器,用户不知不觉的使用的squid缓存。
 
 

你可能感兴趣的:(职场,系统,休闲)