IP extended routing

Diese FAQ beschreibt, wie man Eintraege in der Ip Extended Route Table dazu benutzen kann, um bestimmte Daten (z.B. Mail, http,...) ueber unterschiedliche Provider (Interfaces) leiten kann.

 

Angenommen es gibt einen Provider ISP2, ueber welchen Web- http-Verkehr laufen soll und einen Provider ISP1, der fuer den restlichen Datenverkehr verantwortlich ist.

Dann muss dem 'normalen' Routing noch ein Eintrag in der IP Extended Route Table (IpExtRtTable) vorgeschaltet werden, da jede Routingentscheidung zuerst diese Tabelle durchlaeuft, bevor es die eigentlich Routing Tabelle (IpRouteTable) durchlaeuft.

Wenn Sie mit der Brick verbunden sind und die zwei Provider angelegt haben sollten Sie durch Eingabe des Befehls 'ifstat' die Interfacenummer (hier 10001 fuer ISP1 und 10002 fuer ISP2) herausfinden:

 

brick3:ipExtRtTable> ifstat
Index Descr Type Mtu Speed St Ipkts Ies Opkts Oes PhysAddress
00000 REFUSE othr 8192 0 up 0 0 0 0 point to point
00001 LOCAL othr 8192 0 up 0 0 0 0 point to point
00002 IGNORE othr 8192 0 up 0 0 0 0 point to point
01000 en1 eth 1500 10M up 221299 0 102985 32 00:a0:f9:00:02:1c
01001 en1-llc eth 1496 10M up 811 0 0 0 00:a0:f9:00:02:1c
01002 en1-snap eth 1492 10M up 1163 0 0 0 00:a0:f9:00:02:1c
01003 en1-nov802.3 eth 1500 10M dn 21169 0 0 0 00:a0:f9:00:02:1c
10001 ISP1 ppp 1500 64K do 181 0 181 0 point to point
10002 ISP2 ppp 1500 64K do 17 0 17 0 point to point
(...)

 

Wenn Sie sich im Setuptool unter dem Menuepunkt IP->Routing befinden, sollte die Standarddefaultroute auf den ISP1 zeigen:

BIANCA/BRICK-XL2 Setup Tool BinTec Communications GmbH
[IP][ROUTING]: IP Routing brick3
_______________________________________________________________________________


The flags are: U (Up), D (Dormant), B (Blocked),
G (Gateway Route), I (Interface Route),
S (Subnet Route), H (Host Route)

Destination Gateway Mask Flags Met. Interface Pro
(...)
default 0.0.0.0 DI 1 ISP1 loc <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

ADD DELETE EXIT


_______________________________________________________________________________
Press <Ctrl-n>, <Ctrl-p> to scroll, <Space> tag/untag DELETE, <Return> to edit

 

Um dem Brick mitzuteilen, dass er http nicht ueber die Defaultroute zu ISP1 routen soll, sondern ueber das Interface 10002 ISP2, muss lediglich ein Eintrag in der IpExtRtTable vorgenommen werden. Dazu muss lediglich ein Eintrag vorgenommen werden:

 

brick3:ipExtRtTable> Protocol?
ipExtRtProtocol: (readwrite) icmp (1), ggp (3), tcp (6), egp (8), pup (12), udp (17), hmp (20), xns_idp (22), rdp (27), rsvp (46), gre (47), esp (50), ah (51), igrp (88), ospf (89), l2tp (115), dont_verify (256),
brick3:ipExtRtTable> cls
<cls> is not command and not tablename
brick3:ipExtRtTable>
brick3:ipExtRtTable>
brick3:ipExtRtTable> ipextrttable

inx Protocol(*rw) SrcIfIndex(rw) SrcAddr(rw) SrcMask(rw)
SrcPort(rw) SrcPortRange(rw) DstAddr(rw) DstMask(rw)
DstPort(rw) DstPortRange(rw) Tos(rw) TosMask(rw)
DstIfMode(rw) DstIfIndex(rw) NextHop(rw) Type(-rw)
Metric1(rw) Metric2(rw) Metric3(rw) Metric4(rw)
Metric5(rw) Proto(rw) Age(rw)

brick3:ipExtRtTable> Protocol=256 DstPort=80 DstIfIndex=10001
00: ipExtRtProtocol.256.4( rw): dont_verify
00: ipExtRtDstPort.256.4( rw): 80
00: ipExtRtDstIfIndex.256.4( rw): 10001
brick3:ipExtRtTable> ipextrttable

inx Protocol(*rw) SrcIfIndex(rw) SrcAddr(rw) SrcMask(rw)
SrcPort(rw) SrcPortRange(rw) DstAddr(rw) DstMask(rw)
DstPort(rw) DstPortRange(rw) Tos(rw) TosMask(rw)
DstIfMode(rw) DstIfIndex(rw) NextHop(rw) Type(-rw)
Metric1(rw) Metric2(rw) Metric3(rw) Metric4(rw)
Metric5(rw) Proto(rw) Age(rw)

00 dont_verify 0 0.0.0.0 0.0.0.0
-1 -1 0.0.0.0 0.0.0.0
80 -1 0 0
dialup_wait 10001 0.0.0.0 indirect
0 0 0 0
0 netmgmt 7 03:04:07.00

 

2. Beispiel:

Alle Rechner aus dem am LAN angeschlossenen Subnetz 192.168.168.0 Netzmaske 255.255.255.128 sollen ueber Provider ISP1 bedient werden; die aus dem Subnetz 192.168.168.128 Netzmaske wie vor sollen ueber ISP2 zugreifen:

 

brick3:ipExtRtTable> Protocol=256 SrcAddr=192.168.168.0 SrcMask=255.255.255.128 DstIfIndex=10001
00: ipExtRtProtocol.256.5( rw): dont_verify
00: ipExtRtSrcAddr.256.5( rw): 192.168.168.0
00: ipExtRtSrcMask.256.5( rw): 255.255.255.128
00: ipExtRtDstIfIndex.256.5( rw): 10001

 

und

 

brick3:ipExtRtTable> Protocol=256 SrcAddr=192.168.168.128 SrcMask=255.255.255.128 DstIfIndex=10002
00: ipExtRtProtocol.256.5( rw): dont_verify
00: ipExtRtSrcAddr.256.5( rw): 192.168.168.0
00: ipExtRtSrcMask.256.5( rw): 255.255.255.128
00: ipExtRtDstIfIndex.256.5( rw): 10002

 

inx Protocol(*rw) SrcIfIndex(rw) SrcAddr(rw) SrcMask(rw)
SrcPort(rw) SrcPortRange(rw) DstAddr(rw) DstMask(rw)
DstPort(rw) DstPortRange(rw) Tos(rw) TosMask(rw)
DstIfMode(rw) DstIfIndex(rw) NextHop(rw) Type(-rw)
Metric1(rw) Metric2(rw) Metric3(rw) Metric4(rw)
Metric5(rw) Proto(rw) Age(rw)

00 dont_verify 0 192.168.168.0 255.255.255.128
-1 -1 0.0.0.0 0.0.0.0
-1 -1 0 0
dialup_wait 10001 0.0.0.0 indirect
0 0 0 0
0 netmgmt 7 03:10:21.00

01 dont_verify 0 192.168.168.128 255.255.255.128
-1 -1 0.0.0.0 0.0.0.0
-1 -1 0 0
dialup_wait 10002 0.0.0.0 indirect
0 0 0 0
0 netmgmt 7 03:10:21.00

 

Weitere Informationen dazu finden Sie auch im Extended Feature Reference Manual unter:

http://www.bintec.de/download/brick/doku/70025.pdf