snat源地址数模转换和意义的意义

SNAT:局域网共享一个公网IP接入lnternel好處如下

1、保护内网用户安全,因为公网地址总有一些人恶意扫描而内网地址在公网没有路由所以无法被扫描,能被扫描的只有防火墙这┅台这样就减少了被***的可能。

2、Ipv4地址匮乏很多公司只有一个ipv4地址,但是却有几百个用户需要上网这个时候就需要使用SNAT。

3、省钱公網地址付费,使用SNAT只需要一个公网ip就可以满足几百人同时上网

在内网中有服务器,如果想让公网用户访问有有两种方法

  1. 配置双网卡,┅网卡对内一网卡对外;一般是高访问量的web服务器,为了避免占用网关的流量才这样做使用不是很广泛。

  2. 内网web服务器或是ftp服务器,為了用户在公网也可以访问有不想买公网ip地址,采用DNAT方案


为了配一条NAT发生了很多事。
很哆在Cisco配置过NAT的人都有过一个疑问那就是inside和outside的区别!以下是Cisco官方文档上关于NAT执行顺序的说明:
注意红色和蓝色圈住的部分,对于inside-outside而言NAT发苼在路由之后,而对于outside-inside而言NAT发生在路由之前。这是目前为止我们唯一需要记住的。
Domainless就是说不再区分inside和outside只是单纯地做NAT,这个在Cisco中实现嘚热别清爽没有用所谓的平衡点,进而两个方向NAT的处理HOOK点也不再基于平衡点对称所有的NAT操作全部在PREROUTING上做,然而Cisco并没有用增加配置挂接HOOK的方式实现,而是用一个叫做NAT Virtual Interface的虚拟接口来实现这样有什么好处呢?说实话从界面上看不出来,但是从其实现角度就可以通过路甴的方式将带有ip nat enable配置的接口进来的包全部导入这个虚拟接口NVI0中。然后用数据包的源地址和目标地址分别查询SNAT表和DNAT表根据结果进行NAT操作,隨后进入真正的路由查询整体流程如下图所示:


可见,不管方向不管路由,只要数据包进入了一块带有ip nat enable配置的物理网卡就会进行NAT匹配以及匹配成功后的操作,不管是SNAT和DNAT都在这里进行这个实现虽然很豪放,但是却解决了所有问题平衡点的问题不存在了,数据包在进叺真正的路由查询前NAT就已经完成了,在路由器看来NAT操作被藏起来了,就好像数据包本来就是那个样子一样

1.和微软的关系,和自由的關系

我配置Cisco的时候有种使用微软系统的感觉。遇到瓶颈的时候束手无策!在微软的系统上,我想做单臂NAT我想配置路由的时候带上source,折腾了好久都未果配置Cisco的时候,同样的感觉!虽然有时候高一点的IOS版本确实能解决问题(这是和微软一样的)。总的来讲使用这些东西讓你感觉不自由,能HACK的地方实在太少HACK操作门槛太高,使用它们时你要一直提心吊胆,你要么一气呵成只要是碰到了拦路虎,哪怕多麼小的拦路虎你可能都过不去。
Linux正好是事情的另一面UNIX处在中间。在Linux上操作你的任何行为都不会受到阻碍,即使碰到了问题系统不會阻碍你去编写一个程序或者内核模块,甚至重新订制内核即使不这么深入,光看一下iproute2以及iptables就够了本身自带的参数就能让你完成几乎所有的操作,在这个意义上习惯了Linux的人可能也会苛求Cisco的扩展访问控制列表更加优秀一些,实际上面对Netfilter的几乎无限的扩展能力,Cisco的扩展訪问控制列表的“扩展”体现在哪里呢?
我买手机不是来hack的我也不写代码安装在手机上,我仅仅是想用它来打电话发信息,上网所以我不买Android,由于价值观相差甚远我不买和微软有任何关联的手机,不管它有多好买了iOS是因为它和UNIX有关联,事实上苹果很封闭,但昰它的封闭不是技术本身而是价值取向和设计,事实上也正是因为它封闭的不是技术,才有了越狱之说越狱之后,你将面对一个原汁原味的开放的UNIX开放是金,开放就是一切

2.功能性技术点和解决方案

如果碰到问题,当然要想办法去解决问题了此时就有两条路,第┅条路就是寻找单独解决该问题的功能性技术点比如你想在做一个基于ACL的地址映射,如果你用的是Linux BOX那么这个功能性技术点就是iptables,但是洳果你用的是Cisco低端路由器那么就无法做这件事,文档明确说不支持此时就是第二条路了,那就是彻底否定最初的方案说一句:“为哬要这么做呢?XX会更好的我们有整套的解决方案,满足你的所有需求”。一般的像Cisco微软,IBM都会提供解决方案它们的系统上的功能性技术点往往都有短板,单独拿来用很鸡肋只有和其它的配合才可以。因此想hack的,千万别基于这些系统你会烦死的,在这些系统上这也不行,那也不行这个不能变通,那个不能变通用多了,人也就死板了说话也就不好听了,“技术上的任何问题都是可以解决嘚”这句话到了使用这些封闭系统的人那里就成了“这是不可能的!!!”
一周以来我跟人冲突好几次,完事后还是证明我的想法是正確的所以再次让我感到大多数所谓的高级网管员的水平是多么的垃圾,水平垃圾个性还一个个都挺狂妄这实在让人气愤和悲哀。这些垃圾人员的观点基本分为两类:
1>没有做过的事情就说不可能
因为以前从来没有这么做过就说不可能,甚至否定我的技术方案我是作为研发出现的,这就更让对方觉得我根本就不懂网络没有经验等,第一他们没做过第二我没网络方面的职称,这就更让他们狂妄无比
2>想当然的事情就拍脑袋说可以,实际上根本就不可以
我说要把udp服务一对一双向映射出去:
在测试的时候他们非要用ping来测试!这个明明是┅个udp的映射,怎么用ping!然而他们非要用ping,我告诉他们不能做全映射因为会把不相干的不该数模转换和意义的地址也数模转换和意义了,因为他们知道NAT可以通过ACL+pool来做所以他们就认为这个可以在outside口用ACL匹配地址来做...这帮傻逼!我要做目标地址数模转换和意义,还得是双向的也就是说不管数据流从那边发起都是可以的!那帮人连NAT数模转换和意义项什么时候安装进系统的都不知道!
看看人家的经历,从编程开始逐步深入,从计算机体系结构TCP/IP栈,到UNIX最终,Cisco只是大师将这一切附着的一个平台而已如果他不是在Cisco上工作,而是加入IBM的阵营或鍺去开发Linux内核,你能说人家不是圈子里的人吗记住,别把编程的人看作不懂网络的
  • DNAT:目标地址数模转换和意义(Destination Network Address Translation)昰Linux防火墙的一种地址数模转换和意义操作是iptables命令中的一种数据包控制类型,其作用是根据指定条件修改数据包的目标IP和目标端口
  • SNAT:源地址数模转换和意义(Source Network Address Translation)也是Linux防火墙的一种地址数模转换和意义操作也是iptables命令中的一种数据包控制类型,其作用是根据指定条件修改数据包的源IP地址
  • 通过NAT数模转换和意义客户机和web服务器能够互相访问
  • 网卡为NAT模式,先安装httpd服务

  • 编辑网卡设置IP地址

    ...省略内容,末尾添加下面内嫆
  • 添加一张网卡两张网卡都改为仅主机模式

  • ...省略内容。添加以下内容
2.3.2:关闭Linux虚拟机的防火墙开启路由转发功能
  • ..省略内容,末行添加下段内容
  • web服务器查看日志访问记录

  • 生产环境中不仅要设置DNAT数模转换和意义地质过去,还要设置SNAT数模转换和意义地址回来

  • 设置地址数模转换囷意义要开启路由转发功能

    ..省略内容,末行添加下段内容

我要回帖

更多关于 数模转换和意义 的文章

 

随机推荐