I'm trying to load balance my wisp, sending all p2p traffic to a low bandwidth line and send all "interesting things" through a higher bandwidth one.
But I've found a big problem when doing some testing with emule as p2p client.
when emule is loaded, it stablish by default about 50 tcp connections and about 10 udp conn (in my settings), and about 5 minutes later, it has more than 100 tcp conn and 230 udp conns in conn track list.
Only 15 of the 300 connections are identified as P2P - edonkey.
Code: Select all
0 ;;; Mark P2P Conn
chain=prerouting action=mark-connection new-connection-mark=P2P passthrough=yes p2p=all-p2p
WHat I need to do is to identify ALL of p2p connections, not only 5% of them, to put them in a queue to have them a bit under control and sent through a lowQ line.
emule, and many other p2p progrmas stablish not only 1,2,..N connections that are clearly identified and so many hundreds of data connections (tcp or udp) not identified as belonging to the identified p2p app.
So, there's a big problem, 5% of connections go through a pcq queue that priorize and shape the data, but 95% of connections and data transfers is not being marked and priorized correctly.
These connections are easily identified by a human inspection, but fails in automatic inspection.
How can these not detected connections/packets be identifed/mangled? tcp/udp Port is not a solution, many p2p fresh installs select random ports on initial configuration.