2. route auf nem Router mit source-based routing

Pierre Bernhardt pierre at starcumulus.owl.de
Sun May 9 14:44:49 CEST 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Moin,

ich habe immer wieder dass Problem, dass irgendwann mein Router
eine Route nicht mehr mag, also nicht mehr bedient.
Es geht dabei um ein Forwarding für einen speziellen Rechner
meines internen Netzwerkes, welcher nur über meine Standleitung
mit dem Internet kommunizieren soll.

Der Router selber hat dabei einen Anschluß an das Interne Netzwerk,
einen ppp-Anschluß an das Internet über dsl mittels Masquerading und
ein ppp Modem Standleitungsanschluß. Das interne Netzwerk ist
nicht wirklich intern, da es ein Teilnetz des Internets ist.
Daher Masquerade ich Daten über den DSL-Anschluß.

Nochmals kurz zusammengefaßt:

eth0:	Internes aber echtes Internet (IP's können vom Internet erreicht werden)
eth1:	Derzeit nicht in Gebrauch, also kein Kabel drin.
eth2:	Für DSL von T-Offline.

ppp0:	PPP via dsl über masq.
ppp1:	PPP via modem via forwarding.

Wenn ppp0 aufgebaut ist geht aller transfer darüber ausser aller
Transfer, welcher zum Server 80.66.17.194 gehört.

Das x.x.x.194-Routing stelle ich folgendermaßen ein:

no42:~ # cat space-routing
if fgrep -q '200 owl' ; then
~  :
else
~  echo 200 owl >>/etc/iproute2/rt_tables
fi

ip rule add from 80.66.17.194 table owl
ip route add default via 80.66.18.3 dev ppp1 table owl

Das funktioniert auch normalerweise ganz toll.
Nur ab und ann will er dann den beschriebenen Rechner nicht mehr
über ppp1 routen und routet nun alles über ppp0. (Ich erkenne das an den
stark unterschiedlichen Antwortzeiten auf dem Server.)

Wenn ich mir nun die Regeln ansehe:

no42:~ # cat /etc/iproute2/rt_tables
#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#
#1      inr.ruhep
200 owl
no42:~ # ip rule ls
0:      from all lookup local
32765:  from 80.66.17.194 lookup owl
32766:  from all lookup main
32767:  from all lookup default
no42:~ # ip route ls
217.5.98.60 dev ppp0  proto kernel  scope link  src 80.138.89.247
80.66.18.3 dev ppp1  proto kernel  scope link  src 80.66.17.193
80.66.17.192/28 dev eth0  proto kernel  scope link  src 80.66.17.197
172.0.0.0/24 dev eth1  proto kernel  scope link  src 172.0.0.1
192.168.0.0/24 dev eth2  proto kernel  scope link  src 192.168.0.1
default via 217.5.98.60 dev ppp0

Sieht alles in ordnung aus. Wenn ich dann den folgenden Befehl eingebe:

no42:~ # ip route add default via 80.66.18.3 dev ppp1 table owl

Funktioniert anschließend auch umgehend das bessagte und gewollte Routing
über die ppp1 für den server wieder.

no42:~ # ip route ls
217.5.98.60 dev ppp0  proto kernel  scope link  src 80.138.89.247
80.66.18.3 dev ppp1  proto kernel  scope link  src 80.66.17.193
80.66.17.192/28 dev eth0  proto kernel  scope link  src 80.66.17.197
172.0.0.0/24 dev eth1  proto kernel  scope link  src 172.0.0.1
192.168.0.0/24 dev eth2  proto kernel  scope link  src 192.168.0.1
default via 217.5.98.60 dev ppp0



Ich häng nun noch mal die anderen drei Befehle an, welche die Interfaces beschreiben:

no42:/var/adm/YaST # ip link ls
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
~    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,ALLMULTI,UP> mtu 1500 qdisc pfifo_fast qlen 100
~    link/ether 00:50:fc:79:34:0c brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
~    link/ether 00:50:fc:78:c0:79 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
~    link/ether 00:50:fc:79:34:09 brd ff:ff:ff:ff:ff:ff
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 3
~    link/ppp
6: sit0 at NONE: <NOARP> mtu 1480 qdisc noop
~    link/sit 0.0.0.0 brd 0.0.0.0
405: ppp1: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 3
~    link/ppp
no42:/var/adm/YaST # ip addr ls
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
~    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
~    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
~    inet6 ::1/128 scope host
2: eth0: <BROADCAST,MULTICAST,ALLMULTI,UP> mtu 1500 qdisc pfifo_fast qlen 100
~    link/ether 00:50:fc:79:34:0c brd ff:ff:ff:ff:ff:ff
~    inet 213.191.19.197/28 brd 213.191.19.207 scope global eth0
~    inet 80.66.17.197/28 brd 80.66.17.207 scope global eth0:1
~    inet6 fe80::250:fcff:fe79:340c/64 scope link
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
~    link/ether 00:50:fc:78:c0:79 brd ff:ff:ff:ff:ff:ff
~    inet 172.0.0.1/24 brd 172.0.0.255 scope global eth1
~    inet6 fe80::250:fcff:fe78:c079/64 scope link
4: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
~    link/ether 00:50:fc:79:34:09 brd ff:ff:ff:ff:ff:ff
~    inet 192.168.0.1/24 brd 192.168.0.255 scope global eth2
~    inet6 fe80::250:fcff:fe79:3409/64 scope link
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 3
~    link/ppp
~    inet 80.138.89.247 peer 217.5.98.60/32 scope global ppp0
6: sit0 at NONE: <NOARP> mtu 1480 qdisc noop
~    link/sit 0.0.0.0 brd 0.0.0.0
405: ppp1: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 3
~    link/ppp
~    inet 80.66.17.193 peer 80.66.18.3/32 scope global ppp1

Hinweis: Wie man sieht, hat der Routerseitig-locale-ppp-Anschluß an die
Standleitung eine andrere Adresse als der eth0-Anschluß an den das
interne Netzwerk.

Kann mir wer helfen, wie ich herausfinde, das die Regel
ip route add default via 80.66.18.3 dev ppp1 table owl
noch funktioniert? Ich komme da nicht weiter, da
der "ip route ls" auch nach einem
ip route del default via 80.66.18.3 dev ppp1 table owl
nicht anders aussieht:

no42:~ # ip route del default via 80.66.18.3 dev ppp1 table owl
no42:~ # ip route ls
217.5.98.60 dev ppp0  proto kernel  scope link  src 80.138.89.247
80.66.18.3 dev ppp1  proto kernel  scope link  src 80.66.17.193
80.66.17.192/28 dev eth0  proto kernel  scope link  src 80.66.17.197
172.0.0.0/24 dev eth1  proto kernel  scope link  src 172.0.0.1
192.168.0.0/24 dev eth2  proto kernel  scope link  src 192.168.0.1
default via 217.5.98.60 dev ppp0
no42:~ # ip route add default via 80.66.18.3 dev ppp1 table owl
no42:~ # ip route ls
217.5.98.60 dev ppp0  proto kernel  scope link  src 80.138.89.247
80.66.18.3 dev ppp1  proto kernel  scope link  src 80.66.17.193
80.66.17.192/28 dev eth0  proto kernel  scope link  src 80.66.17.197
172.0.0.0/24 dev eth1  proto kernel  scope link  src 172.0.0.1
192.168.0.0/24 dev eth2  proto kernel  scope link  src 192.168.0.1
default via 217.5.98.60 dev ppp0


MfG...
Pierre Bernhardt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (MingW32)

iD8DBQFAnie/uOJP+ESj7AoRAvAhAKCdaGEONVkvxxrAxHQLDzMzgsDHTQCbBIxC
zT/nGIhEKNOeDcnQbefF5Vw=
=cQg7
-----END PGP SIGNATURE-----



More information about the Linux mailing list