If you're going to use it, pick Port Forwarding (first choice) or Virtual Server, not both
I hope you did not misread my post. I'm not trying to use the same port in both "Virtual Servers" and "Port Forwarding". eMule uses two different ports, one for TCP (4562 in my case) and one for UDP (4572 in my case).
You write, pick Port Forwarding (first choice)
, but that's exactly what I'm trying to point out in this thread. This should work, but it doesn't. The TCP port works fine using "Port Forwarding", but the UDP port refuses to work even though the eMule website port test shows it's forwarded correctly. Whenever I try to use "Port Forwarding" for the UDP port, the Kademlia (kad) network will not work!
However, when I use "Virtual Servers" for the UDP port, it works fine!
The TCP port works fine at both "Virtual Servers" and "Port Forwarding" (obviously not both set at the same time). It's just the UDP port that behaves in a very weird way.
That's why I started this thread in the first place. I can get it to work with "Virtual Servers", but I'd like to know why it doesn't with "Port Forwarding" while all logic says it should. So I'm not seeking help to get something working because it already does. I'm just trying to find an answer to the question why the eMule UDP port does work when using "Virtual Servers" but not with "Port Forwarding"...
So once again, could this be a bug in the router's firmware?
eMule is UPnP compatible in v0.49b. Enable this feature in the DIR-855 and in eMule. Remove the Port Forwarding rules on the 855 and let UPnP do everything for you. (Make sure your firewall permits UPnP traffic)
I prefer not to use UPnP, but I was intriged to find out whether UPnP would configure eMule using "Virtual Servers" or using "Port Forwarding".
I enabled UPnP in both eMule and the router. eMule connected with the ed2k and kad network from the first time. So whatever the D-Link DIR-855 used, it did work...
Each time I started eMule I saw following lines appear in the log:
UPnP added entry 255.255.255.255 <-> 18.104.22.168:4572 <-> 192.168.1.8:4572 UDP timeout:-1 'eMule_UDP'
UPnP added entry 255.255.255.255 <-> 22.214.171.124:4562 <-> 192.168.1.8:4562 TCP timeout:-1 'eMule_TCP'
I wasn't sure what was meant by this, "Virtual Servers" or using "Port Forwarding". So I did some further testing. I manually added 4 new rules: 2 "Virtual Servers" on the eMule TCP and UDP ports and 2 "Port Forwarding" on the very same eMule TCP and UDP ports. Before you ask how this is possible, all 4 rules were not enabled! I was just hoping these disabled rules would cause a conflict or at least interaction with UPnP trying to configure eMule.
And it did... Once I started eMule I got following entries in the log:
UPnP changed VIRTUAL SERVER entry 255.255.255.255 <-> 126.96.36.199:4572 <-> 192.168.1.8:4572 UDP to enabled
UPnP changed VIRTUAL SERVER entry 255.255.255.255 <-> 188.8.131.52:4562 <-> 192.168.1.8:4562 TCP to enabled
UPnP simply took over the existing disabled rules and enabled those. So now I'm certain, UPnP and the DIR-855 configured eMule using "Virtual Servers" and not "Port Forwarding". That probably explains why it works.
But all this UPnP stuff is rather a side quest. I doesn't answer my main question: Why does "Port Forwarding" not work for the eMule UDP port?