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