Fwd: Fwd: routolás probléma

Veres Sandor veresh at kossuthzs-szeged.sulinet.hu
2012. Feb. 14., K, 11:10:52 CET


Helló!

2012.02.13. 21:11 keltezéssel, Zoltán Gerendás írta:
> 1. Vagy a Zentyallal menedzselje, vagy kézzel
> (/etc/network/interfaqces + /etc/init./networking restart), DE NE
> MINDKETTŐVEL!!!
Természetesen a Zentyal-al menedzselem; a "sudo /etc/init.d/networking 
restart" parancsot már csak azután használtam, miután többször előjött a 
hiba.
A csomagfrissítésre is a Zentyal menedzselő felületét használom.
A hiba sajnos továbbra is fennáll. Október környékén már belefutottam 
ebbe a hibába (a Zentyal egy korábbi verziójával), akkor az lett a 
megoldás, hogy újratelepítettem. Most ezt szeretném elkerülni.

> 3. Az ip rule segít megtalálni a szabályokat és persze a ip route is,
> csak a megfelelő táblát kérdezze.

A következő parancsokat futtattam le:
$ ip rule ls
$ ip route list table default
$ ip route list table 101
$ ip route list table 102
$ ip route list table main

melyeknek a kimenete a csatolt "ip-parancsok.txt" fájlban található, 
némi magyarázattal.
Nagyon furcsállom azt, hogy az "ip route llist table 102" parancsnak 
üres a kimenete.

A hibát az alábbi parancsok egyike okozza (közben megtaláltam, hogy 
melyik :-) lásd alább:
"
/usr/share/zentyal-network/flush-fwmarks
/sbin/ip route flush table 102
/sbin/ip rule add fwmark 2/0xFF table 102
/sbin/ip rule add from 217.112.xxx.yyy table 102
/sbin/ip rule add from  table 102
/sbin/ip route add default dev ppp0 table 102
/sbin/ip route flush table 101
/sbin/ip rule add fwmark 1/0xFF table 101
/sbin/ip rule add from 195.199.aaa.bbb table 101
/sbin/ip rule add from 195.199.aaa.ccc table 101
/sbin/ip route add default via 195.199.aaa.bbb dev eth0 src 
195.199.aaa.ccc table 101
/sbin/ip rule add table main
"

Ezeket a parancsokat a "/usr/share/perl5/EBox/Network.pm" fájl 
"_multiRoutes" függvénye (2941-3089 sorok) generálja.
Miután soronként elkezdtem ellenőrizni a Network.pm fájlt, hogy mit és 
hogyan is generál, sikerült megtalálnom a hibás sort :-)
Ez az:
"
/sbin/ip rule add from  table 102
"

Ezt a sort a "/usr/share/perl5/EBox/Network.pm" 3010-3013 sorai között 
generálja:
# Add rule by source in multi interface configuration
         if ( scalar keys %interfaces > 1 ) {
             push(@cmds, "/sbin/ip rule add from $address table $table");
         }

Tehát az "$address" változó nem kap értéket!!! De milyen értéket kell, 
hogy kapjon egy ppp0 interfész esetén?
Nem a "217.112.xxx.yyy"-t, mert azt az "$ip" változó tartalmazza. Vagy 
PPPoE esetén az $ip == $address ???
A statikusan beállított eth0 esetén eltér:
/sbin/ip rule add from 195.199.aaa.bbb table 101
/sbin/ip rule add from 195.199.aaa.ccc table 101

  - a "195.199.aaa.bbb" a Sulinet Gateway IP címe
  - a "195.199.aaa.ccc" pedig Sulinet egyik Publikus IP címünk, amely 
mellesleg a Zentyalon az eth0-hoz van rendelve.

A http://trac.zentyal.org/attachment/ticket/3480/zentyal.log
oldalon szereplő napló 44. sora szerint a "ppp0/217.112.xxx.yyy" nem 
megfelelő.


És most már értelmet kap a hibaüzenet is: Error output: Error: an inet 
prefix is expected rather than "table".
Tehát egy IP címet várt és egy "table" szöveget kapott a "from" kulcsszó 
után.

Remélem a levelet rajtam kívül még más is tudja értelmezni ;-)

<off>
Milyen szép is a nyílt forráskód!!!
Egy nap "kitartó munkával" sikerül megtalálni a hibát. Valakinek már 
csak javítani kell.
</off>

Üdvözlettel: Veres Sándor
--------- következő rész ---------
An embedded and charset-unspecified text was scrubbed...
Name: ip-parancsok.txt
URL: <http://lista.sulinet.hu/pipermail/techinfo/attachments/20120214/0186efb3/attachment.txt>


További információk a(z) Techinfo levelezőlistáról