ABSTRACT: es werden grundlagen der einrichtung des netzwerkes werden anhand von ifconfig vermittelt. erwaehung von ifup/ifdown und netstat und kurzerklaerung von DHCP. AUDIENCE: junior admin SYSTEM: any unix SECTION: basic unix commands AUTHOR: mond COPYRIGHT: GNU Free Documentation Licence http://www.gnu.org/licenses/fdl.txt ist das neue unix erst mal aufgesetzt will man natuerlich gleich mal ins netz. die setup tools der meisten distributionen fragen beim installieren schon mal welche art von netzverbindung man hat und richtet die scripts die beim starten des rechners das neztwerk konfigurieren sollen entsprechend ein. falls man alles nicht ganz so glatt geht sollte man aber in der lage sein sein netzwerk "haendisch" einzurichten. ich erklaere hier die befehle aus linux sicht. bei anderen unixen sind sie aber sehr aehnlich.. ifconfig ohne parameter zeigt die gerade configurierten netzwerk interface an. (alternativ: netstat -ni ) ein netzwerk interface ist dabei i.a. ein hardware geraet dass netzwerk packet senden und empfangen kann. z.b. eine ethernet karte. linux nennt die erste ethernet karten eth0 (freebsd: xl0). die zweite dann eth1 usw.. ifconfig eth0 zeigt die daten der ersten netzwerkkarte. das koennte z.b. so aussehen: eth0 Link encap:Ethernet HWaddr 00:30:4F:0B:5C:75 inet addr:10.216.6.2 Bcast:10.216.6.31 Mask:255.255.255.224 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:37311995 errors:0 dropped:0 overruns:0 frame:0 TX packets:57894277 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:5 Base address:0xe000 obige ausgabe besagt dass auf dieser netzwerkarte schon 57 millionen packte gesendet (TX) und 58 millionen empfangen (RX) wurden. packte werden mit einer maximalen groesse (MTU) von 1500 bytes gesendet. die "hardware addresse" (auch MAC addresse genannt) die jede netzwerkarte in einem netzwerk eindeutig identifiziert ware hier: 00:30:4F:0B:5C:75 ) die eigene IP addresse des rechners: 10.216.6.2 die netmask von 255.255.255.224 besagt dass auf diesem netzwerkkabel maximal 32 computer (genauer eigentlich maximal 30) haengen koennen mit den addressen 10.216.6.1 bis 10.216.6.30 ) ist die karte noch nicht eingerichtet oder will man die einstellungen aendern so kann man das mit dem ifconfig befehl machen (VORSICHT: nicht remote ausprobieren sonder nur wenn man vor dem rechner sitzt auf dem man das macht. sonst saegt man sich eventuell den ast ab auf dem man sitzt): z.b: ifconfig eth0 10.22.33.44 netmask 255.255.255.0 broadcast 10.22.33.255 wuerde der karte die ip addresse 10.22.33.44 aus dem netz 10.22.33.xxx zuweisen. (die broadcast addresse ist immer die lezte addresse aus dem netz) die netmask gibt an wie gross dieses netz ist (in diesem fall ein ganzes class C netzwerk). hier eine kurze tabelle von netmasken, der anzahl der "bits" der IP addresse die zum netzwerk zaehlen und die zahl der addessen die im netz sind: CIDR netmask bits in netzaddresse freie bits zahl der rechner /32 255.255.255.255 32 0 2^0 = 1 /31 255.255.255.254 31 1 2^1 = 2 /30 255.255.255.252 30 2 2^2 = 4 /29 255.255.255.248 29 3 2^3 = 8 /28 255.255.255.240 28 4 2^4 = 16 /27 255.255.255.224 27 5 2^5 = 32 /26 255.255.255.192 26 6 2^6 = 64 /25 255.255.255.128 25 7 2^7 = 128 /24 255.255.255.0 24 8 2^8 = 256 (class C) /23 255.255.254.0 23 9 2^9 = 512 .... /16 255.255.0.0 16 16 2^16 = 65536 (class B) /8 255.0.0.0 8 24 2^24 = 16777216 (class A) kennt man seine netzaddresse nicht so erfragt man diese am besten bei seinem netzwerkadministrator. der computer erwartet alle computer die im selben netz sind direkt auf diesem interface bzw dem damit verbunden netzwerkkabel zu finden... nach der eingabe eines ifconfig befehls sollte man daher all diese rechner mit ping schon erreichen koennen. (nach dem: ifconfig eth0 10.22.33.44 netmask 255.255.255.0 broadcast 10.22.33.255 befehl sollte man also alle computer addressen von 10.22.33.1 bis 10.22.33.254 pingen koennen. sofern diese auf dem netzwerksegment an dem usnere netzwerkkarte angeschlossen ist existieren und eingeschalten sind... pingt man die broadcast addresse (in diesem falle 10.22.33.255 ) sollten alle computer auf das ping antworten) funktioniert der ifconfig befehl gar nicht und es kommt eine fehlermeldung in der art "Device not found". so hat der computer die netzwerkarte nicht erkannt. in diesem falle muss man entweder einen "modprobe" befehl anwenden oder eventuell einen neuen kernel compilieren... wie man das macht lernen wir demnaechst. funktioniert das ping nicht dann sollte man kontrolieren ob die addresse richtig ist und ob die karte ueberhaupt packete aus dem netz "sehen" kann. man merkt das entweder in dem man erneut ifconfig aufruft und schaut ob sich der werte der bei "RX packets:" (die zahl der empfangen packete) steht von 0 weg erhoeht hat.. oder man benutzt das "tcpdump" kommando um direkt nachzusehen was sich auf diesem netzwerkabel so tut: tcpdump -ni eth0 zeigt alle packte an die am eth0 rausgehen oder reinkommen. ist alles was man dort sieht ausgehende "arp" packte die der eigene rechner schickt dann ist das netzwerkabel nicht angesteckt oder falsch ausgekreuzt oder ein aehnliches problem. i.a. haben die netzwerkarten auf der rueckseite kleine LED anzeigen mit denen man sehen kann ob die karte richtig angesteckt ist.. (ist man remote via ssh eingelogt und man will den tcpdump befehl benutzen sollte man darauf achten dass nicht die von tcpdump erzeugten ausgaben neue packte produzieren die dann wieder neue ausgaben produzieren die dann wieder neue packte produzieren... in diesem falle empfiehlt sich z.b.: tcpdump -ni eth0 not port ssh das zeigt die packte auf der ssh verbindung nicht an) wo der computer andere rechner findet die nicht direkt in diesem netzwerk segment liegen sagt man ihm mit dem "route" befehl) den lernen wir demnaechste genauer. einzig die "default route" lernen wir heute. das ist der router der alle packete weiterleitet fuer die wir sonst keine information haben. im obigen beispiel koennte das z.b. route add default gw 10.22.33.1 sein. (es ist eine verbreitete konvention dass der gateway router die erste ungerade addresse aus dem netz bekommt - muss aber nicht so sein) ifconfig ist bei jeder linux distribution standardmaessig dabei und erlaubt es die einstellungen der netzwerkinterface einzusehen und zu veraendern. zum teil verwenden aber neuere distributionen die befehle: "ifup" und "ifdown" ifup und ifdown entnehmen die einstellungen wie die netzwerkinterface zu konfiguriren sind aus dem file /etc/network/interfaces stehen dort die richtigen werte fuer z.b. eth0 drinnen so kann man die das eth0 mit dem befehl: ifup eth0 in betrieb nehemn. ebenso wieder entfernen: ifdown eth0 weiters erlaubt: ifup -a alle in /etc/network/interfaces einzurichten... wie das genauer mit dem "route" funktioniert und wie man dialup einwahlverbindungen (PPP) netzwerkzugaenge einrichtet lernen wir demnaechst. in manchen netzwerkgen laueft ein server der computern automatisch ihre IP addresse zuteilen kann. das nennt man dann "DHCP". damit das im linux funktioniert kann man wahlweise eines der beiden programme "pump" oder "dhcpcd" verwenden. befindet man sicha auf einem DHCP netzwerk so fuerht die eingabe von z.b: pump dazu dass man eine addresse zugwiesen bekommt. (die kann man danach - dauert i.a. ein paar sekunden - mit dem ifconfig befehl wieder ganz normal ansehen...) EXERCISES: * sieh dir mit ifconfig und netstat -ni die konfiguration deiner netzwerkarte an. * schau dir die ausgabe von tcpdump -ni an. (vieles da wird noch verwirrend sein aber das macht momentan nichts..) * versuche (NUR IN ABSPRACHE MIT DEINEM NETZWERK ADMINISTRATOR!) dir eine andere netzwerkaddresse zu geben. (wenn du zwei private rechner hast haenge die rechner direkt ueber ein ausgekrueztes kabel oder einen kleinen hub zusammen und konfiguriere eine auf 192.168.123.1 und die andere auf 192.168.123.2 und schau ob du die computer gegenseitig pingen kannst) * informiere dich wo deine distribution ihre netzwerk einstellungen speichert die beim starten geladen werden (debian: /etc/network/interfaces ). * dein netzwerkadmin sagt dir du seist auf einem /27 netzwerk. was bedeutet das? wie lautet die netmask dazu? wieviele computer haben in diesem netzwerksegment maximal platz? * welche netmask hast ein "class C" netz? * dein netzwerkadmin sagt dir dass die IP addressen per DHCP vergeben werden. mit welchen programmen bekommst du diese addresse? * mit welchem befehl setzte du den "default gateway" ? REFERENCES: man ifconfig ifconfig --help man ifup man interfaces man route man netstat