All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - sorry)
@ 2003-03-20 12:09 Gordan Bobic
  2003-03-20 12:59 ` [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - Julian Anastasov
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Gordan Bobic @ 2003-03-20 12:09 UTC (permalink / raw)
  To: lartc

Greetings from a newbie!
(Well, to this list anyway)

I'm having a problem and I hope someone here might be able to help...

I am strongly expecting an answer along the lines of "upgrade to v2.4.x", but 
I would REALLY preffer to avoid that for now...

The setup:

"Home brewed" v2.2.24 (will patch to v2.2.25 later today) with the DS8 patch 
applied. Currently downloading the DS9/rbtree/htb3 patches to be applied 
later (obviously, unpatching the old DS8 first), and see if at least some of 
my problems go away.

Multiple cable/DSL lines with multiple default routes and equal cost 
multipath.

The problems:

1) Ingress shaping/policing doesn't seem to work at all.

I haven't tried outgoing shaping/policing, but prioritizing traffic definitely 
works, and since activating it, my bandwidth usage has quite obviously jumped 
to closer to my available limits (from the bandwidth usage graphs) on 
cable/DSL connections. ssh and ping latency has also gone through the floor 
after increasing the priority for those protocols (using a variant of the 
wonderhaper). So that clearly seems to work.

When applying ingres shaping (policing filter) all executes fine without 
reporting any errors, but

tc -s -d qdisc show dev eth1
and
tc -s -d filter show dev eth1

both say that no traffic has been caught by the rules (which just cannot be 
right because I am using a u32 filter with src 0.0.0.0/0, and the same filter 
works for outgoing traffic with dst 0.0.0.0/0.

Here is a script snippet:

tc qdisc add    dev $DEV ingress        \
                handle ffff:

tc filter add   dev $DEV                        \
                parent ffff:                    \
                protocol ip                     \
                prio 50                         \
                u32 match ip                    \
                src 0.0.0.0/0                   \
                police rate ${DOWNLINK}Kbit     \
                burst $[8*DOWNLINK]Kbit         \
                drop flowid :1


Can anyone hazard a guess as to why this is not doing what it should be? Is 
this a know bug in DS8 and DS9 will fix it? I will try it anyway, just to 
make sure, but some encouraging news would be nice. :-)

1.2) If the ingress traffic shaping is unfixable in v2.2.x, would it be 
possible to instead set up a dummy network device, and set up an egress 
shaper on the physical interface, and forward everything to the dummy 
intgerface, and then use the dummy interface as the default gateway? 
Effectively this would do the same thing as setting up two routers 
bacl-to-back, and using only egress shaping on both routers to achieve 
ingress shaping? Kind of like having a logical, rather than a physical 
router?

2) ipmasqadm portfw unstable/unreliable

I have tried to use this approach to forward ports from the firewall to an 
internal server. It works OK initially, but within minutes, things start 
going wrong. Some connections get through on one interface but not the other. 
Later, connections from the same host will work on a different interface, but 
not the one it worked on initially.

This can be temporarily made to go away by doing
# ip route flush cache
a few times, but the problem will always return. After about a month of 
uptime, this will get to the point where most connections fail on most 
interfaces, and the only cure I have found is a reboot.

Connections that are actually physically proxied by using NetCat (where the 
source address doesn't need to be preserved) or redir (with --transproxy 
where the source address does need to be preserved) work fine, and don't 
experience the same problem at all.

Obviouly, I would prefer to use the "ipmasqadm portfw" solution because it is 
massively more memory/CPU efficient than a generic user-space tcp proxy 
deamon running from inetd.

3) teql vs. multiple default routes
Not really a problem, more of a matter of exploring options, and I haven't 
found any particularly detailed information on the subject.

Can a virtual load ballancing device be used to aggregate multiple ethernet 
interfaces? Presumably load balancing of incoming things is still done in the 
traditional way (DNS+stuff), and a teql interface would only be used to load 
balance connections initiated from the network itself?

Presumably, the advantage of using a teql interface over multiple default 
routes is that load ballancing would be done per session, rather than per 
route? Are there any routing issues from the external point of view with 
using teql, or is it completely transparent to the outside world? What 
concerns me is that the source IP address might be a private IP address of 
the teql interface. Are there any potential issues with this, or can standard 
ipchains/masquerading rules be used to overcome any potential problems?

TIA.

Gordan
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long -
  2003-03-20 12:09 [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - sorry) Gordan Bobic
@ 2003-03-20 12:59 ` Julian Anastasov
  2003-03-20 13:38 ` [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - sorry) Gordan Bobic
  2003-03-20 23:25 ` [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - Julian Anastasov
  2 siblings, 0 replies; 4+ messages in thread
From: Julian Anastasov @ 2003-03-20 12:59 UTC (permalink / raw)
  To: lartc


	Hello,

On Thu, 20 Mar 2003, Gordan Bobic wrote:

> The setup:
>
> "Home brewed" v2.2.24 (will patch to v2.2.25 later today) with the DS8 patch
> applied. Currently downloading the DS9/rbtree/htb3 patches to be applied
> later (obviously, unpatching the old DS8 first), and see if at least some of
> my problems go away.

	Yes, DS-8 has many problems including security ones.
The only problem is that I still didn't upgraded the patches to
2.2.25, may be in the next days I'll find time to do so.

> Multiple cable/DSL lines with multiple default routes and equal cost
> multipath.

	I strongly recommend the route patches in such case:

http://www.ssi.bg/~ja/#routes-2.2
http://www.ssi.bg/~ja/routes-2.2.20-7.diff

> When applying ingres shaping (policing filter) all executes fine without
> reporting any errors, but
>
> tc -s -d qdisc show dev eth1
> and
> tc -s -d filter show dev eth1

	DS9 has fixes for the ingress stats

> Can anyone hazard a guess as to why this is not doing what it should be? Is
> this a know bug in DS8 and DS9 will fix it? I will try it anyway, just to
> make sure, but some encouraging news would be nice. :-)

	Yes, yes, I'll add it to the changelog

> 2) ipmasqadm portfw unstable/unreliable
>
> I have tried to use this approach to forward ports from the firewall to an
> internal server. It works OK initially, but within minutes, things start
> going wrong. Some connections get through on one interface but not the other.
> Later, connections from the same host will work on a different interface, but
> not the one it worked on initially.

	Such problems should be solved from the "routes" patches,
they will keep each traffic through its ISP.

	Read nano.txt from http://www.ssi.bg/~ja/#routes
It is for 2.4 but the concept and the routing rules are same.

> TIA.
>
> Gordan

Regards

--
Julian Anastasov <ja@ssi.bg>

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - sorry)
  2003-03-20 12:09 [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - sorry) Gordan Bobic
  2003-03-20 12:59 ` [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - Julian Anastasov
@ 2003-03-20 13:38 ` Gordan Bobic
  2003-03-20 23:25 ` [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - Julian Anastasov
  2 siblings, 0 replies; 4+ messages in thread
From: Gordan Bobic @ 2003-03-20 13:38 UTC (permalink / raw)
  To: lartc

On Thursday 20 Mar 2003 12:59, Julian Anastasov wrote:
> Hello,
>
> On Thu, 20 Mar 2003, Gordan Bobic wrote:
> > The setup:
> >
> > "Home brewed" v2.2.24 (will patch to v2.2.25 later today) with the DS8
> > patch applied. Currently downloading the DS9/rbtree/htb3 patches to be
> > applied later (obviously, unpatching the old DS8 first), and see if at
> > least some of my problems go away.
>
> 	Yes, DS-8 has many problems including security ones.
> The only problem is that I still didn't upgraded the patches to
> 2.2.25, may be in the next days I'll find time to do so.

It all patched cleanly anyway, don't worry about it. I patched 2.2.24 and then 
patched that to 2.2.25. I haven't compiled it yet because I am not in front 
of the machine right now (not doing remote kernel upgrades - bad things 
happen). :-)

> > Multiple cable/DSL lines with multiple default routes and equal cost
> > multipath.
>
> 	I strongly recommend the route patches in such case:
>
> http://www.ssi.bg/~ja/#routes-2.2
> http://www.ssi.bg/~ja/routes-2.2.20-7.diff

Aha! Thanks. I wonder if whis will cure my problems. BTW, that applies cleanly 
to my already heavily patched 2.2.25 tree.

> > When applying ingres shaping (policing filter) all executes fine without
> > reporting any errors, but
> >
> > tc -s -d qdisc show dev eth1
> > and
> > tc -s -d filter show dev eth1
>
> 	DS9 has fixes for the ingress stats

Marvellous. :-)

> > Can anyone hazard a guess as to why this is not doing what it should be?
> > Is this a know bug in DS8 and DS9 will fix it? I will try it anyway, just
> > to make sure, but some encouraging news would be nice. :-)
>
> 	Yes, yes, I'll add it to the changelog

:-)

> > 2) ipmasqadm portfw unstable/unreliable
> >
> > I have tried to use this approach to forward ports from the firewall to
> > an internal server. It works OK initially, but within minutes, things
> > start going wrong. Some connections get through on one interface but not
> > the other. Later, connections from the same host will work on a different
> > interface, but not the one it worked on initially.
>
> 	Such problems should be solved from the "routes" patches,
> they will keep each traffic through its ISP.

Excellent. Note that I also use policy routing so that the sessions started to 
ethX will always be reponded to on ethX. I think that is fairly standard 
(things break horribly otherwise). However, what happens when a host randomly 
alternates between IP addresses it is starting sessions to/from? This sort of 
worked before, but it quickly started to break. I take it that with the 
routes patch things will not fall apart like before?

> 	Read nano.txt from http://www.ssi.bg/~ja/#routes
> It is for 2.4 but the concept and the routing rules are same.

Thanks for that. I already have the setup working as far as multi-homedness 
(that cannot possibly be a word...) is concerned, though.

Thanks for the help.

Gordan
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long -
  2003-03-20 12:09 [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - sorry) Gordan Bobic
  2003-03-20 12:59 ` [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - Julian Anastasov
  2003-03-20 13:38 ` [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - sorry) Gordan Bobic
@ 2003-03-20 23:25 ` Julian Anastasov
  2 siblings, 0 replies; 4+ messages in thread
From: Julian Anastasov @ 2003-03-20 23:25 UTC (permalink / raw)
  To: lartc


	Hello,

On Thu, 20 Mar 2003, Gordan Bobic wrote:

> > The only problem is that I still didn't upgraded the patches to
> > 2.2.25, may be in the next days I'll find time to do so.
>
> It all patched cleanly anyway, don't worry about it. I patched 2.2.24 and then
> patched that to 2.2.25. I haven't compiled it yet because I am not in front

	OK, I see that skb_padto is used only from the net drivers,
so it is not fatal that skb_copy_grow will not copy skb->tc_index,
so I hope DS9 will work

> Excellent. Note that I also use policy routing so that the sessions started to
> ethX will always be reponded to on ethX. I think that is fairly standard
> (things break horribly otherwise). However, what happens when a host randomly
> alternates between IP addresses it is starting sessions to/from? This sort of
> worked before, but it quickly started to break. I take it that with the
> routes patch things will not fall apart like before?

	Yes, the patch keeps each NAT connection bound to the
masquerade address and correctly uses the routing, usually for
multipath routes. Of course, in 2.2 a route cache flush leads to
much more problems (CPU cycles for rerouting) compared to 2.4.

Regards

--
Julian Anastasov <ja@ssi.bg>

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-03-20 23:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-20 12:09 [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - sorry) Gordan Bobic
2003-03-20 12:59 ` [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - Julian Anastasov
2003-03-20 13:38 ` [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - sorry) Gordan Bobic
2003-03-20 23:25 ` [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - Julian Anastasov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.