From: "Jan Gerritsen" <artur@gmx.net>
To: lartc@vger.kernel.org
Subject: [LARTC] How to route and queue, based on iptables marked packets, at the same time?
Date: Thu, 04 Dec 2003 12:01:51 +0000 [thread overview]
Message-ID: <marc-lartc-107053976022316@msgid-missing> (raw)
Hi
I want to do some routing an queuing stuff, but I am not sure if this
will work.
I have 3 connections on my router:
- eth0 which points to my LAN
- eth1 which point to the Internet over a 2Mbit connection
- eth2/ppp0 which is a DSL connection and points to the Internet, too.
The reason for the two Internet connections is that the 2Mbit connection
is fast but expensive, I have to pay the traffic. The DSL connection is
flat fee but slow, 384 k/bit up and 64 k/bit downstream.
Both connections do masquerading with their public IPs.
What I want to do is to route some services over the DSL connection, like
e-mail traffic. The default route should be the 2Mbit connection.
AFAIK I can't use ip rules to set up routing policies based on the TCP-port,
so I want to mark the traffic with iptables, to set the routs.
My problem is, that I currently use this to prioritise my traffic and to
order them into different HTB and SFQ queues.
I found this graphic in the LARTC HOWTO:
+------------+ +---------+ +-------------+
Packet -| PREROUTING |- routing--| FORWARD |----+-| POSTROUTING |- Packets
input +------------+ decision +---------+ | +-------------+ out
| |
+-------+ +--------+
| INPUT |-Local process -| OUTPUT |
+-------+ +--------+
My question is can I mark the packets once in the FORWARD and OUTPUT chain
to influence the routing decision, and mark them again in the PORSTROUTING
chain to influence the queuing? Where is the decision how to route?
My routing configuration:
# Routing table for the 2MBit interface
$IP route add "$EXT_2M_NET" dev "$EXT_2M_IF" src "$EXT_2M_IP" table "$EXT_2M_RT"
$IP route add default via "$EXT_2M_ROUTER" table "$EXT_2M_RT"
$IP route add "$EXT_2M_NET" dev "$EXT_2M_IF" src "$EXT_2M_IP"
# Routing table for the DSL interface
$IP route add "$EXT_DSL_NET" dev "$EXT_DSL_IF" src "$EXT_DSL_IP" table "$EXT_DSL_RT"
$IP route add default via "$EXT_DSL_ROUTE"R table "$EXT_DSL_RT"
$IP route add "$EXT_DSL_NET" dev "$EXT_DSL_IF" src "$EXT_DSL_IP"
# Routing rules
$IP rule add from "$EXT_2M_IP" table "$EXT_2M_RT"
$IP rule add from "$EXT_DSL_IP" table "$EXT_DSL_RT"
$IP rule add fwmark 10 table "$EXT_2M_RT"
$IP rule add fwmark 20 table "$EXT_DSL_RT"
$IP route add "$INT_NET" dev "$INT_IF" table "$EXT_2M_RT"
$IP route add "$EXT_DSL_NET" dev "$EXT_DSL_IF" table "$EXT_2M_RT"
$IP route add 127.0.0.0/8 dev lo table "$EXT_2M_RT"
$IP route add "$INT_NET" dev "$INT_IF" table "$EXT_DSL_RT"
$IP route add "$EXT_2M_NET" dev "$EXT_2M_IF" table "$EXT_DSL_RT"
$IP route add 127.0.0.0/8 dev lo table "$EXT_DSL_RT"
$IP route add default via "$EXT_2M_IP"
thx,
Jan GerritsenÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿË\x01\x14™¨¥Šx%ŠË\x7f,\x04S\vùšŠYšŸ÷lõ¯ç–^[m§ÿÿ™¨¥™©ÿvÏZþy\x7f™¨¥™©ÿ–+-ŠwèþV«µÁÎY3ÿ†Ûiÿÿåj»\þŠà
next reply other threads:[~2003-12-04 12:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-04 12:01 Jan Gerritsen [this message]
2003-12-04 13:33 ` [LARTC] How to route and queue, based on iptables marked packets, at the same time? Robert Kurjata
2003-12-05 10:23 ` AW: " Jan Gerritsen
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-107053976022316@msgid-missing \
--to=artur@gmx.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.