什么是严格、适度和开放的 NAT?

Met*_*ark 15 router nat open

国内路由器上的 NAT 选项通常配置为严格。这是什么意思?怎么办中等开放办?端口转发/DMZ 访问在严格的情况下正常工作,那么为什么要打扰其他两个呢?

查看路由器表明这会影响防火墙。当花费大量时间使用 Cisco/iptables 来保护网络时,这样一个简单的非描述性答案只会令人恼火,并且没有任何线索说明这对防火墙有什么影响。

请有人能解释一下。

Ian*_*oyd 35

首先了解网络地址转换 (NAT) 的工作原理很重要。您建立与 Internet 上服务器的连接。实际上,您将数据包发送到您的路由器,从您的计算机上的某个随机选择的端口发出:

Your computer        Router
+------------+     +-----------+
|            |     |           |
| port 31746 o====>o           |
|            |     |           |
+------------+     +-----------+
Run Code Online (Sandbox Code Playgroud)

反过来,您的路由器会与您要与之通信的服务器建立连接。它说出它自己随机选择的端口:

                     Router            www.google.com
                   +-----------+     +----------------+
                   |           |     |                |
                   | port 21283o====>o port 80        |
                   |           |     |                |
                   +-----------+     +----------------+
Run Code Online (Sandbox Code Playgroud)

当 google 的网络服务器向您发送回信息时,它实际上是将其发送回您的路由器(因为您的路由器实际上是互联网上的那个人):

                     Router            www.google.com
                   +-----------+     +----------------+
                   |           |     |                |
                   | port 21283o<====o port 80        |
                   |           |     |                |
                   +-----------+     +----------------+
Run Code Online (Sandbox Code Playgroud)

数据包到达路由器,端口21283www.google.com。路由器应该怎么处理?

在这种情况下,路由器会保存您的记录,以及它代表您www.google.com:80从端口发送到的流量21283。因此路由器会将数据包中继到您的计算机:

Your computer        Router
+------------+     +-----------+
|            |     |           |
| port 31746 o<====o           |
|            |     |           |
+------------+     +-----------+
Run Code Online (Sandbox Code Playgroud)

开放 NAT

开放NAT 中,互联网上的任何机器都可以将流量发送到您路由器的端口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
Run Code Online (Sandbox Code Playgroud)

封闭式NAT

Closed nat 限制性更强。除非它来自您想要与之交谈的原始地址端口,即www.googleport ,否则它不会允许任何内容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
Run Code Online (Sandbox Code Playgroud)

中等NAT

中等 NAT 是一种混合,您的路由器将接受来自任何端口的任何流量,但只能接受来自同一主机的流量:

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
Run Code Online (Sandbox Code Playgroud)

这是一组定义。另一个是:

  • Open:允许局域网内的计算机使用UPNP打开端口
  • 中等:一些端口转发已经创建并且正在工作
  • 关闭:不存在静态端口转发

但是这个术语真的很模糊。

也可以看看