aMule uses three ports to transfer data with other clients and servers
The ideal is that all three ports are accessible, however:
- For the ED2K network, you will still be able to connect even if none of this are accessible. But
- LowID: If the Standard client TCP port is not accessible, you will get a Low ID and suffer from severe transfer speeds decrease
- High ID: Only the Standard client TCP port is required to be accessible to get a High ID. With High ID you will get the highest transfer speeds the ED2K network can provide you
- For the Kademlia network, both the standard client TCP port and th Extende client TCP port must be accessible. If they aren't, you will not be able to connect to the Kademlia network
It is highly recommended to make the Extended server requests UDP port accessible too, since it will provide you with very useful statistics and information about files on the ed2k network.
Similarly, the Extended client UDP port on the ED2K netork, though not required, when accessible it will provide you with highly useful statistics and information about other clients and files, so it is also highly recommended
Determining which ports to forward
Start aMule and open the Preferences -> Connection window. See the Standard client TCP port box, the Extended client UDP port box and the number by the UDP port for extended server requests (TCP+3). Those three are the ports aMule uses.
As said before, it is recommended to make all three ports acessible (even if not all are required).
Makeing ports accessible
You can check if a port is "accessible" (also known as "open") by visiting aMule's Test Port page.
So what does "not accessible" mean? It mans that:
- You are behind a router which is blocking incoming connections to your port
- You are behind a firewall (actually, when routers block ports it is because they are acting as a firewall) which is blocking some of your oprts:
- The firewall can be on your computer, for example, the iptables daemon
- The firewall can be somewhere outside your computer, probably some gateway through which you connect to the internet
If you have a firewall, then you should ask your administrator to open the ports there (or read the manual if you can access the firewall's configuration). There are too many firewalls to describe, however, check the Firewall article.
If you are behind a router ask your Aministrator to forward the ports to your computer (see above to know which ports to forward). However, if you have access to your router's configuration, you can do that yourslef:
- Disable DHCP in your computer (not in router!) to get a static IP address in the LAN. This is doen through the /etc/interfaces configuration file (see man interfaces)
- In the router's configuration, forward the ports aMule should use toy your IP (you static IP in the LAN, as described above) and apply changes in the router (you might have to restart the router)
The router's configuration is usually available through http://192.168.1.1 from the webbrowser. The exact place where ports can be forwarded in your router's configuration system varies greatly from one router to another. And there are hundreds of different router models, so this can't be explained here. However, as a general rule, you should search for some section called "LAN configuration", "NAT configuration", "Firewall", "Ports" or "Security" (remember, this is just a general rule. Your router could be very different).