iptables之五iptables之nat (2)

    但是要考虑这一点,如果它的源地址是私网地址,当目标地址是公网地址,另外我们在互联网上路由时,是根据你所请求的目标地址进行报文转发的,所以说这个时候我们请求的报文就会送到公网路由器上,最终经过层层转发有可能送达到服务器了。那服务器收到以后,那就要响应了,一响应,他发现这个一个私网地址,私网地址的路由不会被公网路由器识别,那这时候怎么办呢?因此它很有可能发现自己本地也有私网,因此把这个响应吧报文通过本地的内网中的路由器设备送给内网中的真正刚好对应的一台主机,但这时候这个主机是不会接收的因为没有请求哪来的响应呢?甚至有可能没有进程发出请求也没有任何一个请求监听在这个端口上,所以大体上可能是这么一种情况。

    所以我们说这就是我们互联网所面临的一个通信现状,那为什么会有私网地址呢?如果我们不期望在互联网上通信,只是在公司内部也期望能够基于TCP/IP协议规范完成本地通信的话,那就需要用到同样一个IP地址我们无需向IANA去购买地址或地址块,所以不需要付费,这就使得任何一家组织都可以使用这样的地址仍然能够构建其基于TCP/IP网络通信的网络。所以私网地址的存在是非常有用的,但是万一这些私网地址都需要访问互联网怎么办?如果现在局域网内的一台服务器它拥有公网地址然后它是可以访问互联网的,但是内网中的这些客户端主机没有公网地址,它们没法访问互联网,现在我们期望或需要这些内网中的主机都能访问互联网该如何操作?

    那就要两种方式,访问互联网看我们的实际需要,可以在哪一层需要跟互联网中的主机在哪一层在哪个协议段或者在哪个层次完成通信,于是让内网中的主机访问互联网其实我们就有了两种方式保证内网主机在必要时去访问互联网的机制):

  nat

  proxy

  NAT

nat:Network Address Translatin,网络地址转换

  nat是在网络层以及传输层实现的;更多的它操纵的是网络层的内容。

    虽然说nat也可以实现所谓让那些私网地址的客户端经过地址转换以后访问互联网上的主机,不过,nat早期所实现的主要目的不是为了让你访问互联网,而是为了隐藏本地网络中的主机的。所以nat最初出现的目的是为了安全性的

 

proxy:代理

    代理通常是在应用层实现的;通常它代理对于某一特定应用的请求。

 

nat的工作模型:

    既然叫网络地址转换,其实它就是实现地址重写的,说白了就是将地址改为非原来的、非原有的地址,而nat技术(不需描述其细节,了解即可)目前常见的来讲,有两种类型:

SNAT只修改请求报文的源地址(只是相对于请求报文一方来说的,如果我们要考虑到响应的话,其实SNAT必然对应着DNAT,DNAT必然对应着SNAT);

DNAT只修改请求报文的目标地址;

  还有一种叫PAT(Port Address Transaction),事实上,SNAT或DNAT是可以与此同时,同时实现PAT即该端口功能的。

 

SNAT

iptables之五iptables之nat

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

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