CentOS 6.7

squid 代理服务器

一般有两张或以上网卡,一张链接公网,访问外网资源,一张位于局域网。
代理服务器可以提供文件缓存、复制和地址过滤等服务,充分利用有限的出口带宽,加快内部主机的访问速度。
同时可以作为一个防火墙,隔离内外网,并且能够提供监控网络和记录传输信息的功能,加强局域网的安全性。 正向代理,反向代理,透明模式 搭建好squid服务器后,在局域网中的网络设备设置代理,例如在浏览器中设置代理,squid的ID 端口号(默认3128) 完成后就能通过浏览器浏览squid服务器允许访问的网路资源了。 首先应该配置网卡,推荐静态ip地址,内网网卡就配置ip,掩码;外网网卡保证能正常访问网络 开始搭建squid: 安装:
# yum 安装
# rpm -qa squid # 查看是否安装
# yum -y install squid # yum 安装 源码安装需要下载squid的源码包:http://www.squid-cache.org/Versions/v3/3.4/squid-3.4.10.tar.gz
# 将下载好的源码包解压
tar zxvf squid-3.4.10.tar.gz
# 进入解压后的目录 cd squid-3.4.10 配置
[root@ming squid-3.4.10]# ./configure --prefix=/usr/local/squid
# --prefix=/usr/local/squid 要安装的路径
make && make install
# 编译安装 时间比较久 修改配置文件:
rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
首先备份,清空配置,重写配置
cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
echo > /etc/squid/squid.conf vim /etc/squid/squid.conf http_port 3128
cache_mem 64 MB # 物理内存
cache_dir ufs /opt/squid_cache 1000 16 256 #存储类型:ufs 存放目录:/opt/squid_cache 磁盘缓存区大小:1000M 一级子目录默认为 16 个 二级目录默认为 256 个
cache_effective_user squid # 这是squid用户,没有该用户需创建
cache_effective_group squid # squid用户组
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
http_access allow all mkdir /opt/squid_cache
chown -R squid.squid /opt/squid_cache/
# chmod -R 777 /usr/local/squid squid -k check # 检查配置文件 squid -z # 初始化
service squid start # 启动 SELinux
[root@mingyaun opt]# getenforce
Enforcing
[root@mingyaun opt]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@mingyaun opt]# setenforce 0
# 修改 /proc/sys/net/ipv4/ip_forward 配置文件
# echo "1">/proc/sys/net/ipv4/ip_forward # 开启路由转发 # 重启失效 acl 格式:acl 列表名 列表类型 [-i] 列表值 ## 列表类型 src 源 IP 地址( 客户机 IP 地址 )
dst 目标 IP 地址 ( 服务器 IP 地址 )
srcdomain 源名称( 客户机所属的域 )
dstdomain 目标名称( 服务器所属的域 )
time 一天中的时间和一周内的一天
url_regex URL 规则表达式匹配
urlpath_regex:URL-path 略去协议和主机名的 URL 规则表达式匹配
proxy_auth 通过外部程序进行用户认证
maxcocnn 单一 IP 最大连接数
time 时间段:[星期][时间段]
[星期]:M( Monday ,星期一 )
T( Tuesday , 星期二 )
W( Wednesday , 星期三 )
H( Thursday , 星期四 )
F( Friday ,星期五 )
A( Saturday , 星期六 )
S( Sunday , 星期日 )
[时间段]:可以表示为 10:00-21:00 ## -i 选项,加 -i 表示列表值的不区分大小写
http_access allow all
## 允许或拒绝某个访问控制列表的 HTTP 请求,格式为:http_access [allow|deny] 列表名 反向代理
useradd squid
passwd squid
mkdir /opt/squid_cache
chown -R squid.squid /opt/squid_cache
yum install squid
cd /etc/squid/
cp squid.conf squid.conf.bak
> /etc/squid/squid.conf
vim /etc/squid/squid.conf cache_effective_user squid
cache_effective_group squid
http_port 172.16.1.2:80 accel vhost
# 监听内网ip 的80 端口 ,accel 指加速模式,vhost 用于转发请求
cache_mem 300 MB
cache_dir ufs /opt/squid_cache 4096 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_peer 192.168.2.104 parent 9966 0 originserver name=y
## cache_peer 指定后端服务器地址,80 为后端服务端口,0 为 ICP 端口号(多个 Squid 时用),originserver 指定资源服务器,name 指定一个别名
cache_peer_domain y www.ming.com
## 指定对应关系,当用户请求 www.ming.com 时,转发到别名为 y 的真实服务器上
http_access allow all squid -k check # 检查配置文件
squid -z # 初始化缓存目录
service squid start # 启动 getenforce
setenforce 0
service iptables stop
内网浏览器代理设置:"http_port 172.16.1.2:80 accel vhost" 填squid配置里监听的内网ip及端口 透明模式
http_port 3128 transparent
visible_hostname suqid.com
cache_mem 32 MB
cache_dir ufs /opt/squid_cache 1000 16 256 #存储类型:ufs 存放目录:/opt/squid_cache 磁盘缓存区大小:1000M 一级子目录默认为 16 个 二级目录默认为 256 个
cache_effective_user squid # 这是squid用户,没有该用户需创建
cache_effective_group squid # squid用户组
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
http_access allow all iptables -t nat -A PREROUTING -i eth1 -s 172.16.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -s 172.16.1.0/24 -p tcp --dport 443 -j REDIRECT --to-port 3128
service iptables save
# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT 不需要设置代理,只需将网管指向squid 开机自启
chkconfig --add squid
chkconfig --level 35 squid on 注:以上透明模式只能通过ip访问

Linux 搭建 squid 代理服务器 三种模式的更多相关文章

  1. linux 搭建squid代理服务器

    linux 搭建squid代理服务器 实验环境: 一台linux搭建Web服务器,充当内网web服务器(同时充当内网客户端) 202.100.10.100 一台linux系统充当网关服务器,两个网卡, ...

  2. linux中vim编辑器三种模式及常用命令的使用

    Linux命令经常使用才会烂熟于心 命令行模式: 移动光标: 向下左右箭头可以移动光标: 将光标移动到行尾:$; 将光标移动到行头:^: 将光标移动到页尾:shift+g; 将光标移动到页头:1+sh ...

  3. squid的三种模式

    一.squid代理服务器概述: 概述:Squid Cache(简称为Squid)是http代理服务器软件.Squid用途广泛,可以作为缓存服务器也可以作为缓存代理服务器,代理用户向web服务器请求数据 ...

  4. 逐步搭建Lamp环境之vim的三种模式以及基本命令

    在Linux中vim的三种模式分别为:命令模式.末行模式.编辑模式.以下是三者的关系图: 三种模式的彼此切换: 命令模式是vim中的默认模式. 命令模式切换至末行模式: 使用英文冒号(:). 末行模式 ...

  5. 用VMWare搭建服务器集群不能上外网的三种模式下对应解决办法

    前言 决心要花费宝贵时间写下这篇心得,是因为从昨天晚上到今天上午被这个VMWare模拟搭建的服务器集群不能上外网的问题搞得很心烦,最后决定跟它杠上了!上午还通过远程连接得到了“空白”同学的帮助,在此表 ...

  6. Linux初学之vmware Workstation 网络连接三种模式

    简介: VM(VMware Workstation简称VM,后面都将用VM代替阐述)是一款功能强大的虚拟化软件.VM支持在 单一的桌面上同时运行多款不同的操作系统,能够模拟完整的网络环境,支持pxe功 ...

  7. Linux之vi三种模式常用操作

    vi的三种模式:命令模式.编辑模式.尾行模式 一.命令模式 1.光标移动 a.字符级 左(h) 下(j) 上(k) 右(l) b.单词级 w word移动到下个单词首字母 b before上个单词首字 ...

  8. LVS负载均衡三种模式的实现

    何为lvs负载均衡? lvs负载均衡(linux virtual server)又名linux虚拟服务器.由章文嵩博士主导的负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux ...

  9. [转]VMware Workstation网络连接的三种模式

    经常要使用VMWare Workstation来在本地测试不同的操作系统,以前也搞不清楚网络连接三种模式,最近看了几篇文章才算明白.现总结如下: 1. VMware Workstation的虚拟网络组 ...

随机推荐

  1. Luogu P1273 有限电视网【树形Dp/树形背包】

    题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点. 从转播站到转播站以及从 ...

  2. L - Prime Number(求n内质数的个数)

    Description Write a program which reads an integer n and prints the number of prime numbers which ar ...

  3. [转]mysql事务处理用法与实例详解

    转自:http://www.cnblogs.com/ymy124/p/3718439.html MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于 ...

  4. easy ui combotree的操作

    1.获取combotree的选中值 $("#id").combotree("getValue"); 2.设置combotree的选中值 $('#id').com ...

  5. TCP协议三次握手和四次握手

    前言 先说一下IP协议和TCP协议,IP协议是无连接的通信协议,IP不会占用两个设备之间通信的线路,IP实际上主要负责将每个数据包路由至目的地,但是IP协议并没有能够确保数据包是否到达,传过去的数据包 ...

  6. 支付宝-API接口解析-转账到银行

    支付宝-API接口解析-转账到银行 扫码转账 测试地址 解析内容: alipays://platformapi/startapp?appId=09999988&actionType=toCar ...

  7. 用js的eval函数模拟Web API中的onclick事件

    在检查组内小伙伴提交的tabToggler插件的js代码时,发现了onclick的如下用法: el.onclick = function(){ //按钮样式切换 for(var i=0;i<ob ...

  8. 关于使用myeclipse搭建tomcat环境运行web项目的方法

    这两天准备改同事的一个系统的自适应,然而我没想到的是我竟然在打开这个项目上就遇到了困难,真的是too young too simple,究其根本就是了解的太少了,于是为了我不忘记,用博客的方式把它记录 ...

  9. spark源码学习-withScope

     withScope是最近的发现版中新增加的一个模块,它是用来做DAG可视化的(DAG visualization on SparkUI) 以前的sparkUI中只有stage的执行情况,也就是说我们 ...

  10. iOS地图----MapKit框架

    1.MapKit框架使用前提 ①导入框架 ②导入主头文件 #import <MapKit/MapKit.h> ③MapKit框架使用须知 MapKit框架中所有数据类型的前缀都是MK Ma ...