DD-WRT PortForwarding配置及其作用

portforwarding4

PortForwarding字面上译作端口转发,更形象的翻译是端口映射。

顾名思义,端口映射就是在对两个端口进行关联使他们对应起来,而这里的两个端口分别是对应外网(WAN)的端口和对应内网(LAN)的端口。

为什么要端口映射?

大家知道内网共享上网都要用到NAT吧?要知道为什么要进行端口映射,还是有必要了解一下NAT的。通过NAT,内网多个私有地址可以共享一个公网地址与外网通信。最早的NAT并不关注Port(端口号),它最主要的任务是将两个地址进行转换。这也决定了在同一时间只能有一对地址(一个公网地址和一个内网地址)进行NAT,即使是动态NAT也是这样,如果有两个内网地址需要使用一个公网地址的话,就要分时进行。这种NAT并不能很好解决IPv4地址贫乏问题。后来PAT(NAT Overload,NAT重载)出现,它实现了多个内网地址同时通过一个公网地址对外进行通信!PAT的出现在一定程度上缓解了IPv4地址的贫乏问题。但在进行PAT的时候,为了区分内网的流量,路由器会随机为流量分配一个对外源端口(x)并记录这个端口与内网IP(C)、内网端口(Y)的关系,当路由器从外网上收到一个目的端口号为X的数据包时,就将该数据包的IP地址转换为C、端口转换为Y,这就是PAT的基本原理。这同时也带来了一个问题,对外的源端口是由路由器随机进行分配的,这就导致了源端口的不确定性了。如果内网有一台服务器对外提供一种服务,就需要一个固定的端口(z),好让外网可以通过这个端口来对服务器进行访问,但由于PAT,路由器从外网收到一个目的端口为(z)的数据包时,查找NAT表发现并没有端口Z的对应项,也就不会将该数据包正确转发至内网了。在外网看来可能就是这个端口响应超时或者没有开启!

显然,动态而随机的端口会令外网无法主动发起与内网的通信。要改善这一情况我们需要静态地对端口进行映射,这也是我们常说的PortForwarding(其实端口映射一直都在进行,我们只是认为地对端口进行静态的映射)。静态端口映射需要手动指定对外的端口号和内网某个地址的端口号,使他们唯一对应起来。静态端口映射会告诉路由器来自外网的目的端口为z的数据包需要确定地转换为内网的某个地址,目的端口号也将确定地转换至指定的目的端口。这样外网就可以主动对内网发起通信了,而不用等待内网主动发起通信并在路由器NAT表中创建表项才能根据表项与内网通信!

什么情况下需要端口映射?

就像我上面说的那样,静态的端口映射可以方便外网主动发起与内网通信,可能对与普通用户来说他们不需要也不希望外网主动对它发起通信,但总有一些应用时需要的,如你在内网开了一个服务器,又或者需要在外网远程连接内网的摄像头进行监控等工作,那么就可能需要对端口进行静态映射了。

而对于我,暂时只是为了PT……开启端口映射可以方便其他用户主动连接我,提高我的上传速度

用过uTorrent都知道,它会自动检测你所设定的端口工作是否正常(如果端口转发检测失败会有一个红色的感叹号,正常时是一个绿色的勾)。

DD-WRT如何设置静态端口映射?

portforwarding

1.用浏览器登入DD-WRT的管理页面;

2.确定你自己的PC使用的是静态的内网IP;

3.在管理页面找到“NAT/QOS”;

4.在该页下找到“PortForwarding”;

5. 如果你需要将内网地址192.168.1.2使用的端口8625与外网地址的8625对应起来,那么就像上面那样设置。其中PortFrom代表对外的端口号,IP address代表需要转换为的内网IP地址,Port代表装换后的内网端口号,protocol可以指定你需要对哪些协议进行静态映射。

6.勾选Enable,使该条目生效!

7.点击Apply setting和Save,设置完毕,最好重启一下路由器。

特别注意!:

  • 如果你需要对192.168.1.2内网地址进行映射的话,这个地址不能处于DMZ区域!否则可能会造成映射失败!我之前就是因为这样一直映射不成功。
  • 如果你开启了UPnP的话,可能会对覆盖静态端口映射,所以如果你配置的端口映射非常重要,请考虑关闭UPnP。
  • 检查SPI Firewall是否处于开启状态,关闭该功能可能会导致静态端口映射不生效,此外请确保其中的“Filter WAN NAT Redirection”项处于关闭

检查PortForwarding是否生效:

打开:http://www.whatsmyip.org/ports/

在Custom Port Test中填入你需要测试的端口,点旁边的CheckPort

portforwarding2

如果端口映射成功:(前提是该端口在你的PC上已经被打开,并且没有被防火墙阻隔)

portforwarding3

暂时写到这里,如有纰漏,欢迎大家指出。

分享家:Addthis中国

2 条留言

我要留言

Trackbacks

  1. Config Cisco IOS Port forwarding(静态端口映射) | AlvinJ.NET
(必填)
(必填,绝不公开)

:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: