[BSD] FreeBSD + kabeles net - a vege
Adam Szilveszter
sziszi at bsd.hu
2004. Feb. 22., V, 00:15:24 CET
Hali mindenki!
Nos, a múlt hét vége óta a közönséget foglalkoztató történet ezennel a
maga vérfagyasztó végére ér.
Miután még egyszer végigellenőriztem mindent és gondolkodtam egy sort,
újabb kísérletekre vettetem magam.
Ezek azt a megdöbbentő eredményt hozták, hogy noha a hálókártyám által
kiküldött csomagokat a tcpdump látta (és hibátlannak találta), azok
valójában sosem hagyták el a hostot! Ugyanis sem a tűzfal
szabályszámlálói, sem a netstat statisztika nem mutatott "out"
packeteket a 0.0.0.0 IP-ről. Ugyanakkor arra is rájöttem, hogy amiről
pénteken hablatyoltam, hogy ti ha nagyon gyorsan bekapcsolás után kérek
IP-t akkor kapok egy rövid lease-t, azt a címet valójában *a modem adta* tehát
van benne egy saját kis DHCP szerver! (Valószínűleg szervíz célokra. Na
mindegy, ez érdekes. Most elkezdem keresni a repülőszimulátort, hátha van
benne az is) Mindenesetre jól megkavart a kis genya.
Azt most inkább ne feszegessük, hogy hogyan lehet az, hogy amikor ezzel
a szervíz DHCP szerverrel értekezett a kártya, akkor kimentek a
csomagok rendben, utána meg nem...
A valódi árulkodó jel az volt, hogy a fentiek mellett a kártya azt
jelezte, hogy ő mostan 100Mbps módban működik. Erre korábban nem volt
példa, mert csak 10 megás hálókon működött. Sajnos az "ed" driver *nem*
támogatja a sebesség és duplex kézi beállítását, ezért nem tudtam a
beállításokkal kísérletezni. Ezért feltételeztem, hogy az autoneg nem
sikerült, vagy, hogy a 100 megás transceivere a kártyának alapvetően
pirítós. Egy nagyon olcsó Realtek 8039-es chipes Portocom kártyáról van
szó, amit a FreeBSD sosem szeretett, már puszta felkonfiguráláskor úgy
köszöntötte, hogy "receiver ring buffer overrun" noha még egyáltalán nem
is volt rajta forgalom. (A Best of-ban emellett olyan, sosem látott
hibaüzenetek is vannak, mint pl "NIC memory dead". :-) Emellett a kártya
kizárólag akkor volt hajlandó adatot is továbbítani, ha párhuzamosan
promisc módba volt kapcsolva. Magyarán igazi Hall of Shame darab. Ennek
ellenére eddig otthon ment ADSL-el, és néhanap LAN-on is, igaz ott
nagyon lassan és sok szakadással, de azt betudtam annak, hogy a
kábeladaptere olyan mértékig kontakthibás volt, hogy elég volt csúnyán
ránézni és már is el is szállt a link. Az ADSL valószínűleg azért
működött vele mégis viszonylag panaszmentesen, mert a ppp eléggé jó
hibajavító kóddal rendelkezik. (meg mert az ADSL modem 10 megabittel
küldte a linket)
Ezért, miután kivettem a kernelből a tűzfalat egy időre (mert persze az
ilyesmiről se szabad elfeledkezni tesztelésnél, pláne ha default deny
policy van, de azért nekem sikerült elfelejteni, mert a ppp-s IP cím
kérés ment enélkül is :-) már nem volt más hátra, mint egy rövid
kirándulás a szerencsére szombaton is sokáig nyitva tartó óbudai M**ia
M**rktba, és egy új PCMCIA hálókártya beszerzése. Az "új kolléga" nagy
mérgemre szintén egy Realtek, de ezt az rl(4) driver hajtja meg, ezért
sokkal igényesebben lehet konfigurálni. (Plusz eddig egész rendesen
viseli magát) Üzembe helyezni is viszonylag gyorsan sikerült, miután
sikerrel átgázoltam azon a kernel panic-on, amivel a FreeBSD az első
behelyezést lereagálta. (In Stability we trust, ahogy a januári
DaemonNews-ban is olvasható)
Az új kártyával aztán - láss csodát - hirtelen minden működni kezdett.
Tehát ez volt az alapvető baj. Mike Smith-el szólva: "Grrrr, I hate
hardware"
Mi itt a tanulság? A fenti történetben mindenki sáros volt egy kicsit,
csak az az egy fél nem, akit mindenki reflexszerűen elsőnek gyanúsított
volna. Sáros volt az admin (én), mert nem emlékezett a saját tűzfal
konfigjára és a DHCP működésére (igaz sose használta azelőtt, mert
boldogult egyetemi LAN-os korában fix IP-je volt). Eszméletlenül sáros
volt ez a szupercr at p Realtek kártya, ami ezek szerint teljesen kreatív
módon kezelte a csomagokat, és csak azt továbbította belőle amihez kedve
volt. (Most már kezdek arra gondolni, hogy a jó nőknek írt leveleimet is
ő szabotálta el, ezért nem volt velük szerencsém :-) Sáros volt a
Scientific Atlanta (a kábelmodem gyártója) amiért dokumentáció nélkül
egy ilyen kis ügyes DHCP szervert épített a modembe, hogy aztán jól
elszórakozhassanak vele a mit sem sejtő felhasználók. Grrrrr. (Mondjuk
mindjárt az elején gyanús volt, hogy túl gyorsan reagál a DHCP szerver)
És sajnos sáros a FreeBSD is, mert (1) nincs dokumentálva, hogy a
tcpdump még a tűzfal *előtt* látja a csomagokat, ezért a kifelé irányban
egyáltalán nem biztos, hogy azt látod, ami a drótra került (2) Mert az
"ed" driver, noha az egyik leggyakoribb, nem támogatja a sebesség és
duplex beállítást, noha az autoneg nem mindig sikeres és ez közismert
tény.
Az egész technokomédia során egyetlen elem működött úgy, ahogy a
nagykönyvben le van írva: az Axelero Kábelnet. Sőt, még az 1234 is egy
csengésre felvette. (lehet, hogy listájuk van az NHH dolgozókról? :-)
Szóval ennyi. Szeretném megköszönni mindenkinek, aki segített, de külön
is LiRul-nak, mert biztos unalmas volt a kérdéseimre hosszasan válaszolni. :-D
És ezentúl reszkess, mert este és hétvégén se vagytok tőlem biztonságban
:-) Sőt, most már a sima telefonvonal + modem és az ADSL mellett a
kábelTV-n is én jövök! :-D Azt majd eldöntöm, hogy a média dominációban
mi lesz a következő állomás... talán a rádió... úgyis imádok pofázni, de
a fényképarcom nem egy Ben Afleck...
Na ezt gyorsan le akartam írni, hogy mindenki nyugodtan csicsikálhasson,
aztán mindenkinek jóccakát!
Üdv:
Sz, a ssssszélessávú
--
Udvozlettel:
Adam Szilveszter
Budapest
"Siessen haza! A BSD mar otthon van!"
További információk a(z) BSD levelezőlistáról