iptables之五iptables之nat (8)

iptables之五iptables之nat

    

  而对于Proxy的工作模式,Proxy其实是代理某一种特定应用,比如只代理http协议,那看到http协议中请求的是什么,就需要将内容拆完,不然的话怎么能看到里边http首部呢?

  所以请求如:Client请求在本地生成,经过物理设备、物理连接送达给GatewayGateway为了理解到底请求的是哪一种协议,是否要让我们代理,那于是一直拆到应用层,看应用层请求的是什么,甚至于既然我们能够看到应用层请求是什么了,我们就知道访问的是不是一个非法网站的,那么就可以在此处做ACL,定义哪些网站不允许访问、几点几分不允许访问等一些高级的特性。如果允许访问了,那么就又重新封装一个请求送给Server端,所以说在这种情况下,Proxy工作在第七层即应用层。不过此时还需考虑一个更为复杂的情形,对于Server来说,请求者是Gateway还是Client呢?是Gateway,不然的话为什么叫代理呢?就像你打了一个官司一样,你不会出场而是律师代理出场的,是代办人帮你出场的,所以Server看来请求者是Gateway。所以Server响应给Gateway,但Gateway没有请求,所以此时Gateway的代理进程还需要重新封装成响应报文响应给Client。

  但Gateway到底请求了没有呢?刚刚说过,是Gateway自己去请求的,这不是NAT,这是代理,所以真正的请求发出者Gateway自己这里有一个服务进程,因为它到应用层了,应用层要在用户空间,我们说下四层要在内核,上三层在用户空间,这三层对于TCP/IP协议栈来讲其实就是一个应用层,是由应用程序来实现的,应用程序就是工作为一个进程。这个进程它有两个作用,第一,他作为一个服务器端,第二,它又是客户端,服务器端就是Client请求时,他作为服务器,只不过它不提供服务,它到外边将你所请求的内容请求过来并取回来再请求给你,它是这样一个过程,这叫做代理

iptables之五iptables之nat

    所以对于代理而言,它对整个过程的参与深度就要比NAT深入的多得多的多了。

nat实现方式演示

    与上次一样,启动三台主机,CentOS 7有两个接口,Remote Host为本地内网主机,LocalNet Host为外网中的主机:

    本地内网主机IP192.168.20.2Gateway的内网地址是192.168.20.1,Gateway的外网地址是192.168.241.6,LocalNet Host的IP为192.168.241.7。

配置网络环境:

  LocalNet Host

iptables之五iptables之nat

  CentOS 7:

iptables之五iptables之nat

iptables之五iptables之nat

  将LocalNet Host的主机网关指向192.168.20.1:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzfgsz.html