国内路由器的NAT选项通常configuration为严格 。 这是什么意思? 什么适度或开放做? 端口转发/ DMZ访问在严格的情况下正常工作,所以为什么要打扰另外两个呢?
通过路由器看看这会影响防火墙 。 当花费大量的时间使用Cisco / iptables来保护networking时,这样一个蹩脚的非描述性答案只不过是令人愤慨的,并没有留下任何线索,这对防火墙有什么影响。
请能有人点亮一下。
首先要了解networking地址转换(NAT)的工作原理。 您build立到互联网上的服务器的连接。 实际上,你发送数据包到你的路由器,从你的计算机上随机select一个端口:
Your computer Router +------------+ +-----------+ | | | | | port 31746 o====>o | | | | | +------------+ +-----------+
您的路由器反过来build立到您要与之通话的服务器的连接。 它说出了它自己的随机select的端口:
Router www.google.com +-----------+ +----------------+ | | | | | port 21283o====>o port 80 | | | | | +-----------+ +----------------+
当谷歌的networking服务器发回你的信息时,它实际上是把它发送回你的路由器(因为你的路由器实际上是在互联网上):
Router www.google.com +-----------+ +----------------+ | | | | | port 21283o<====o port 80 | | | | | +-----------+ +----------------+
数据包从www.google.com端口21283到达您的路由器。 路由器应该怎么做?
在这种情况下,路由器保存了您的logging,并以您的名义从端口21283发送到www.google.com:80的stream量。 所以路由器会把数据包转发给你的计算机:
Your computer Router +------------+ +-----------+ | | | | | port 31746 o<====o | | | | | +------------+ +-----------+
在开放的 NAT中,互联网上的任何机器都可以将stream量发送到路由器的端口21283 ,并将数据包发回给您:
Your computer Router +------------+ +-----------+ {www.google.com:80 | | | | {www.google.com:443 | port 31746 o<====o port 21283o<===={serverfault.com:80 | | | | {fbi.gov:32188 +------------+ +-----------+ {botnet.cn:11288
closuresnat是更严格的。 除非它来自您想要与之通话的原始地址和端口,否则它将不允许任何内容,即www.google端口80 :
Your computer Router +------------+ +-----------+ {www.google.com:80 | | | | | (rejected) www.google.com:443 | port 31746 o<====o port 21283o<====+ (rejected) serverfault.com:80 | | | | (rejected) fbi.gov:32188 +------------+ +-----------+ (rejected) botnet.cn:11288
中等的NAT是一个混合,您的路由器将接受来自任何端口的任何stream量,但只能从相同的主机 :
Your computer Router +------------+ +-----------+ | | | | {www.google.com:80 | port 31746 o<====o port 21283o<===={www.google.com:443 | | | | (rejected) serverfault.com:80 +------------+ +-----------+ (rejected) fbi.gov:32188 (rejected) botnet.cn:11288
这是一套定义。 另一个是:
但是术语确实是模糊的。