国内路由器上的 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)
数据包到达路由器,端口21283
的www.google.com
。路由器应该怎么处理?
在这种情况下,路由器会保存您的记录,以及它代表您www.google.com:80
从端口发送到的流量21283
。因此路由器会将数据包中继到您的计算机:
Your computer Router
+------------+ +-----------+
| | | |
| port 31746 o<====o |
| | | |
+------------+ +-----------+
Run Code Online (Sandbox Code Playgroud)
在开放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)
Closed nat 限制性更强。除非它来自您想要与之交谈的原始地址和端口,即www.google
port ,否则它不会允许任何内容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 是一种混合,您的路由器将接受来自任何端口的任何流量,但只能接受来自同一主机的流量:
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)
这是一组定义。另一个是:
但是这个术语真的很模糊。