DD-WRT PortForwarding配置及其作用
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如何设置静态端口映射?
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
如果端口映射成功:(前提是该端口在你的PC上已经被打开,并且没有被防火墙阻隔)
暂时写到这里,如有纰漏,欢迎大家指出。



2 条留言
我要留言QQ头像图片 | 2010/02/07 17:06 下午
学习一下`
[Reply]
Trackbacks