第05章Linux透明代理服务器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
v 内网用户访问外网的web服务器的80端口 都转换为内网代理服务器squid的默认端口 3128
v 格式:iptables –t nat –A PREROUTING –s 子网地址/子网掩码 p tcp --dport 80 -j REDIRECT – –toposts 3128
第05章Linux透明代理服务器
3.3Squid的设置
v Linux下squid的具体设置: v squid服务器的初始化
v 使用squid –z命令对squid服务器进行初始化 v 主要作用是在squid服务器的工作目录
“/var/spool/squid/”中建立需要的子目录
第05章Linux透明代理服务器
3.3Squid的设置
第05章Linux透明代理服务器
2.3项目原理
v nat表的主要用处是网络地址转换,即 Network Address Translation
v 属于一个流的包只会经过这个表一次 v PREROUTING 链的作用是在包刚刚到达
防火墙时改变它的目的地址 v OUTPUT链改变本地产生的包的目的地址 v POSTROUTING链在包就要离开防火墙之
v 内部用户所有的IP地址必须通过NAT转换 之后才能够访问外网
第05章Linux透明代理服务器
2.2项目拓扑
v 实验拓扑
第05章Linux透明代理服务器
2.3项目原理
v 实验原理: v iptables默认具有5条规则链: v PREROUTING v POSTROUTING v FORWARD v INPUT v OUTPUT
第05章Linux透明代理服务器
1.Iptables和Squid简介
v Squid不仅支持HTTP协议,还支持FTP、 gopher、SSL和WAIS等协议
v Squid用一个单独的、非模块化的、I/O驱 动的进程来处理所有的客户端请求
v Squid由一个主要的服务程序Squid,一个
DNS查询程序dnsserver,几个重写请求
3.3Squid的设置
v 在squid.conf文件的http_access deny all 设置行之前添加如下设置:
v http_access allow clients v 添加提供透明代理的相关功能
第05章Linux透明代理服务器
3rew
演讲完毕,谢谢听讲!
再见,see you again
3.2Iptables的设置
v 保存iptables的配置
v 使用iptable-save命令将设置内容保存到一 个指定的文件中
v 当重新启动系统之后,需要使用 iptablesrestore命令将保存的文件重新恢复到 /etc/sysconfig/iptables中
第05章Linux透明代理服务器
一次更改包的目的之前mangle包
第05章Linux透明代理服务器
2.3项目原理
v filter表是专门过滤包的,内建三个链 v FORWARD 链过滤所有不是本地产生的并
且目的地不是本地(所谓本地就是防火墙 了)的包 v INPUT针对那些目的地是本地的包 v OUTPUT 是用来过滤所有本地生成的包的
v 格式:iptables –A FORWARD –p tcp –d 内网web服务器的IP地址 --dport 80 –j ACCEPT
第05章Linux透明代理服务器
3.2Iptablesห้องสมุดไป่ตู้设置
v 将内网web服务器的IP地址映射到防火墙连 接内网接口的IP地址上
v 内网用户就可以通过访问防火墙内网接口 的IP地址来访问内部web服务器。这样做可 以增加内网Web服务器的安全性
第05章Linux透明代理服务器
2.3项目原理
第05章Linux透明代理服务器
3.1项目总体设计
v 实验思想: v 先将进出防火墙的策略设置到最严格,然
后一步步添加需要放行的策略
第05章Linux透明代理服务器
3.2Iptables的设置
v Linux下iptables的具体设置: v 清空filter表和nat表中的配置策略
v 设置默认策略规则: iptables -P -t (nat、 filter、mangle) (INPUT OUTPUT FORWARD) <DROP、ACCEPT>
第05章Linux透明代理服务器
3.2Iptables的设置
v 将内网web服务器的IP地址映射到防火墙连 接外网接口的IP地址上
前改变其源地址
第05章Linux透明代理服务器
2.3项目原理
v mangle表主要用来mangle数据包 v 我们可以改变不同的包及包头的内容,比
如 TTL,TOS或MARK v MARK并没有真正地改动数据包,它只是
在内核空间为包设了一个标记 v 防火墙内的其他的规则或程序(如tc)可以
使用这种标记对包进行过滤或高级路由
第05章Linux透明代理服 务器
2020/11/24
第05章Linux透明代理服务器
1.Iptables和Squid简介
v Iptables
v Squid是一种在Linux系统下使用的优秀的 代理服务器软件
v Squid是一个高性能的代理缓存服务器,可 以加快内部网浏览Internet的速度,提高客 户机的访问命中率
和执行认证的程序,以及几个管理工具组
成
第05章Linux透明代理服务器
1.Iptables和Squid简介
v Squid启动以后,它可以派生出指定数目的 dnsserver进程,而每一个dnsserver进程 都可以执行单独的DNS查询,这样一来就 大大减少了服务器等待DNS查询的时间
第05章Linux透明代理服务器
v 公司内部的员工必须通过防火墙才能访问 内部的web服务器,不允许直接访问
第05章Linux透明代理服务器
2.1项目背景
v FTP服务器只对公司内部用户起作用,且只 允许内部用户访问FTP服务器的21和20端 口,不允许外部网络用户访问
v 公司内部的员工要求通过透明代理上网 (不需要在客户机浏览器上做任何设置, 就可以上网)
v iptables -F (INPUT OUTPUT FORWARD),不 加参数,表示全部清除
v iptables -F (PREROUTING、POSTROUING、 OUTPUT) –t nat ,不跟参数,表示全部清除
v 删除表中的自定义规则链:iptables -X <自定义 规则链名1、链名2....>
第05章Linux透明代理服务器
2.3项目原理
v PREROUTING在包进入防火墙之后、路由 判断之前改变包
v POSTROUTING是在所有路由判断之后 v OUTPUT在确定包的目的之前更改数据包 v INPUT在包被路由到本地之后,但在用户
空间的程序看到它之前改变包 v FORWARD在最初的路由判断之后、最后
1.Iptables和Squid简介
v Squid使用访问控制清单(ACL)和访问权 限清单(ARL)
v 访问控制清单和访问权限清单通过阻止特 定的网络连接来减少潜在的Internet非法连 接,可以使用这些清单来确保内部网的主 机无法访问有威胁的或不适宜的站点
第05章Linux透明代理服务器
2.1项目背景
v 指定链的所有计数器归零:iptables -Z (INPUT OUTPUT FORWARD)
第05章Linux透明代理服务器
3.2Iptables的设置
v 放行filter表的默认OUTPUT链,阻止 FORWARD链和INPUT链
v 全部放行nat表中的PREROUTING链、 POSTROUTING链以及OUTPUT链
2020/11/24
第05章Linux透明代理服务器
v 格式:iptables -t nat -A PREROUTING -p tcp -d 防火墙对应外网的IP --dport 80 -j DNAT --to-destination web服务器的 IP地址
第05章Linux透明代理服务器
3.2Iptables的设置
v 放行转发访问内网web服务器的数据包
v 格式:iptables -t nat -A POSTROUTING -p tcp -d http服务器的 IP地址 --dport 80 -j SNAT --to-source 防火墙对应内网的IP地址
第05章Linux透明代理服务器
3.2Iptables的设置
v 在防火墙中添加透明代理设置的规则
3.2Iptables的设置
v 设置Linux作为网关服务器
v 内网所有IP地址如果访问外网都映射为防 火墙外网接口的IP地址
v 格式:iptables –t nat –A POSTROUTING –s 子网地址/子网掩码 -o 外部接口 -j MASQUERADE
第05章Linux透明代理服务器
量是100MB,目录中的一级子目录的数量 为16个,二级子目录为256个
第05章Linux透明代理服务器
3.3Squid的设置
v squid.conf配置文件中默认只允许本机使 用squid服务器
v 要局域网所有用户能够通过squid的代理服 务访问外部网页,需要设置访问控制列表
第05章Linux透明代理服务器
v 实验背景 v XX公司内部搭建了web服务器和FTP服务
器,为了满足公司需求,要求使用Linux构 建安全、可靠的防火墙。具体要求如下:
v 防火墙自身要求安全、可靠,不允许网络 中任何人访问;防火墙出问题,只允许在 防火墙主机上进行操作
第05章Linux透明代理服务器
2.1项目背景
v 公司内部的web服务器要求通过地址映射发 布出去,且只允许外部网络用户访问web服 务器的80端口,而且通过有效的DNS注册
v 编辑squid服务器的配置文件
v 修改服务端口,squid服务器的服务端口使 用http_port配置项设置,其默认值是 3128,为了用户使用方便,可以添加服务 端口8080或其它端口
第05章Linux透明代理服务器
3.3Squid的设置
v 修改缓冲内存数量 v 一般设置cache_mem的值设置为服务器物
第05章Linux透明代理服务器
2.3项目原理
v iptables默认的规则表以及对应的规则链: v filter:INPUT、FORWARD和OUTPUT
v nat:PREROUTING、POSTROUTING 和OUTPUT
v mangle:PREROUTING、 POSTROUTING、INPUT、OUTPUT和 FORWARD
理内存的三分之一到四分之一比较合适 v cache_mem默认的设置只有8MB
第05章Linux透明代理服务器
3.3Squid的设置
v 设置squid的工作目录 v 在squid.conf配置文件中使用cache_dir设
置squid服务器的工作目录路径和属性 v “100 16 256”分别表示目录中最大的容
v 格式:iptables –t nat –A PREROUTING –s 子网地址/子网掩码 p tcp --dport 80 -j REDIRECT – –toposts 3128
第05章Linux透明代理服务器
3.3Squid的设置
v Linux下squid的具体设置: v squid服务器的初始化
v 使用squid –z命令对squid服务器进行初始化 v 主要作用是在squid服务器的工作目录
“/var/spool/squid/”中建立需要的子目录
第05章Linux透明代理服务器
3.3Squid的设置
第05章Linux透明代理服务器
2.3项目原理
v nat表的主要用处是网络地址转换,即 Network Address Translation
v 属于一个流的包只会经过这个表一次 v PREROUTING 链的作用是在包刚刚到达
防火墙时改变它的目的地址 v OUTPUT链改变本地产生的包的目的地址 v POSTROUTING链在包就要离开防火墙之
v 内部用户所有的IP地址必须通过NAT转换 之后才能够访问外网
第05章Linux透明代理服务器
2.2项目拓扑
v 实验拓扑
第05章Linux透明代理服务器
2.3项目原理
v 实验原理: v iptables默认具有5条规则链: v PREROUTING v POSTROUTING v FORWARD v INPUT v OUTPUT
第05章Linux透明代理服务器
1.Iptables和Squid简介
v Squid不仅支持HTTP协议,还支持FTP、 gopher、SSL和WAIS等协议
v Squid用一个单独的、非模块化的、I/O驱 动的进程来处理所有的客户端请求
v Squid由一个主要的服务程序Squid,一个
DNS查询程序dnsserver,几个重写请求
3.3Squid的设置
v 在squid.conf文件的http_access deny all 设置行之前添加如下设置:
v http_access allow clients v 添加提供透明代理的相关功能
第05章Linux透明代理服务器
3rew
演讲完毕,谢谢听讲!
再见,see you again
3.2Iptables的设置
v 保存iptables的配置
v 使用iptable-save命令将设置内容保存到一 个指定的文件中
v 当重新启动系统之后,需要使用 iptablesrestore命令将保存的文件重新恢复到 /etc/sysconfig/iptables中
第05章Linux透明代理服务器
一次更改包的目的之前mangle包
第05章Linux透明代理服务器
2.3项目原理
v filter表是专门过滤包的,内建三个链 v FORWARD 链过滤所有不是本地产生的并
且目的地不是本地(所谓本地就是防火墙 了)的包 v INPUT针对那些目的地是本地的包 v OUTPUT 是用来过滤所有本地生成的包的
v 格式:iptables –A FORWARD –p tcp –d 内网web服务器的IP地址 --dport 80 –j ACCEPT
第05章Linux透明代理服务器
3.2Iptablesห้องสมุดไป่ตู้设置
v 将内网web服务器的IP地址映射到防火墙连 接内网接口的IP地址上
v 内网用户就可以通过访问防火墙内网接口 的IP地址来访问内部web服务器。这样做可 以增加内网Web服务器的安全性
第05章Linux透明代理服务器
2.3项目原理
第05章Linux透明代理服务器
3.1项目总体设计
v 实验思想: v 先将进出防火墙的策略设置到最严格,然
后一步步添加需要放行的策略
第05章Linux透明代理服务器
3.2Iptables的设置
v Linux下iptables的具体设置: v 清空filter表和nat表中的配置策略
v 设置默认策略规则: iptables -P -t (nat、 filter、mangle) (INPUT OUTPUT FORWARD) <DROP、ACCEPT>
第05章Linux透明代理服务器
3.2Iptables的设置
v 将内网web服务器的IP地址映射到防火墙连 接外网接口的IP地址上
前改变其源地址
第05章Linux透明代理服务器
2.3项目原理
v mangle表主要用来mangle数据包 v 我们可以改变不同的包及包头的内容,比
如 TTL,TOS或MARK v MARK并没有真正地改动数据包,它只是
在内核空间为包设了一个标记 v 防火墙内的其他的规则或程序(如tc)可以
使用这种标记对包进行过滤或高级路由
第05章Linux透明代理服 务器
2020/11/24
第05章Linux透明代理服务器
1.Iptables和Squid简介
v Iptables
v Squid是一种在Linux系统下使用的优秀的 代理服务器软件
v Squid是一个高性能的代理缓存服务器,可 以加快内部网浏览Internet的速度,提高客 户机的访问命中率
和执行认证的程序,以及几个管理工具组
成
第05章Linux透明代理服务器
1.Iptables和Squid简介
v Squid启动以后,它可以派生出指定数目的 dnsserver进程,而每一个dnsserver进程 都可以执行单独的DNS查询,这样一来就 大大减少了服务器等待DNS查询的时间
第05章Linux透明代理服务器
v 公司内部的员工必须通过防火墙才能访问 内部的web服务器,不允许直接访问
第05章Linux透明代理服务器
2.1项目背景
v FTP服务器只对公司内部用户起作用,且只 允许内部用户访问FTP服务器的21和20端 口,不允许外部网络用户访问
v 公司内部的员工要求通过透明代理上网 (不需要在客户机浏览器上做任何设置, 就可以上网)
v iptables -F (INPUT OUTPUT FORWARD),不 加参数,表示全部清除
v iptables -F (PREROUTING、POSTROUING、 OUTPUT) –t nat ,不跟参数,表示全部清除
v 删除表中的自定义规则链:iptables -X <自定义 规则链名1、链名2....>
第05章Linux透明代理服务器
2.3项目原理
v PREROUTING在包进入防火墙之后、路由 判断之前改变包
v POSTROUTING是在所有路由判断之后 v OUTPUT在确定包的目的之前更改数据包 v INPUT在包被路由到本地之后,但在用户
空间的程序看到它之前改变包 v FORWARD在最初的路由判断之后、最后
1.Iptables和Squid简介
v Squid使用访问控制清单(ACL)和访问权 限清单(ARL)
v 访问控制清单和访问权限清单通过阻止特 定的网络连接来减少潜在的Internet非法连 接,可以使用这些清单来确保内部网的主 机无法访问有威胁的或不适宜的站点
第05章Linux透明代理服务器
2.1项目背景
v 指定链的所有计数器归零:iptables -Z (INPUT OUTPUT FORWARD)
第05章Linux透明代理服务器
3.2Iptables的设置
v 放行filter表的默认OUTPUT链,阻止 FORWARD链和INPUT链
v 全部放行nat表中的PREROUTING链、 POSTROUTING链以及OUTPUT链
2020/11/24
第05章Linux透明代理服务器
v 格式:iptables -t nat -A PREROUTING -p tcp -d 防火墙对应外网的IP --dport 80 -j DNAT --to-destination web服务器的 IP地址
第05章Linux透明代理服务器
3.2Iptables的设置
v 放行转发访问内网web服务器的数据包
v 格式:iptables -t nat -A POSTROUTING -p tcp -d http服务器的 IP地址 --dport 80 -j SNAT --to-source 防火墙对应内网的IP地址
第05章Linux透明代理服务器
3.2Iptables的设置
v 在防火墙中添加透明代理设置的规则
3.2Iptables的设置
v 设置Linux作为网关服务器
v 内网所有IP地址如果访问外网都映射为防 火墙外网接口的IP地址
v 格式:iptables –t nat –A POSTROUTING –s 子网地址/子网掩码 -o 外部接口 -j MASQUERADE
第05章Linux透明代理服务器
量是100MB,目录中的一级子目录的数量 为16个,二级子目录为256个
第05章Linux透明代理服务器
3.3Squid的设置
v squid.conf配置文件中默认只允许本机使 用squid服务器
v 要局域网所有用户能够通过squid的代理服 务访问外部网页,需要设置访问控制列表
第05章Linux透明代理服务器
v 实验背景 v XX公司内部搭建了web服务器和FTP服务
器,为了满足公司需求,要求使用Linux构 建安全、可靠的防火墙。具体要求如下:
v 防火墙自身要求安全、可靠,不允许网络 中任何人访问;防火墙出问题,只允许在 防火墙主机上进行操作
第05章Linux透明代理服务器
2.1项目背景
v 公司内部的web服务器要求通过地址映射发 布出去,且只允许外部网络用户访问web服 务器的80端口,而且通过有效的DNS注册
v 编辑squid服务器的配置文件
v 修改服务端口,squid服务器的服务端口使 用http_port配置项设置,其默认值是 3128,为了用户使用方便,可以添加服务 端口8080或其它端口
第05章Linux透明代理服务器
3.3Squid的设置
v 修改缓冲内存数量 v 一般设置cache_mem的值设置为服务器物
第05章Linux透明代理服务器
2.3项目原理
v iptables默认的规则表以及对应的规则链: v filter:INPUT、FORWARD和OUTPUT
v nat:PREROUTING、POSTROUTING 和OUTPUT
v mangle:PREROUTING、 POSTROUTING、INPUT、OUTPUT和 FORWARD
理内存的三分之一到四分之一比较合适 v cache_mem默认的设置只有8MB
第05章Linux透明代理服务器
3.3Squid的设置
v 设置squid的工作目录 v 在squid.conf配置文件中使用cache_dir设
置squid服务器的工作目录路径和属性 v “100 16 256”分别表示目录中最大的容