Squid代理学习笔记常用代理形式:
1. 正向代理:为内网提供服务加速缓存,一般使用 iptables+squid来提供服务。用 iptables来做 DNAT把端口修改为 3128实现透明代理,如果把 squid的 http_port直接改为 80那么这时就有需要把 squid放在网关上,这样会加重网关的负载。
2. 反向代理:为外网客户提供加速缓存,需要用 iptables来做 DNAT和 SNAT。
squid的应用:
1. squid主要是用在 Web服务上,当然也可以用在其他服务器上如 FTP,不够最好是用 web打开 ftp主要是一些兼容性的问题。
2. 由于 squid具有缓存功能 (memory和 disk_memory),所以导致一些服务最好不要使用 squid提供的服务如: https smtp pop3等一些有秘密性的东西。
3. 经常使用 iptables+squid来提供安全高速的网络方案。用 iptables来封端口,再使用 squid强大的 ACL来提供访问控制。
squid经常打交道的目录和文件:
1. /etc/squid squid的一些主要配置文件都存在这个目录里面
2. /var/run/squid.pid 存 squid这支程序的 pid值
3. /var/log/squid 主要是存放 squid的一些日志
Squid常用命令 :
1. squid –k parse 检查 /etc/squid/squid.conf配置文件是否有错
2. squid –k check 检查 squid启动前是否有错
3. squid -k shutdown 和 squid –k kill关闭 squid程序
4. /etc/init.d/squid start |stop |restart
5. squid –a port 指定 http端口号,默认是 3128
6. squid –f file 使用当前文件替代 /etc/squid/squid.conf配置文件
7. squid –k rotate 设置日志滚动的数量
8. squid -z 创建 Swap交换空间目录指定一个目录用来做交换空间这个目录的权限一定要给 squid的管理者
9. squid -D 取消 DNS初始测试
Squid配置:
1. http_port 可以设置的有三种方式 : port 监听所有网卡的 port_no端口
hostname:port 监听某个主机名的 port_no端口
ip:port 监听某个固定 IP的网卡的端口
当然你可以使用 squid -a port_no 来设置第一种模式(仅第一张模式)
2. cache_mgr 设置一个当故障发生时可以联系管理员的 EMAIL地址
cache_mgr zzhxqm@163.com
3. Cache_effective_user
Cache_effective_group用来设置 squid的有效管理用户和组
4. Cache_access_log 用来记录用户访问记录默认目录为 /var/log/squid/access.log
5. cache_store_log 用来存放一些 cache里面的东西默认目录为 /var/log/squid/store.log
6. cache_log
7. logfile-rotate 用来设置日志滚动默认为 10 就是 0-9个级别可以使用 squid -k rotate 来设置
8. cache_men 用来设置 cache的缓存大小 (非物理缓存 ),一般建议为物理内存的 1/3到 1/2
9. maximun_object_size_in_memory 用来设置一个大小界限大于这个界限的文件将不被存入缓存里面
10. maximun_object_size 同上不够这个是作用在物理缓存里面
11. cache_swap_low和 cache_swap_hight 设置一个阀值当缓存用到 hight这个值时系统开始清空并清空到 low这个值
12. cache_dir ufs /var/spool/squid 100 16 256 这个命令是用来设置物理缓存的目录和一些参数其中 100代表空间为 100M 16代表它在物理缓存下将建 16个一级目录并在各个一级子目录下创建 256个二级子目录这样的作用是为了更准确的文件定位提高 squid的工作性能
-------------------反向的主要参数 ----------
13. httpd_accel_host 主要用来设置服务器的 IP地址比如 web服务器的 IP地址
14. http_accel_port 设置反向代理的端口
15. httpd_accel_with_proxy on|off 用来设置是否同时开始正向和反向的代理服务
16. httpd_accel_uses_host_header on|off 多机和单机的 check
squid访问控制
eg1:
设置访问规则:
acl localhost src 192.168.1.0/24
调用访问规则
http_accel allow loaclhost
域名禁用
acl denydomain dstdomain .sina.com.cn .163.com
http_access deny denydomain
1. 正向代理:为内网提供服务加速缓存,一般使用 iptables+squid来提供服务。用 iptables来做 DNAT把端口修改为 3128实现透明代理,如果把 squid的 http_port直接改为 80那么这时就有需要把 squid放在网关上,这样会加重网关的负载。
2. 反向代理:为外网客户提供加速缓存,需要用 iptables来做 DNAT和 SNAT。
squid的应用:
1. squid主要是用在 Web服务上,当然也可以用在其他服务器上如 FTP,不够最好是用 web打开 ftp主要是一些兼容性的问题。
2. 由于 squid具有缓存功能 (memory和 disk_memory),所以导致一些服务最好不要使用 squid提供的服务如: https smtp pop3等一些有秘密性的东西。
3. 经常使用 iptables+squid来提供安全高速的网络方案。用 iptables来封端口,再使用 squid强大的 ACL来提供访问控制。
squid经常打交道的目录和文件:
1. /etc/squid squid的一些主要配置文件都存在这个目录里面
2. /var/run/squid.pid 存 squid这支程序的 pid值
3. /var/log/squid 主要是存放 squid的一些日志
Squid常用命令 :
1. squid –k parse 检查 /etc/squid/squid.conf配置文件是否有错
2. squid –k check 检查 squid启动前是否有错
3. squid -k shutdown 和 squid –k kill关闭 squid程序
4. /etc/init.d/squid start |stop |restart
5. squid –a port 指定 http端口号,默认是 3128
6. squid –f file 使用当前文件替代 /etc/squid/squid.conf配置文件
7. squid –k rotate 设置日志滚动的数量
8. squid -z 创建 Swap交换空间目录指定一个目录用来做交换空间这个目录的权限一定要给 squid的管理者
9. squid -D 取消 DNS初始测试
Squid配置:
1. http_port 可以设置的有三种方式 : port 监听所有网卡的 port_no端口
hostname:port 监听某个主机名的 port_no端口
ip:port 监听某个固定 IP的网卡的端口
当然你可以使用 squid -a port_no 来设置第一种模式(仅第一张模式)
2. cache_mgr 设置一个当故障发生时可以联系管理员的 EMAIL地址
cache_mgr zzhxqm@163.com
3. Cache_effective_user
Cache_effective_group用来设置 squid的有效管理用户和组
4. Cache_access_log 用来记录用户访问记录默认目录为 /var/log/squid/access.log
5. cache_store_log 用来存放一些 cache里面的东西默认目录为 /var/log/squid/store.log
6. cache_log
7. logfile-rotate 用来设置日志滚动默认为 10 就是 0-9个级别可以使用 squid -k rotate 来设置
8. cache_men 用来设置 cache的缓存大小 (非物理缓存 ),一般建议为物理内存的 1/3到 1/2
9. maximun_object_size_in_memory 用来设置一个大小界限大于这个界限的文件将不被存入缓存里面
10. maximun_object_size 同上不够这个是作用在物理缓存里面
11. cache_swap_low和 cache_swap_hight 设置一个阀值当缓存用到 hight这个值时系统开始清空并清空到 low这个值
12. cache_dir ufs /var/spool/squid 100 16 256 这个命令是用来设置物理缓存的目录和一些参数其中 100代表空间为 100M 16代表它在物理缓存下将建 16个一级目录并在各个一级子目录下创建 256个二级子目录这样的作用是为了更准确的文件定位提高 squid的工作性能
-------------------反向的主要参数 ----------
13. httpd_accel_host 主要用来设置服务器的 IP地址比如 web服务器的 IP地址
14. http_accel_port 设置反向代理的端口
15. httpd_accel_with_proxy on|off 用来设置是否同时开始正向和反向的代理服务
16. httpd_accel_uses_host_header on|off 多机和单机的 check
squid访问控制
eg1:
设置访问规则:
acl localhost src 192.168.1.0/24
调用访问规则
http_accel allow loaclhost
域名禁用
acl denydomain dstdomain .sina.com.cn .163.com
http_access deny denydomain