防火墙和网络地址转换

Created at 2018-04-03 Updated at 2018-06-04 Category Study Tag TCP/IP

写在开头:在我正在打这篇博客的时候,畅畅哥跟我讲了下前面写的博客有些需要懂的地方没有去弄懂。想想这几天看书,确实多了几分急躁,时间还久着,就像畅畅哥说的“我们高屋建瓴地来”。我得沉下心来,完整的弄懂这些个内容,后面才不会慌忙。

所以清明的时间,我应该先停下进度,回顾一个前面所学的内容,该懂的弄懂了,被忽视的重视了。在写博客的时候,应该给出自己的一些总结,那才是属于自己的真正的东西。

防火墙和网络地址转换

防火墙:一种能解决限制所发送的流量类型的路由器

NAT:网络地址转换


防火墙

最为常用的两种防火墙是代理防火墙和包过滤防火墙。

他们之间主要区别是所操作的协议栈的层次及由此决定的IP地址和端口号的使用。包过滤防火墙是一个互联网路由器,能够丢弃符合(或者不符合)特定条件的数据包。

包过滤防火墙

包过滤防火墙作为互联网路由器,能够过滤(丢弃)一些网络流量,他们一般都可以配置为丢弃或转发数据包头中符合(或者不符合)特定标准的数据包,这些标准称为过滤器。

一个典型的包过滤防火墙有三个网络接口的互联网路由器:一个“内”接口,一个“外”接口和第三个“非军事区”(DMZ)接口。通常情况下,过滤器会全力拦截来自外网的恶意。但是不会限制从内网到外网的流量。

代理防火墙

本质上是运行一个或多个应用层网关的主机,它拥有很多网络接口,能够在应用层中连接/关联之间的特定类型的流量。

如上图所示,内部网络外出连接在防火墙上终止,外部Internet进去连接只到运行的委托代理。而在中间这堵墙(代理防火墙)上运行的是每个受支持的服务的应用/服务代理。

这种防火墙的不便之处在于每次使用新服务,都必须安装一个相应的代理,由此来操作发起连接。

两大常见形式:

HTTP代理防火墙: 又称作Web代理。根据上面的理解,这种代理防火墙,在内网用户看来是Web服务器,在外部网站看来是Web客户端。同时,这种代理也提供Web缓存功能,顾名思义,就是缓存网页副本,已减少网页延迟,提高用户体验。

SOCKS防火墙:可用于Web之外的服务。例如:第四版为代理传输提供基本支持;第五版增加了强大的认证,UDP传输和IPV6寻址。使用时,应用程序必须先添加SOCKS代理支持功能,同时通过配置应用程序能够获得代理位置及其版本


网络地址转换

本质上是一种允许在互联网的不同地方重复使用相同的IP地址集的机制

运作原理:当内部系统所有进出的流量均通过一个单独的NAT设备的受,它就将内部的地址空间与全球互联网地址空间分开,这样内部系统就能够使用自己分配的IP地址访问互联网。

然而,我们知道互联网上的用户是没有办法直接访问具有私有地址的主机的。内部系统要正常的连接上网络就必须要让NAT重写通过路由器的每个数据报包的识别信息,这很复杂,NAT必须跟踪每个连接的状态,贯穿多个协议层,修改IP地址的同时也要修改传输层的校验码。

讲的具体点就是,它必须重写向某一方向传输的数据包的源IP地址,同样的也要重写向另一个方向传输的数据包的目的IP地址。这样外界看来,这个数据包是来自于具有全局路由IP的NAT路由器,而不是其内部的拥有私有地址的主机。如图所示


传统的NAT:基本NAT和NAPT

基本NAT只执行IP地址的重写,及改内部的私有地址为公共地址。但是它没有办法助于减少IP地址的数量(多少个内部主机希望访问互联网就必须分配多少个公共地址,如果每个主机都访问这样NAT就没有意义了)

NAPT的做法则不同,它使用传输层的标识符,来确定数据包和内部主机的关系。(可以利用相同的公共地址而不同的标识符来区分内部的主机)。内部标识符相同的时候,NAPT也能够重写标识符

注意这里面有一个问题:如果内部地址所用到的地址刚刚好是自己也想连接的公共地址,那就麻烦了。 所以我们保留了10.0.0.0/8,172.13.0.0/12,以及我们最常见的192.168.0.0/16作为私有地址范围来使用。


Yestreday you said tomorrow

愿你是你所期待的样子

愿你还是你所期待的样子

Hide