0.50a | Community: 0.70b
 Deutsch English Français Hebrew Chinese Traditional Spanish Italian Polish Lithuanian Estonian Danish Swedish Dutch (Netherlands) Portuguese (Brazil) Czech Portuguese - Portuga Russian Catalan Turkish Finnish Romanian Greek Serbian Chinese Simplified 



Get eMule at SourceForge.net. Fast, secure and Free Open Source software downloads


ÈÃKad״̬²»ÔÙÊÇ¡°Í¨¹ý·À»ðǽ¡±£¡ HelpNAV

此目录下的文档都是用户自己编写的指南,并未经过eMule(电骡)开发人员的验证。不过对于大多数用户而言,这些文章仍然颇有裨益。你可以在论坛的此专用主题贴找到相关的提问与评论


Hi,大家好

我与Kad的“通过防火墙”状态进行了不懈的斗争并最终胜利,现在就来分享一下我的心得。跟大多数伙计们碰到此问题的网络环境一样,我也是在一台位于NAT之后的Windows主机上运行eMule,平时分到私网IP。

感谢神圣的骡子,我是自己网站的管理员,因此有这个机会详细分析这个问题。故事的开始一如平常:我已经在WinXP中打开了eMule所需的端口,并且在路由器中已经设置了TCP和UDP端口的转发规则,但是Kad状态仍然是“通过防火墙”。更加搞笑的是,Kad状态曾经有一回蹦到了“打开”状态,之后又莫名其妙地变回“通过防火墙”,而我根本没碰任何设置。smile.gif不过我在Ed2k网络中总是能获得HighID。

后来我发现:除了设置端口转发规则之外,只要将私网IP映射到某个专用的公网IP上,Kad状态就会立即显示为“打开”。于是我恢复到只配置了端口转发规则的状态,然后同时tcpdump内部接口和外部接口的数据包。结果我发现,通过NAT向外发送的UDP数据包,仍然使用eMule赋给的初始端口,也就是说所发送的报文无法响应远端节点的UDP请求。想象一下这时我有多惊讶吧。

从上面的情况来看,端口转发设置有时对相反方向无效,至少对于某些路由器来说是如此。因此可能需要对NAT进行额外配置,这样在eMule试图连接外部节点时能够保持UDP初始端口。对于Kad网络来说保持UDP端口不变非常关键,因为你的IP以及端口等信息会被其它节点传播到整个网络。

举例说明:

假定你的eMule主机在局域网内的地址是10.1.1.10,通过NAT映射到互联网的2.2.2.2地址。eMule使用的UDP端口初始设置为4672。

当eMule试图连接IP地址为3.3.3.3的Kad节点时,NAT将内网IP 10.1.1.10转译为2.2.2.2,将内网端口4672转译为外网端口(例如65000之类)。只要NAT还记录着这条转译规则,那么3.3.3.3这个节点就能够通过65000端口反向联系到你。但是,其它Kad节点有可能通过3.3.3.3获得你的信息,此时这些节点会认为你的UDP端口是65000,而不是4672。毫无疑问,这些节点都无法通过Kad连接到你的骡子,因为转译规则仅对3.3.3.3这个IP有效。

解决办法是让NAT在向外的Kad“会话”时保持初始端口不变(通常是4672),也就是针对向外的UDP报文创建NAT规则条目。

我在*BSD中用PF实现此要求。配置语句如下所示:

nat on $extif proto udp from 10.1.1.10 port 4672 -> $realip port 4672
nat on $extif from 10.1.1.0/24 to any -> $realip
rdr pass on $extif proto tcp from any to $realip port 4662 -> 10.1.1.10 port 4662
rdr pass on $extif proto udp from any to $realip port 4672 -> 10.1.1.10 port 4672

第1行确保eMule的Kad端口在外网仍然是4672,第2行进行普通的NAT转发,第3行和第4行分别设置向内的Ed2k连接数据包以及Kad数据包的端口转发规则。

当然,你需要根据实际使用的路由器/NAT设备查阅相关手册,按照手册进行适当的配置。

希望这篇文章能帮上忙。


Last Update: 10.03.2011 13:48
¶Ë¿Ú£¬·À»ðǽºÍ·ÓÉÆ÷
ͼÐÎÓû§½çÃæ
ÌØÉ«¹¦ÄÜ
³£¹æÐÅÏ¢
·þÎñÆ÷
Ñ¡ÏîÉèÖÃ
³£¼ûÎÊÌâ
ÒÉÄÑÅŽâ
Ö¸ÄÏÓëÎÊ´ð
 
  ÏÂÔز¢Î¬»¤¿ÉÐŵķþÎñÆ÷ÁбíÒÔ¼°IPfilter
ÈçºÎ»Ö¸´Ë𻵵ÄÏÂÔØÎļþ
ÈçºÎ»ñÈ¡¿ÉÐŵķþÎñÆ÷ÁбíÒÔ¼°ºÃÓõÄIPFilter
¶Ô֪ͨÓʼþ½øÐмÓÃÜ
ÉèÖÃNorton AntiVirus 2005
¶¨Ê±¿ª/¹ØeMule
ÄãÏëÕûÀí·þÎñÆ÷ÁбíÂð£¿
ÈÃKad״̬²»ÔÙÊÇ¡°Í¨¹ý·À»ðǽ¡±£¡
ÈçºÎ·À·¶Ðé¼ÙÎļþ
eMuleºÍInternetÁ¬½Ó¹²Ïí
ʹÓÃWeb·þÎñºÍÎļþÔ¤ÀÀ¹¦Äܼø±ðÐé¼ÙÎļþ
Ipfilter.datºÍGuarding.p2p
ÈçºÎ±£´æ¡°Ë𻵵ġ±ÏÂÔØÎļþ£¡
eMule֪ͨÎÒÊÇLow-id£¡
һЩºÍeMuleÓйصÄÖØÒªÍøÕ¾Á´½Ó£¡
A4afÊÇʲôÒâ˼£¿
Ed2kÁ´½ÓÎÞ·¨Ìí¼Óµ½Emule¸ÃÔõô°ì£¡
ÈçºÎ¸üÐÂserver.metÎļþ
eMuleΪʲô»á·¢Ë͵ç×ÓÓʼþ£¿
ÈçºÎÇå³ýeMuleµÄËÑË÷ÀúÊ·£¡
ÈçºÎ°²×°»òÉý¼¶eMule£¡
ÔÚLinuxÉÏÓÃWineÔËÐÐeMule
ΪºÎÏÂÔØËÙ¶ÈÕâôÂý
½µµÍCPU/ϵͳ×ÊÔ´Õ¼ÓõÄeMuleÑ¡Ïî
ÈçºÎÔÚeMuleÖйýÂËIP
ÓëeMule´æÔÚ³åÍ»µÄÈí¼þÁбí
  ³õѧÕßÖ¸ÄÏ
³£Óù¤¾ß
ÍøÂçÖ¸ÄÏ


Privacy Policy