by Dru Lavigne
05/13/2004
Pocetnici sa Unix-like operativnim sistemima kao sto je to npr FreeBSD su cesto uplaseni mreznim podesavanjima. Naravno, mozda je sam proces instaliranja podesio vasu mreznu karticu za vas, ali gde idete da pogledate ova podesavanja, i sta dalje kada vasa mrezna kartica prestane da radi? Posto je umrezavanje skoro sastavni deo rada na kompjuteru, ovaj clanak ce pokazati kako da proverite, konfigurisete i optimizujete vasa mrezna podesavanja.
Ako ste ranije koristili Microsoft operaticvni sistem, verovatno ste koristili winipcfg ili ipconfig /all da proverite vasa mrezna podesavanja u komandnoj liniji. Unix dolazi sa slicnim alatom, nazvanom ifconfig (za “interface config”). Koristeci ovu komandu, videcete sve interfejse na sistemu i njihova podesavanja. Neke verzije zahtevaju od vas da ukucate i nastavak -a, ili all.
% ifconfig
rl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
ether 00:05:5d:d2:19:b7
media: Ethernet autoselect (10baseT/UTP)
status: no carrier
rl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
ether 00:05:5d:d1:ff:9d
media: Ethernet autoselect (10baseT/UTP)
status: no carrier
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.2.12 netmask 0xffffff00 broadcast 192.168.2.255
ether 00:50:ba:de:36:33
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
Prikaz podataka se moze razlikovati od ovog, ali imace i dosta slicnog. Ovaj sistem na primer ne koristi default kernel. Uklonio sam i osnovni IPv6, gif, i faith uredjaje iz ovog kernela, tako da se ne prikazuju.
Ovaj sistem ima tri fizicka interfejsa (rl0, rl1, i ed0) i loopback virtualni interfejs (lo0). Razlicite verzije Unix-a se razlikuju u nacinu imenovanju interfejsa. Na primer, Linux koristi eth za Ethernet NIC, tako da ce prikazivati imena kao eth0, eth1, i eth2. BSD koristi ime drajvera a svaki NIC, dozvoljavajuci vam da razlikujete razlicite chipset-ove i dostupne funkcije za svaki drajver. Da biste videli dopkumentaciju za vas NIC drajver, procitajte odeljak 4 njegovog korisnickog uputstva. Ne treba ukljucivati broj interfejsa, znaci trazite rl umesto rl0:
% man 4 rl rl -- RealTek 8129/8139 Fast Ethernet device driver % man 4 ed ed -- ethernet device driver
Iako sistem ima tri NIC-a, samo je ed0 aktivna i radi. Dve RealTek mrezne kartice nemaju povezane kablove, kao sto je to naznaceno u statisu: no carrier lines. Dalje, samo ed0 ima IP adresu (192.168.2.12), subnet masku (0xffffff00), i broadcast adresu (192.168.2.255).
Ta subnet maska je napisana u hex-u, kao sto je to naznaceno sa pocetnim 0x. Ovu masku nije previse tesko prevesti u decimalni broj, ako se prisetite da svaki par f karaktera (ff) je jednak 255. Znaci subnet maska ovde je 255.255.255.0. Ako naidjete na par hex brojeva koji nisu ff (255) ili 00 (0), koristite bc ili ugradjeni kalkulator da prevedete taj hex par u decimalni broj. Na primer, ako je vasa maska 0xffffe000:
% bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. base=16 E0 224 <Ctrl d>
Ovde smo upitali bc da prevede base 16, ili hex, broj kao unos (ibase=16). Zapamtite da konvertujete svako slovo u veliko, ili necete dobiti tacan odgovor. Posto je e0 decimalni 224, ova maska u primeru je 255.255.224.0.
ifconfig daje status, MTU, IP adresu, subnet masku, broadcast adresu, i Ethernet (ili MAC) adresu za svaki interfejs. Ali, ne daje adresu osnovnog gateway-a ili DNS servera.
Da biste videli vasu osnovnu gateway adresu, koristite komandu netstat, sto znaci network status. Dodajte i -r (routing) oznaku. Ako dodate i -n pretraga ce se ubrzati ne prikazujuci name resolution:
% netstat -rn Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 192.168.2.100 UGS 0 72664 ed0 127.0.0.1 127.0.0.1 UH 1 46 lo0 192.168.2 link#3 UC 0 0 ed0 192.168.2.12 127.0.0.1 UGHS 0 0 lo0 192.168.2.100 00:48:54:1e:2c:76 UHLW 1 0 ed0 1172
Beleska: Linux korisnici mogu da koriste i route komandu da bi dobili slicne rezultate. BSD route komanda radi drugacije; pogledajte man route za detalje. Ipak, netstat -rn radi na svim operativnim sistemima, ukljucujuci Linux i Microsoft operativne sisteme.
U vasem prikazu, potrazite liniju koja na pocetku ima rec default. Pridruzena IP adresa je adresa vaseg default gateway-a. Pogledajte i flags za taj unos. Oni oznacavaju U za aktivan i G za gateway. Ovo znaci da mozete komunicirati sa vasim gateway-em. Ako broj u Use polju nije 0, onda to oznacava broj poslatih paketa ka vasem gateway-u.
Na kraju, zadnja linija prikazuje MAC adresu osnovnog gateway-a. Verifying Your DNS Settings
resolver konfiguracioni fajl treba da sadrzi vasa DNS podesavanja. Taj fajl mozete pregledati ovako:
% more resolv.conf nameserver 209.226.175.236 nameserver 204.101.251.1 nameserver 204.101.251.2
Ovaj sistem sadrzi IP adrese tri DNS servera. Dobro je da se stave adrese barem dva servera, u slucaju da vas primarni DNS server postane nedostupan.
Iako imate pristup Internetu, trebalo bi da znate kako da nadjete DNS servere vaseg ISP-a i da rezultate cuvate u knjizi koja sadrzi vasa mrezna podesavanja. Ovo ce biti neprocenjivo ako vam ikada zatreba da ponovo manuelno kreirate ova podesavanja. Ako ne cuvate takve beleske, mozete prikupiti ta podesavanja sa sistema koji ima Internet pristup.
Da biste saznali IP adrese vasih DNS servera, koristite dig, domain information groper. Sada cu upitati za ns, ili name server, unose za mog ISP-a:
% dig ns sympatico.ca ; <<>> DiG 8.3 <<>> ns sympatico.ca ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44589 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 4 ;; QUERY SECTION: ;; sympatico.ca, type = NS, class = IN ;; ANSWER SECTION: sympatico.ca. 6h12m33s IN NS ns5.bellnexxia.net. sympatico.ca. 6h12m33s IN NS ns6.bellnexxia.net. sympatico.ca. 6h12m33s IN NS dns1.sympatico.ca. sympatico.ca. 6h12m33s IN NS dns2.sympatico.ca. ;; ADDITIONAL SECTION: ns5.bellnexxia.net. 9m36s IN A 209.226.175.236 ns6.bellnexxia.net. 9m37s IN A 209.226.175.237 dns1.sympatico.ca. 14m7s IN A 204.101.251.1 dns2.sympatico.ca. 3m56s IN A 204.101.251.2 ;; Total query time: 46 msec ;; FROM: dru.domain.org to SERVER: 209.226.175.236 ;; WHEN: Sun Apr 11 14:30:14 2004 ;; MSG SIZE sent: 30 rcvd: 182
Vas izlazni prikaz ce biti podeljen u nekoliko SEKCIJA. Za sada, koncentrisite se na ANSWER SECTION, koja sadrzi odgovor na vas dig upit. Moj ISP koristi cetiri DNS servera imena, kao sto se vidi u prikazu. Svaki server imena koristi IN (IPv4) zapis i NS (name server) zapis. U svakom slucaju, odgovor daje imena servera. Ne zelite da koristite imena za name resolution; trebaju vam IP adrese vasih servera imena.
Nacicete ta imena povezana sa IP adresama u ADDITIONAL SECTION.
dig je isto tako pogodan u slucaju da zaboravite ime ili IP adresu SMTP-a ili mail servera vaseg ISP-a. Ovog puta, napravite upit za mx, ili mail exchange record. Ovde sam prikazao samo ANSWER SECTION zbog duzine:
% dig mx sympatico.ca (snip) ;; ANSWER SECTION: sympatico.ca. 20m34s IN MX 5 mta2.sympatico.ca. sympatico.ca. 20m34s IN MX 5 mta3.sympatico.ca. sympatico.ca. 20m34s IN MX 5 mta1.sympatico.ca. (snip)
Moj ISP ima tri SMTP servera. Vidite li broj izmedju MX i imena mail servera? To je broj prioriteta. Svi mail serveri mog ISP-a imaju isti prioritet; neki ISP-i koriste razlicite prioritete. Ako je to slucaj sa vasim ISP-om, odaberite mail server sa najmanjim prioritetnim brojem, zato sto ima najveci prioritet.
Ako su vasa IP podesavanja dodeljena od strane DHCP servera, mozete ujedno pogledati sva vasa podesavanja tako sto cete pogledati trenutni lease.
Sam lease se nalazi unutar spicastih zagrada. Ako imate nekoliko lease-eva, onaj na vrhu fajla je vas zadnji lease.
% more /var/db/dhclient.leases
lease {
interface "ed0";
fixed-address 192.168.2.12;
option subnet-mask 255.255.255.0;
option time-offset -18000;
option dhcp-lease-time 345600;
option routers 192.168.2.100;
option dhcp-message-type 5;
option dhcp-server-identifier 192.168.2.100;
option domain-name-servers 209.226.175.236,204.101.251.1,204.101.251.2;
renew 2 2004/4/13 02:13:03;
rebind 3 2004/4/14 23:34:37;
expire 4 2004/4/15 11:34:37;
}
Jedna je stvar znati kako proveriti svoju konfiguraciju interfejsa, ali sta ako treba da konfigurisete interfejs? Recimo da ste upravo dodali jedan NIC vasem sistemu. Kada se kompjuter restartuje, hocete da proverite dali je vas novi NIC prepoznat. Ozete koristiti ifconfig i potraziti dodatni interfejs. Mozete i pretraziti boot probe poruke za nadjene Ethernet adrese. Zapamtite da koristite veliko E u vasoj pretrazi:
% grep Ethernet /var/run/dmesg.boot rl0: Ethernet address: 00:05:5d:d2:19:b7 rl1: Ethernet address: 00:05:5d:d1:ff:9d ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0x9800-0x981f irq 10 at device 11.0 on pci0
Ako je vas novi NIC prikazan, spreman je da se podesi – ali sta ako novi NIC nije prepoznat prilikom bootup-a? Prvo pitanje koje cete postaviti sebi je, “Dali sam kreirao custom kernel?” Ako je odgovor potvrdan, proverite konfiguracioni fajl kernela; mozda ste uklonili drajver potreban za novi NIC.
Ako problem nije u tome, mozda cete morati da restartujete sistem i da pregledate vasa CMOS podesavanja. Dali ste onemogucili neke IRQ? Dali imate omogucene onboard uredjaje koje ne koristite? Ako imate, mozda oni trose IRQ, i nema ih vise za vas novi NIC. Ako odlucite da menjate CMOS podesavanja, zapisite negde na papiru originalne vrednosti. Promenite jedno podesavanje, podignite sistem i vidite dali ima relike. Ponovite ako je potrebno.
Ako je NIC PCI, proverite vasa CMOS PnP OS podesavanja. Nekada promena iz yes u no moze resiti problem. Nekada i pistavljanje NIC u drugi PCI slot resava problem. Na kraju, kao zadnju nadu, mozete proveriti dali je IRQ problem tako sto cete ukloniti sve kartice osim novog NIC-a i video kartice. Ako je NIC prepoznat, to znaci da imate vise kartica nego IRQ.
Kada vas NIC bude prepoznat, odlucite dali da podesite IP adresu manuelno ili cete koristiti DHCP server. U oba slucaja se zahtevaju promene u /etc/rc.conf. Ako zelite, mozete koristiti i /stand/sysinstall, koji ce izmeniti ovaj fajl za vas. Ovo je ista ona alatka koju ste koristili kada ste instalirali vas FreeBSD sistem. Kada se alatka startuhe, izaberite Configure, pa Networking, i onda koristite space bar da izaberete interfejs.
U suprotnom, editujte /etc/rc.conf koristeci vas omiljeni tekst editor. Na primer, sledece linije dodeljuju IP adresu i subnet masku za rl0, i postavljaju default gateway:
ifconfig_rl0="inet 192.168.2.25 netmask 255.255.255.0" \ defaultrouter="192.168.2.100"
Ako koristite staticno IP adresiranje, ne zaboravite da dodate IP adrese DNS servera u /etc/resolv.conf.
Ako koristite DHCP server za primanje IP adrese, trebate dodati samo jednu liniju u /etc/rc.conf:
ifconfig_rl0="DHCP"
Ne treba da dodajete default router ili adrese DNS servera, zato sto lease dodeljen o strane vaseg DNS servera ukljucuje ove informacije.
Kada ste sacuvali promene u /etc/rc.conf, podignite vasa mrezna podesavanja:
# /etc/netstart
Beleska: Ako vam ikada zatreba da obnovite DHCP lease, koristite ovu komandu, ali zamenite rl0 imenom vaseg NIC-a:
# dhclient -r rl0
Osim u slucaju ako imate veoma star NIC, ili ste kupili 100Mbps NIC, vas NIC je 10/100Mbps. Ovo znaci da je u mogucnosti da podrzava brzine od 10 ili 100 Mbps. Verovatno sito tako podrzava i half-duplex (nemoze da salje i prima u isto vreme) ili full-duplex (moze da salje i prima u isto vreme) operacije. Ovaj process podrzavanja brzine se odvija izmedju NIC i hub ili switch na drugom kraju vaseg mreznog kabla..
Ocigledno, 100Mbps u full-duplex-u je mnogo bolje nego 10Mbps u half-duplex-u. Ogranicavajuci faktor ce biti hub ili switch; njihova dokumentacija ce vam reci njihovu brzinu i operacioni mod.. Ako ne podrzava 100Mbps ili full-duplex, ne izvlacite maksimum iz vase NIC i vas mrezni saobracaj ce biti veoma usporen.
Trebalo bi isto da budete svesni da cak i da hub ili switch podrzavaju 100Mbps i full-duplex mod, NIC i hub ili switch ce opet preispitivati ove vrednosti sve vreme. Ako je vas NIC uvek pozezan sa istim hub ili switch, razumno je da podesite ove vrednosti da biste sprecili stalno preispitivanje.
Dali ovo mozete da podesite zavisi od drajvera za vas NIC, zato pazljivo procitajte man 4 za vas drajver. Na primeru moje mreze, bolje bi bilo da iskopcam svoju ed0 i da umesto nje koristim jednu od RealTek-ovih interfejsa. Zasto? man 4 ed kaze da ovaj odredjeni drajver podrzava samo 10Mbps u half-duplex modu (IEEE 802.3 CSMA). Sa druge strane, man 4 rl kaze da ovaj drajver moze biti konfigurisan da koristi 100Mbps i full-duplex.
Ovo je primer linija koje bih koristio u /etc/rc.conf:
ifconfig_rl0="DHCP" ifconfig_rl0="100baseTX mediaopt full-duplex"
Postoji nekoliko stvari ovde koje bi trebalo pomenuti. Prvo, man stranica ce dati koje su opcije dostupne i kako ih podesiti. Drugo, ne pokusavajte da date podesavanja koja vas NIC drajver ne podrzava, kao sto je navedeno u mna stranici. Trece, ne menjajte brzinu i duplex mod u vrednosti koje vas hub ili switch ne podrzavaju!
Da bih video da moja podesavanja rade, ubacicu mrezni kabal u rl0 i izdati komandu /etc/netstart. Onda cu proveriti rezultate:
% ifconfig rl0
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.2.87 netmask 0xffffff00 broadcast 192.168.2.255
ether 00:05:5d:d2:19:b7
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
Ovaj clanak je pokrio vecinu konfiguracionih scenarija za Ethernet mrezne kartice. Trebalo bi da pogledate i odeljak "Podesavanje Mreznih Interfejsa" u Handbook-u.
Izvor: http://www.onlamp.com/pub/a/bsd/2004/05/13/FreeBSD_Basics.html