- 论坛徽章:
- 24
|
本帖最后由 woxizishen 于 2014-09-04 19:54 编辑
回复 10# cryboy2001
我給你一個正向代理我寫的一小部分帶認證的範例,你去整理吧
整個代理服務器從基礎到高級代理陣列(所謂的CDN)我寫了81頁,由於我接觸到有限,如果再深入下去會耗費我大量時間,這些都是偶自己總結寫的,因為我們大腦記憶實在太差,不寫總結過不了多久全部白學。樓主麻煩你幫下面我未解釋的給解釋,我懶得重新找檔案解釋,因為我工作上運用不到,都是利用空餘時間自學的。
第九部份:范例
9.1 中小型企业普通代理(正向代理含认证和ip出口设定)squid.conf设定
这里省略了安装方法,前面已经有详细的说明。只讲述主配置文件设定。
http_port 3128 开放端口
visible_hostname slave4.cn.kingbright.com squid主机名称必设
hostname_aliases slave5.king.com #指定一个主机别名用于DNS查询
cache_dir ufs /var/spool/squid 100 16 256 #指定缓存目录路径和相关缓存的目录结构设定。必须设定
cache_effective_user squid 执行squid进程的用户
cache_effective_group squid
定义访问规则:
acl dawson arp 00:0C:29:A8:55:4D 你需要通过代理上外网的的客户端mac地址或ip地址
http_access allow dawson
##按照上述方法设定既可以将代理服务器设定成正向代理##
如果不想那么麻烦通过限制ip和mac来管理用户,那就使用账号认证管理用户。
即可以让所有用户访问这个代理服务器,但是必须要使用账号登陆才可以使用。只需做如下设定即可:
auth_param basic program /etc/squid/libexec/ncsa_auth /etc/squid/etc/passwd
auth_param basic children 10
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
auth_param basic realm 172.16.4.123 proxy cache
##认证部份有解释##
acl foo max_user_ip 3 拒绝一个账号给3个人同时使用。
http_access deny foo
acl all2 src 0.0.0.0/0.0.0.0 允许所有网络访问此台代理服务器。
http_access allow all2
acl usergroup1 proxy_auth "/etc/squid/etc/ip1user"
http_access allow usergroup1 设定允许用户账号登陆后访问外网、
需要自行建立该用户文件夹
Touch /etc/squid/etc/ip1user
dawson 一行一个账号
temp
……
上述完成后,开始建立密码:
htpasswd -b /etc/squid/etc/passwd dawson 123456
htpasswd -b /etc/squid/etc/passwd temp 123456
##这样重新载入配置文件后即可以用账号通过squid验证正确后即可以访问了。##
如果用户认证设定好了,你还想管理什么样的用户从本代理服务器的哪个ip(其实就是哪张网卡)出口出去。那再以下参数即可。
acl usergroup2 proxy_auth "/etc/squid/etc/ip2user"
acl eth1 src 172.16.9.45 (允许第二个出口2可以访问外网)
http_access allow eth2
##http_access allow usergroup1
加到上面的下面一行http_access allow usergroup2
tcp_outgoing_address 172.16.9.62 usergroup1
usergroup1的用户就会从9.62这个ip出口出去
tcp_outgoing_address 172.16.9.45 usergroup2
usergroup2的用户就会从9.45这个ip出口出去
|
评分
-
查看全部评分
|