Squid透明代理内网用户上网

2015-04-19 20:48:38

标签:squid 路由器 代理服务 ip地址

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lu2yu.blog.51cto.com/10009517/1635836

一、简介

squid实现代理上网是7层代理,传统的路由器实现snat一般是4层,基于ip地址和端口转换实现的,7层和4层的区别如下:

1.nat需要开启路由转发功能,7层代理squid不需要开启路由转发

2.7层能够实现应用层面的控制,可以基于url的控制过滤,4层无法做到。

Squid基本功能:

1.提供HTTP和FTP协议的代理服务

2.缓存代理数据,提高访问速度

3.ACL限制内网访问外网资源(时间,ip)

二、Squid实现内网上网

拓扑:

(不追求美观,但讲究精确)

①安装squid软件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@node1 ~]#  yum  install  -y  squid
[root@node1 ~]#  rpm  -ql  squid
/etc/logrotate.d/squid     ##日志轮转
/etc/pam.d/squid            ##squid支持的认证模块
/etc/rc.d/init.d/squid         ##服务脚本
/etc/squid                     ##配置文件位置
/etc/squid/cachemgr.conf
/etc/squid/cachemgr.conf.default
/etc/squid/errorpage.css
/etc/squid/errorpage.css.default
/etc/squid/mime.conf            ##支持的媒体文件类型
/etc/squid/mime.conf.default
/etc/squid/msntauth.conf
/etc/squid/msntauth.conf.default
/etc/squid/squid.conf            ##当前生效的配置文件
/etc/squid/squid.conf.default    ##初始化配置文件的备份
/var/log/squid                    ##日志文件
/var/spool/squid

②配置squid节点

前提: 保证squid自身能上网

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
######/etc/squid/squid.conf#####主要配置内容
http_port 192.168.112.135:3128 transparent
acl  innet src 192.168.112.0/24
http_access allow  innet
cache_access_log  /var/log/squid/access.log ##设置高速缓存存取记录文件的名称和所在目录,它记录了所有高速缓存的行为,如果不需要,可以设为"cache_access_log /dev/null"
visible_hostname  192.168.112.135    ##用于提示客户端
cache_mem   60M                    ##设置PROXY SERVER可使用多少内存作为高速缓存,一般要设置为物理内存的1/3
cache_log /var/log/squid/cache.log  ##设置缓存存储记录文件的名称和所在目录,它记录了哪些数据从高速缓存移出,哪些数据被放入高速缓存
cache_swap_low 80
cache_swap_high 97  ##这两行设置CACHE进行替换的闸值,当占用到97%的CACHE后,CACHE中的内容将被清空20%
cache_dir ufs /var/spool/squid  100  16 256 ##设置高速缓存目录和高速缓存可以使用的硬盘空间,100表示最大可使用100MB,16表示第一层子目录最多可以有16个,256表示每个第一层子目录下最多可以有256子目录
dns_nameservers 192.168.31.1    ##内部指定dns,没有则以/etc/resolv.conf为准

③配置iptables规则,实现客户端的80,443请求定向到squid的3128端口,并且将pc的53dns请求snat出去(udp 的53dns无法代理,所以只能通过snat方式出去)

1
2
[root@node1 squid]# iptables  -t  nat  -A PREROUTING -s 192.168.112.0/24 -p tcp --dport 80,443  -j  REDIRECT --to 3128
[root@node1 squid]# iptables  -t nat -A POSTROUTING -s 192.168.112.0/24 -p udp --dport 53 -j SNAT --to-source 192.168.31.241

由于需要snat,因此还需要打开路由转发功能

1
[root@node1 squid]#  echo 1 > /proc/sys/net/ipv4/ip_forward

④配置内网PC

前提:内网PC的流量必须经过squid,dns的解析可以不经过。

⑤测试

本文出自 “Lu2Yu” 博客,请务必保留此出处http://lu2yu.blog.51cto.com/10009517/1635836

转载于:https://blog.51cto.com/1364952/1955901

Squid透明代理内网用户上网相关推荐

  1. 【Java】Socket网络编程实现内网穿透、端口映射转发、内网穿透上网工具的编写,设置IP白名单防火墙

    这里写目录标题 简介 更新 一.背景 1.1 情景假设 1.2 想要达到的目的 1.3 局限 1.3 解决方案一(路由器NAT) 1.4 解决方案二(云服务器转发) 二.方案介绍 2.1 方案简介 2 ...

  2. AR路由器通过web及代码实现公网用户使用公网地址访问内网服务器,同时内网用户实现通过公网地址访问内外那个服务器

    ** AR 实现 公网用户使用公网地址访问内网服务器,同时内网用户实现通过公网地址访问内外那个服务器 ** 1.web实现 配置前提:设备已实现,基本的上网业务,需要映射服务器,实现内外网的访问. ( ...

  3. Cisco pix或asa如何防止内网用户乱改ip配置案例

    在pix或asa如何防止内网用户乱改ip配置案例 防止内网用户乱该ip地址,用户 只能用给定的ip,如果改ip地址,则无法访问网络资源. 例如:做了下述配置后(arp inside 10.64.64. ...

  4. NAT环境下,内网用户使用公网地址访问内网服务器

    一.环境 1.单位内部有一台服务器,提供web.ftp.ssh等服务,ip地址为私网地址. 2.出口使用cisco路由器,做端口映射,使服务器对外提供服务. 3.内部用户可以通过私网地址访问服务器,外 ...

  5. 内网用户通过域名或公网IP访问内部服务器的解决办法

    内网用户通过域名或公网IP访问内部服务器的解决办法 原因-路由回流 组网图 解决方案 内部NAT方案 内网用户与服务器不同网段 E0/0和E0/2都需要做nat server 内网用户与服务器相同网段 ...

  6. 政务内网不能上网的解决办法

    请各位老师在政务内网不能上网时参考以下步骤操作: 重启电脑 确认DNS配置正确,DNS可以在路由器和电脑上配置,这里介绍在电脑上的配置方法 xp系统更改DNS 1).右击网上邻居,单击属性 2).右击 ...

  7. nginx代理内网1521,3306数据库端口

    nginx代理内网oralce数据库地址 客户申请了两台云服务器,一个公网ip:一应用一数据: 上线后导致运维困难,无法便捷查看生产数据库. 因此使用nginx代理数据库地址 新增steam模块 yu ...

  8. 配置内网用户通过NAT地址池方式访问Internet外网

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.需求 二.拓扑 三.基本配置 四.配置NAT地址池 五.验证结果 前言 某企业的内网用户通过路由器和Interne ...

  9. 内网用户如何下载BT资源?BT转HTTP下载

    现在,BT已经是非常普遍.非常流行的下载方式,其优点很多,但是也有不少问题.例如,内网用户常常被限制使用BT下载.麦田蚂蚁就推荐几款可以帮助用户将BT转为HTTP下载的网络服务,其通常是先将用户需要下 ...

最新文章

  1. Node.js流,这样的打开方式对不对!
  2. VTK:采样函数用法实战
  3. 责任心,内因还是外因?
  4. Yarn将用TypeScript重写,Flow惨遭亲爹抛弃!
  5. Linux系统中使用pdb调试python代码
  6. 三层交换机配置实例及说明
  7. 直播预告丨Oracle DataGuard 备份恢复最佳实践
  8. html搜索框如何加下拉框,js实现带搜索功能的下拉框
  9. lodop打印不显示页码_打印成了最浪费时间的事?5个EXCEL打印技巧让你不在抗拒打印...
  10. 周长相等的正方形面积一定相等_三年级下册数学期末重点——面积
  11. LeetCode简单题目(#118 #119 #121 #122 #125 #136 #141 #155)-8道
  12. 中英文对照 —— 缩略词
  13. win11定时关机命令
  14. html5和Css3 的参考手册(中文chm版)
  15. 用户画像分析相关整理
  16. Android 10.0 recovery prompt_and_wait 跳过弹窗 自动 WIPE_DATA(出厂设置)
  17. GIS开发进阶之路(十三) Activator和new的区别、GP工具输入参数问题、写入JObject到json文件、ArcGIS Server REST API、动态规划、贪心算法
  18. 有没有完全自主的国产化数据库技术
  19. java发出声音_Java播放声音的几种方式
  20. Springboot集成Hadoop+Hbase实现企业能源消耗监测大数据分析系统

热门文章

  1. Opencv_100问_第四章 (16-20)
  2. 行为型设计模式之观察者模式(Observer)
  3. 互联网时代的产品战争
  4. linux 内核模块 强制卸载
  5. 【Python】输入整数m和n,输出n位长的m的二进制,若n超出实际长度,则左边填充0。
  6. 三分钟教你增值税发票怎么识别
  7. Java调用支付宝完成支付
  8. 【21年行业趋势】万物数字化的时代,重新定义开发者的“变”与“不变”
  9. 如何关闭 iPhone 的实况文本功能,文字识别功能
  10. 手机应用开发者需注意的20个事项