Managed proxy between private network

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi There,

I am new and have some questions:

We have a linux box (complete control) connected to multiple private
networks with possibly overlapping IP addressing. Its role is to
dynamically create and tear down individual port forwardings between
them.
Our basic idea was to create conntrack entries from the controlling application.
Having imagined conntrack to be like Cisco Express Forwarding, I was
supprised to find out the conntrack lists do not contain the incoming
and outgoing interfaces, only IP addresses which are then routed via
the normal path. Sadly, IP address based routing makes no sense
between the independent private networks which are reusing the same
IPaddresses.

We see two paths, both quite rickety:

-Modify the conntrack module to contain the incoming and outgoing interfaces.
(practically merging the route cache functionality into contrack, may
even have performance benefits)

-Use connmark to paint flows intended for each interface, act on it
with policy routing. Determining the incoming interface might be mad
unnecessary by assigning the incoming forwarded ports uniquely across
interfaces, but we would prefer to avoid this.

I promissed a question so here it is :-)
How would you guys do this?
Must be able to handle thousnads of flows busy with tiny packets
(upside: no fragmentation), so we have a supertitious affinity to
conntrack.
Any of the patches we should look at?

Sidenote:
We tried to make linux forward more packets by throwing more CPUs at
it, but have learned a huge conservative lock prevents paralellism in
network processing. Does anyone here know about any plans on improving
linux networking oerformance on SMP?


[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux