透明代理让你轻松上网!反向代理让你安全无忧访问web服务!

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
云防火墙,500元 1000GB
简介:

  透明代理是NAT和代理的完美结合,之所以称为透明,是因为在这种工作方式下用户感觉不到代理服务器的存在,不需要在浏览器或其他客户端工具(如网络快车等)中作任何设置,客户机只需要将默认网关设置为Linux服务器的IP地址即可。当客户机访问Internet,请求数据包经过Linux服务器转发时,Linux服务器上的iptables将客户机的HTTP请求重定向到Squid代理服务器,由代理服务器代替客户机访问外部信息资源,再将获取的数据传回客户机。

拓扑图:(内网访问外网)

image

设备                      ip地址/子网掩码             网关                       DNS

pc :                    192.168.20.22/24       192.168.20.100       222.85.85.85

服务器:  eth1:  192.168.20.100/24   

                  eth0:  192.168.2.10/24              192.168.2.1

无线AP               192.168.2.1/24

一、准备工作:

1.配ip: setup

image image

网络服务重启并查看网关:

image

2.连接方式:

eth0  VMnet0  Bridged      //桥接到无线路由器直接上网!

eth1  VMnet1  Host-only

image

image

3.pc1(内网主机)作为测试: (windows xp)

image

二、具体配置:

1.开启数据包转发功能!

[root@gjp99 ~]# vim /etc/sysctl.conf

image

[root@gjp99 ~]# sysctl –p   //查看是否已修改成功 
net.ipv4.ip_forward = 1 
net.ipv4.conf.default.rp_filter = 1 
net.ipv4.conf.default.accept_source_route = 0 
kernel.sysrq = 0 
kernel.core_uses_pid = 1 
net.ipv4.tcp_syncookies = 1 
kernel.msgmnb = 65536 
kernel.msgmax = 65536 
kernel.shmmax = 4294967295 
kernel.shmall = 268435456

2.NAT 代替代理实现其功能!

[root@gjp99 ~]# iptables -t nat -L 
Chain PREROUTING (policy ACCEPT) 
target     prot opt source               destination        

Chain POSTROUTING (policy ACCEPT) 
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT) 
target     prot opt source               destination

[root@gjp99 ~]# iptables -t filter -L 
Chain INPUT (policy ACCEPT) 
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT) 
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT) 
target     prot opt source               destination

在squid机器上设置关于dns的nat转换

[root@gjp99 ~]# iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -p udp --dport 53 -o eth0 -j MASQUERADE

image 

imageimage

[root@gjp99 ~]# iptables -t nat -L -v –n        //查看nat的详细信息! 
Chain PREROUTING (policy ACCEPT 165 packets, 22327 bytes) 
pkts bytes target     prot opt in     out     source               destination     

Chain POSTROUTING (policy ACCEPT 35 packets, 2134 bytes) 
pkts bytes target     prot opt in     out     source               destination         
      251 MASQUERADE  udp  --  *      eth0    192.168.20.0/24      0.0.0.0/0           udp dpt:53

设置端口重定向:

[root@gjp99 ~]# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -j REDIRECT --to-ports  3128

3.打开透明传输

[root@gjp99 ~]# vim /etc/squid/squid.confimage

4.客户端访问成功

image

注意:要经过代理服务器访问的主机,在DOS下不能使用ping  、tracert命令,但可以正常上网!

[root@gjp99 ~]# tail -f /var/log/squid/access.log

1346486724.345   1295 192.168.20.22 TCP_MISS/302 928 GET http://www.google.com/ - DIRECT/74.125.128.104 text/html

 反向代理:

简介:

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

什么是反向代理呢?

反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载。

Web服务器加速(反向代理)是针对Web服务器提供加速功能的。它作为代理Cache,但并不针对浏览器用户,而针对一台或多台特定Web服务器(这也是反向代理名称的由来)。实施反向代理,只要将Reverse Proxy Cache设备放置在一台或多台Web服务器前端即可。当互联网用户访问某个WEB服务器时,通过DNS服务器解析后的IP地址是Reverse Proxy Server的IP地址,而非原始Web服务器的IP地址,这时Reverse Proxy Server设备充当Web服务器浏览器可以与它连接,无需再直接与Web服务器相连。因此,大量Web服务工作量被卸载到反向代理服务上。不但能够防止外部网主机直接和web服务器直接通信带来的安全隐患,而且能够很大程度上减轻web服务器的负担,提高访问速度。

1 .反向代理 - 原理

反向代理服务器位于本地WEB服务器和Internet之间。当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如html网页和图片等),而一些CGI脚本程序或者ASP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。有四个最重要HTTP头标记: 
Last-Modified: 告诉反向代理页面什么时间被修改 
Expires: 告诉反向代理页面什么时间应该从缓冲区中删除 
Cache-Control: 告诉反向代理页面是否应该被缓冲 
Pragma: 告诉反向代理页面是否应该被缓冲. 
例如:在默认情况下,ASP页面返回” Cache-control: private.” ,所以ASP页面时不会在反向代理服务器缓存的

2 .反向代理服务器与内容服务器

代理服务器充当服务器的替身,如果您的内容服务器具有必须保持安全的敏感信息,如信用卡号数据库,可在防火墙外部设置一个代理服务器作为内容服务器的替身。当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护。代理服务器位于防火墙外部,在客户机看来就像是内容服务器。

客户机向站点提出请求时,请求转到代理服务器。然后,代理服务器通过防火墙中的特定通路,将客户机的请求发送到内容服务器。内容服务器再通过该通道将结果回传给代理服务器。代理服务器将检索到的信息发送给客户机,好像代理服务器就是实际的内容服务器。如果内容服务器返回错误消息,代理服务器会先行截取该消息并更改标头中列出的任何  URL,然后再将消息发送给客户机。如此可防止外部客户机获取内部内容服务器的重定向  URL。

这样,代理服务器就在安全数据库和可能的恶意攻击之间提供了又一道屏障。与有权访问整个数据库的情况相对比,就算是侥幸攻击成功,作恶者充其量也仅限于访问单个事务中所涉及的信息。未经授权的用户无法访问到真正的内容服务器,因为防火墙通路只允许代理服务器有权进行访问。

3. 反向代理服务器的工作流程

1)用户通过域名发出访问 web 服务器的请求,该域名被 DNS 服务器解析为反向代理服务器的 IP地址;

2)反向代理服务器接受用户的请求

3)反向代理服务器在本地缓存中查找请求的内容找到后直接把内容发送给用户

4)如果本地缓存里没有用户所请求的信息内容反向代理服务器会代替用户向源服务器请求同样的信息内容,并把信息内容发给用户,如果信息内容是缓存的还会把它保存到缓存中。

4 .反向代理的好处

1) 解决了网站服务器对外可见的问题;

2) 节约了有限的 IP 地址资源,企业内所有的网站共享一个在 internet 中注册的 IP 地址,这些服务器分配私有地址,采用虚拟主机的方式对外提供服务;

3) 保护了真实的 web 服务器,web 服务器对外不可见,外网只能看到反向代理服务器,而反向代理服务器上并没有真实数据,因此,保证了 web 服务器的资源安全;

拓扑图:(外网访问内网)

image

配置:

代理服务器配置:

[root@gjp99 ~]# vim /etc/squid/squid.conf[root@gjp99 ~]# vim /etc/squid/squid.conf

1.添加访问 ip及端口:

image

2.添加内网服务器ip 及访问端口

image

 

3.默认拒绝所有,要打开允许!

image 

内网web服务器的配置:

    mount 
    mount /dev/cdrom /mnt/cdrom 
    cd /mnt/cdrom/Server 

[root@localhost Server]# ll http* 
-r--r--r-- 55 root root 1270589 2008-12-11 httpd-2.2.3-22.el5.i386.rpm 
-r--r--r-- 63 root root  151651 2008-12-11 httpd-devel-2.2.3-22.el5.i386.rpm

     rpm -ivh httpd-2.2.3-22.el5.i386.rpm

     yum   list  all  |grep http

     yum install httpd-devel-2.2.3-22.el5.i386.rpm

     vim /etc/yum.repos.d/rhel-debuginfo.repo 

[root@localhost Server]# cat /etc/yum.repos.d/rhel-debuginfo.repo 
[rhel-server] 
name=Red Hat Enterprise Server 
baseurl=file:///mnt/cdrom/Server 
enabled=1 
gpgcheck=1 
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release 
        cd /var/www/html 
        echo "gjp" >> index.html 
        firefox 
        ll lyn  x-2.8.5-28.1.el5_2.1.i386.rpm  
        rpm -ivh lynx-2.8.5-28.1.el5_2.1.i386.rpm  
        lynx http://127.0.0.1

        service  httpd start

外网,访问192.168.2.10 ,作为测试:

image



本文转自 gjp0731 51CTO博客,原文链接:http://blog.51cto.com/guojiping/980077


相关文章
|
6天前
|
安全 Linux API
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.4 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
43 6
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
|
2月前
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
108 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
2月前
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
152 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
3月前
|
Web App开发 编解码 vr&ar
使用Web浏览器访问UE应用的最佳实践
在3D/XR应用开发中,尤其是基于UE(虚幻引擎)开发的高精度场景,传统终端因硬件局限难以流畅运行高帧率、复杂效果的三维应用。实时云渲染技术,将渲染任务转移至云端服务器,降低终端硬件要求,确保用户获得流畅体验。具备弹性扩展、优化传输协议、跨平台支持和安全性等优势,适用于多种终端和场景,特别集成像素流送技术,帮助UE开发者实现低代码上云操作,简化部署流程,保留UE引擎的强大开发能力,确保画面精美且终端轻量化。
213 17
使用Web浏览器访问UE应用的最佳实践
|
2月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
121 7
|
1月前
|
安全 大数据 数据挖掘
课时9:阿里云Web应用防火墙:全面保障网站的安全与可用性
阿里云Web应用防火墙(WAF)基于阿里巴巴十年攻防经验,提供全面的网站安全防护。它通过Web应用防护、CC攻击防护和业务风控,有效应对各类网络威胁,确保网站的安全与可用性。智能双引擎技术降低误报率,实时数据分析和虚拟补丁更新保障系统安全。WAF已成功护航多个重大活动,为企业提供高效、简便的安全解决方案。
|
4月前
|
缓存 安全 搜索推荐
阿里云先知安全沙龙(北京站) ——浅谈Web快速打点
信息收集是网络安全中的重要环节,常用工具如Hunter、Fofa和扫描工具可帮助全面了解目标系统的网络结构与潜在漏洞。遇到默认Nginx或Tomcat 404页面时,可通过扫路径、域名模糊测试、搜索引擎缓存等手段获取更多信息。AllIN工具(GitHub: P1-Team/AllIN)能高效扫描网站路径,发现敏感信息。漏洞利用则需充分准备,以应对突发情况,确保快速拿下目标站点。 简介:信息收集与漏洞利用是网络安全的两大关键步骤。通过多种工具和技术手段,安全人员可以全面了解目标系统,发现潜在漏洞,并制定有效的防御和攻击策略。
|
4月前
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。
|
5月前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
110 3
|
5月前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
70 1

热门文章

最新文章

下一篇
oss创建bucket