From: Gordan Bobic <lartc@bobich.net>
To: lartc@vger.kernel.org
Subject: [LARTC] Routing/forwarding/shaping problems in v2.2.x (Long - sorry)
Date: Thu, 20 Mar 2003 12:09:55 +0000 [thread overview]
Message-ID: <marc-lartc-104816249501359@msgid-missing> (raw)
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/
next reply other threads:[~2003-03-20 12:09 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-20 12:09 Gordan Bobic [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-lartc-104816249501359@msgid-missing \
--to=lartc@bobich.net \
--cc=lartc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.