aMule Forum
English => aMule Help => Topic started by: figu on January 04, 2005, 11:09:15 AM
-
how can I define what connection amule is useing for download and upload ?
I've got 3 ppp connections and I would like it to use something else that primary route.
?(
-
Yes, you can. But amule have nothing to do with that. You should configure proper routing path and/or link aggregation to use more that one internet connection no matter what program we're talking about.
This is complicated issue, so make sure you undestand what is "routing", "link aggregation", "how ip network work". No, this is not a joke.
You talking about "primary route". This generally mean, that there's some another route, now unused, that will come into service when "primary" fails. Large organizations using such setup for redundency/fault tolerance. Do you have 1 link for traffic and 2 links for redundancy ?!
-
ah.. well you didn't get it.. I want to define amule to use eth1 and everything else to use eth0.. and now that's not routing issue. In example I can define my ftp use eth1 instead of eth0.. and with traceroute I can use any route I want... like
traceroute -i and it works like a dream.. now I need some how to define amule to use eth1.. any ideas ?
-
and I've got 3 links.. one is for my www & routing and everything else the other two are for the operations wich take much bw like ftp and amule..
-
my routing table:
xxx.xx.xxx.xx dev ppp1 proto kernel scope link src xxx.xx.xxx.xx
xxx.xx.xxx.xx dev ppp2 proto kernel scope link src xxx.xx.xxx.xx
xxx.xx.xxx.xx dev ppp0 proto kernel scope link src xxx.xx.xxx.xx
default via xxx.xx.xxx.xx dev ppp0
-
I want to define amule to use eth1 and everything else to use eth0
Part1. aMule listen on all interfaces on your box. While it's true that we can change a code to add support for choosing interface, it's not really nessesary. Why ? First of all, it's quite OS depandant to determine all IP interfaces. There're many weird kind of setups and tunnels (PPPoE, PPTP, PPP, IPSec and so on). Second, same functionality can be achieved by filtering SYN packets by ipchain per interface.
Part 2. Explanation to "traceroute -i and it works". Traceroute is based on ICMP, and it's su root for this purpose. ICMP is stateless protocol, so you are free to send it from any interface in any time you want. Router will notice where did it comes from and return answer to same path.
Part 3. Making aMule to send via proper interface. This is entirely same as "Part 1". TCP will send thru the same link, where SYN packet came from. This is the way TCP works. So, all you have to do is fiter out (with reject message) SYN packets coming from say eth0 and eth2 to aMule port. As a result, aMule will accept connections from eth1 only, and will transmit data from same interface as well.
PS.
I'm writing it for a second time at least. How do I add it to wiki ?
-
lfroen,
Talk to deltaHF for him to add a pointer on the root wiki page. From then on, you can edit at will. That will be a quite nice addition to the wiki! :D
Cheers!
-
I would like to correct myself. "Part 3. Making aMule to send via proper interface" - this is default behavior, and may be changed. However, it all have nothing to do with amule in particular (except of port numbers of course).
You should take a look to http://lartc.org/lartc.html (http://lartc.org/lartc.html) for full explanation about how this all works.
-
so amule binds it self to all ip addresses available.. I was hoping to use those ports on every ip but in different use
-
ie. on ppp0 to eggdrop and on ppp1 to amule and ppp3 to something else..
-
aMule listen on 0.0.0.0. However, you can change the port from preferences. As I already explained, the way to discover all available IP's on host is very os dependent. Considering the fact, that some system have dynamic ip, binding to specific address looks very hard-to-achive.
BTW: if you run out of ports on you router - most probably you have configuration problem.