从定义来讲它们一个是源地址转换,一个是目标地址转换。都是地址转换的功能,将私有地址转换为公网地址。
要区分这两个功能可以简单的由连接发起者是谁来区分:
SNAT:内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。
DNAT:当内部需要提供对外服务时(如对外发布web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布。
在配置防火墙或者路由acl策略时要注意这两个NAT一定不能混淆。
什么时候做SNAT,什么时候做DNAT
谁进行了转换,就是什么转换
谁发起请求的谁是源,谁接收请求的谁是目的
当源地址需要进行转换才能访问时,进行的是源转换
当目的地址需要进行转换才能访问时,进行的是目的转换
eg:内网访问外网,内网知道外网目的地址,但是内网地址必须转换成外网地址才能进行访问外网,是源进行了转换,所以时SNAT
外网访问内网,外网不知道内网具体地址,外网访问的地址时网关地址,需要在网关上进行地址转换,将目的地址转换成内网地址才能访问,是目的地址从网关转换成了实际要访问的内部地址,所以是DNAT