squid传统代理的另一形式----透明代理
2018-07-25 16:05
791 查看
构建透明代理
安装squid支持透明模式
squid透明代理本属于squid标准传统代理的一部分,本文特意将透明代理单独写出,是因为yum安装的版本中没有支持透明模式的模块。因此,支持透明代理的模块需要在手动编译安装时加入。
tar zxvf squid-3.4.6.tar.gz -C /opt/
cd /opt/squid-3.4.6
./configure --prefix=/usr/local/squid \ --sysconfdir=/etc \ --enable-arp-acl \ //可以在规则链中设置为直接通过客户端MAC管理,防止客户端使用IP欺骗 --enable-linux-netfilter \ //使用内核过滤 --enable-linux-tproxy \ //使用透明模式 --enable-async-io=100 \ //异步I/O,提升存储性能 --enable-err-language="Simplify_Chinese" \ //错误信息显示语言 --enable-underscore \ //允许URL中有下划线 --enable-poll \ //使用poll模式,提升性能 --enable-gnuregex //使用GNU正则表达式
实验环境
服务器 | 操作系统 | IP地址 | 使用软件 |
---|---|---|---|
squid代理服务器 | centos7.3 | 内192.168.100.1 外12.0.0.1 | squid |
外网web服务器 | centos7.3 | 12.0.0.12 | http |
client | windows7 | 192.168.100.100 | IE浏览器 |
实验拓扑展示
透明代理配置过程
squid代理服务器设置
1、添加网卡,内网卡ens33,外网卡ens37
网卡添加完成后修改IP,此过程建立在已经安装好squid缓存代理服务器基础上。网卡配置如下图所示:
接着打开路由转发功能:
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 //添加打开路由转发功能
sysctl -p //立即生效
或者这样打开路由转发功能:
echo "1" > /proc/sys/net/ipv4/ip_forward
2、配置squid代理服务配置文件
ln -s /usr/local/squid/sbin/* /usr/local/sbin/useradd -M -s /sbin/nologin squid
chown -R squid.squid /usr/local/squid/var/
vim /etc/squid/squid.conf
# Squid normally listens to port 3128 http_port 192.168.100.1:3128 transparent //设置为内网端口代理 cache_mem 64 MB #指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,建议设为物理内存的1/4 reply_body_max_size 10 MB #允许用户下载的最大文件大小,以字节为单位。默认设置0表示不进行限制 maximum_object_size 4096 KB #允许保存到缓存空间的最大对象大小,以KB为单位,超过大小限制的文件将不被缓存,而是直接转发给用户 ... cache_effective_user squid #添加 指定程序用户 cache_effective_group squid #添加 指定账号基本组 coredump_dir /usr/local/squid/var/cache/squid #在这一行上方添加
systemctl restart squid.service
3、写入防火墙nat策略
iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128 //允许http端口服务 iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128 //允许https端口服务 iptables -I INPUT -p tcp --dport 3218 -j ACCEPT
4、外网web服务器配置
将外网网卡IP设置为12.0.0.12,启动HTTP服务即可。5、客户端访问
客户端访问时不需要通过在浏览器中设置代理功能,直接访问IP地址即可。访问结果如下:相关文章推荐
- squid传统代理和透明代理
- Centos7 下 squid安装 以及 传统代理和透明代理的部署
- 构建squid传统代理和透明代理
- squid的原理和传统代理服务器和透明代理服务器以及squid的日志分析
- 构建Squid传统代理及透明代理
- Squid传统代理、透明代理应用
- squid 缓存服务器之传统、透明代理
- squid透明代理和访问控制-047
- 某企业SQUID透明代理上网时出现如下问题,正在想处理办法?
- Centos 下Squid配置透明代理服务器
- 使用Squid做代理服务器,Squid单网卡透明代理配置详解(转)
- [ZT]squid中实现https的透明代理
- RHEL5 Squid透明代理服务器配置过程详细说明
- 使用Squid做代理服务器,Squid单网卡透明代理配置详解(转)
- iptables+NAT+squid 透明代理上网实现方案
- CentOS 7上构建squid传统代理,透明代理(squid3.4.6)
- 使用squid配置透明代理并对上网行为进行控制
- squid iptables实现透明代理
- iptables NAT+squid实现透明代理
- squid2.6 透明代理配置