Boken Om Linux/Kapittel 22
Opprydning: For tiden foregår det en del oppussing, og denne siden har foreløpig noen mangler. Du kan hjelpe Wikibøker med å forbedre den. Følgende forbedringer er foreslått: Se Diskusjon:Boken Om Linux#22:Kommunikasjon |
22: Kommunikasjon
redigerLinux støtter nettverksprotokollene TCP/IP, IPX/SPX, Appletalk og DECnet. Vi skal i dette kapitlet konsentrere oss om nettverksprotokollen TCP/IP (Transmission Control Protocol/Internet Protocol). Internett er basert på nettverksprotokollen TCP/IP. Gjennom TCP/IP gjør Linux det mulig for deg å kommunisere med brukere og maskiner på Internett via elektronisk post, USENET-nyheter og telnet (terminalemulering). TCP/IP muliggjør også overføring av data mellom to maskiner med for eksempel FTP, NFS (Network File System) elektronisk post, world wide web og USENET news.
TCP/IP – nettverkslimet
redigerTCP/IP er et nettverksprodukt som ble utviklet rundt 1970 av det amerikanske forsvaret. Hovedpoenget med TCP/IP har vært at brukerne skal ha mulighet til å utveksle informasjon med hverandre uansett hva slags datautstyr de har, eller hvor de er plassert. Blant viktige organisasjoner som har bidratt til TCP/IP-standarden, kan jeg nevne:
Figur 22.1: Her ser du TCP/IP (DoD)-modellen i forhold til andre kommunikasjonsmodeller, for eksempel ISO og Novell Netware IPX/SPX.
- NASA (National Aeronautics and Space Administration)
- NSF (National Science Foundation)
- DoE (Department of Energy)
Disse organisasjonene i samarbeid med det amerikanske forsvaret DoD (Department of Defense) arbeider i dag med WAN (Wide Area Network), kalt DARPA Internet, som blant annet er sammensatt av ARPANET, MILNET og NFSNET.
Begrepet Internett
redigerARPANET var nettverket som for 20 år siden bandt sammen de fleste universiteter og forskningssentra i USA og verden over, inkludert Norge. DARPA Internett er satt sammen av flere forskjellige nettverk. Internett er i dag en etterfølger til ARPANET og nettverkene MILNET (Department of Defense), NFSnet (National Science Foundation), CSNET (Computer Science Foundation) og Cypress Net (Purdue University). TCP/IP er grunnsteinen i nettverket. Med begrepet Internett mener man resultatet av alle nettverkene koblet sammen. Maskiner på Internett blir vanligvis referert til som vertsmaskiner eller noder.
TCP/IP ble fra starten av laget for bruk over telelinjer (X.25) i ARPANET. TCP/IP ble betraktet som for omfattende og tregt for bruk på lokalnett som ethernett og token ring. I dag kan du kjøre TCP/IP på de fleste typer nettverk: ethernett, token ring, ARCnet, StarLAN osv. Du kan i tillegg bruke oppringte linjer (SLIP og PPP), X.25 eller 2 Giga bit/s satellittsamband.
Linux støtter i dag TCP/IP både på nettverkskort og asynkron tilknytting (RS-232=serieporten). Linux støtter mange populære ethernettkort og grensesnitt mot PCer, inkludert alle kjente nettverkskort fra leverandører som 3COM, SMC, D-Link pocket ethernettadapter til bærbare maskiner etc. Asynkront støtter Linux PPP og SLIP. Med PPP eller SLIP kan du koble deg opp til Internett via modem eller ISDN. Ønsker du å kommunisere over serieporten, støtter Linux lavnivåprotokollene PPP, SLIP og UUCP. UUCP (UNIX-to-UNIX Copy) er brukt til å overføre filer, elektronisk post og elektroniske nyheter mellom Unix-maskiner. UUCP ble opprinnelig laget for at Unix-maskiner skal kunne snakke sammen over telefonlinjer via modem. I dag er det også mulige å kjøre UUCP over et TCP/IP-basert nettverk.
Man spekuler i fremtiden at å implementere Recursive InterNetwork Architecture-teknologien (RINA) ProtoRINA – versjon 1.0 – ble offentliggjort i oktober 2013. https://en.wikipedia.org/wiki/Recursive_InterNetwork_Architecture_%28RINA%29 http://www.digi.no/tele-kommunikasjon/2016/04/13/norsk-forsker--tcpip-protokollen-er-utdatert.-koden-er-et-eneste-rot
Protokollene
redigerTCP/IP er ikke bare protokollene TCP (Transmission Control Protocol) og IP (Internet Protocol), men en hel familie av serviceprotokoller og kommandoer.
Her er en beskrivelse av de mest brukte:
- TCP (Transmission Control Protocol) er ansvarlig for å brekke opp beskjedene i nettverksmeldinger og sette dem sammen igjen i den andre enden, samt eventuelt sende pakker som forsvinner på nytt. TCP passer også på at alt kommer i riktig rekkefølge.
- IP (Internet Protocol) er ansvarlig for å finne en vei for nettverksmeldinger. Det eneste IP vet, er IP-adressen til destinasjonsmaskinen. IP vet ikke noe om hvordan en nettverks-melding relateres til andre nettverksmeldinger. IP er rett og slett en pakkerutine, mens TCP sikrer en stabil dataoverføring.
- UDP (User Datagram Protocol) er en enkel transportprotokoll uten "handshaking". Denne transportprotokollen brukes av blant annet NFTP og NFS.
- ARP (Address Resolution Protocol) konverterer IP-adressen til en fysisk ethernett-adresse.
- ICMP (Internet Control Message Protocol) samarbeider med IP og kontrollerer feilinformasjon. Vertssystemet kan ikke få tilgang til denne protokollen.
- SMTP (Simple Mail Transfer Protocol) sender beskjeder til en liste over destinasjoner (postkasser) på Internett. SMTP er best kjent som elektronisk post.
- RIP (Routing Information Protocol) er ansvarlig for å sende (rute) TCP/IP-pakker fra et nettverk til et annet.
- SLIP (Serial Line Internet Protocol) brukes når du ønsker å sende TCP/IP-pakker over serielle linjer (asynkront).
- PPP (Point-to-Point Protocol) brukes når du ønsker å sende TCP/IP-pakker over serielle linjer (asynkront). I dag har PPP tatt over i forhold til SLIP. Mens SLIP må være ferdig konfigurert i begge ender på forhånd, kan PPP "forhandle" om kommunikasjonsparametere under oppkobling. PPP gir også mulighet for å autentisere tilkoblingen, og dynamisk tildele IP-adresse ved oppkobling. PPP gjør det bl.a. mulig å koble seg opp mot Internett fra ulike tilknytningspunkter. Skal du bruke modem eller ISDN med Linux, anbefaler jeg at du bruker PPP.
(IPv4)
redigerHver node på et Internett (IPv4) har en 32-bits nettverksadresse, som inkluderer et nettverksnummer og et maskinnummer. Man har tre klasser nettverksadresser; små, mellomstore og store. Disse blir henholdsvis klassifisert som A, B og C. Jo større nettverk, jo flere noder. Nettverksadressene settes opp i filen hosts (på de fleste systemer /etc/hosts) eller styres av DNS-tjenere sentralt. Eksempel på en nettverksadresse er 89.0.0.2. Hvert desimalnummer tilsvarer et oktal nummer av en 32-bits adresse.
Det antas at Internett vil være tom for ledige adresser i 2005 hvis nettet skal baseres på 32 bits adresser (IPv4). Den rådende teknologien Internet Protocol versjon 4 (IPv4) har en kapasitet på ca. 4 milliarder adresser, ikke på langt nær nok til å støtte alle de forskjellige typene utstyr som etterhvert vil bli Internett-tilknyttet.
I dag er mer enn 400 millioner mennesker som er tilknyttet Internett, og prognosene tilsier at dette tallet vil øke til 1 milliard innen 2005, og til 3 milliarder innen 2010. Verdens 400 millioner mobiltelefoner vil samtidig øke til 1 milliard innen 2003. I tillegg vil utviklingen av kommunikasjon i den tredje verden i stor grad basere seg på bruk av Internett-tilknyttede mobiltelefoner.
Heldigvis forutså de menneskene som i sin tid skapte Internett, og som i dag administrerer de grunnleggende standardene dette problemet. For omkring 10 år siden ble det utviklet en ny standard, Internet Protocol versjon 6 (IPv6) som er basert på 128 bits adresser. Denne standarden ble deretter lansert for 6 år siden.
En av den første operativsystemene som inkluderte denne støtten var Linux-operativsystemet. Rett etter at du har lastet opp Linux-kjernen lastes nettverksstøtten i Linux. Her ser du at man har fullt støtte for IPv6.
(IPv6)
redigerIPv6 har kapasitet til utrolig mange flere adresser enn IPv4 (2 i 128 potens), og som det har vært uttalt adresser nok til å dekke hvert sandkorn på jordens overflate.
Adresseringsområdet på 128 bit reflekterer det faktum at IETF (Internet Engineering Task Force) med lanseringen av IPv6 én gang for alle ville løse problemene omkring adresseknapphet. Det er gjort praktiske beregninger på hvor mange IP-objekter IPv6 vil kunne adressere, og de mest konservative anslagene viser at adresseområdet i protokollen er tilstrekkelig til at en kan plassere over 1500 IP-objekter på hver kvadratmeter av jordens overflate.
Dette er jo et meningsløst høyt tall, men det IETF har tatt sikte på med det nye adresseringsformatet, er muligheten for å kunne "sløse" med ulike adressekonfigurasjoner. Dermed vil man kunne reflektere adressestrukturer på både organisasjoner, Internett-leverandører og hele land, noe som er svært vanskelig i IPv4.
Den nye IPv6-pakken
redigerAdresselengden i IPv6 er satt til 128 bit, hvorav de nederste 48 bitene skal brukes til MAC-adressering.
Figur 22.2: Pakke-headeren i IPv6
I figuren på denne siden viser jeg hvordan headeren i den nye IPv6-pakken er oppbygget. Jeg vil ikke her komme inn på hvilken funksjonalitet de ulike feltene har, men nøye oss med å konstatere at selv om adressefeltets lengde er økt til det firedoble, er headeren i IPv6 bare dobbelt så stor som den i IPv4. Dette skyldes at man har fjernet felt i IPv4 som er foreldet, eller som rett og slett ikke virket etter hensikten.
IPv6 med prioritering
redigerIPv6 har i tillegg tilleggsfunksjonalitet som støtter moderne kommunikasjon og teknologi som ikke en gang var påtenkt den gangen IPv4 ble utviklet. En av de viktigste tingene er muligheten for å kunne prioritere datastrømmer. Dette er en egenskap som er svært nyttig i bredbåndstjenester som video og audio. En kan for eksempel gi såkalt "streaming" video en høyere prioritet enn e-post og webtrafikk, og på den måten unngå det vi i dag blir plaget med når Internett-trafikken er stor. Enda viktigere er bruken av prioritering når det gjelder IP-basert taletrafikk. Mangelen på prioritering er en av de største problemene for VoIP (Voice over IP). Taletrafikk er nemlig enda mer følsom for "pakkedropping" enn video. Det skal ikke så mye til før tale blir uforståelig.
IPv6 vil også gi bedre støtte for portable datamaskiner og mobilt utstyr som f.eks mobiltelefoner. Videre vil rutingen over Internett bli mye mer effektiv, noe som vil øke hastigheten på nettet, og gi oss bedre tilgjengelighet. Samtidig er IPv6 i stand til å autokonfigurere konfigurasjoner mellom utstyr og nettverket. Mye av den funksjonaliteten som i dag finnes med Linux DHCP vil dermed være innebygget i protokollen.
Så, når IPv6 har eksistert i nærmere ti år, hvorfor bruker vi da ikke alle protokollen? Det største problemet er nok selve overgangen fra IPv4 til Ipv6. Denne overgangen krever en generell overhaling av hele infrastrukturen på Internett. En kan jo ikke bare ta ned hele Internett for å oppgradere det. Faktum er at vi i mange år fremover må leve med begge protokollene side om side, og de må kunne sameksistere. På den annen side vil vi måtte skrive om de fleste av de prosessprotokollene som i dag finnes i TCP/IP-hierarkiet (Se figur 22.1).
Løsningen på det første problemet kan være å kapsle inn protokollene i hverandre. Om en IPv6-basert host skal sende pakker gjennom en IPv4-basert ruter, kan IPv6-pakkene kapsles inn i IPv4-pakker. Den IPv6-baserte mottageren kan så "skrelle" av IPv4 innpakningen ved mottagelse. En annen metode er såkalt "header translation", hvor ruteren for eksempel oversetter en IPv4-header til en IPv6-header, eller omvendt.
MTU:
redigerDu kan endre: JumboFrames slik. ifconfig ${Interface} mtu ${SIZE} up ifconfig eth1 mtu 9000 up # vi /etc/sysconfig/network-scripts/ifcfg-eth0 MTU="9000" service network restart IPV6_MTU="1280" /sbin/ifconfig eth1 mtu 9000 up Ulempen å gjøre dette er alle utstyr (Router\ Pcer eller annen utstyr må bruke samme teknologi for ytelsen skal bli best mulig særlig over store overføringer.
Ruting
redigerDe forskjellige nettverkene som er en del av Internett, blir koblet sammen via såkalte rutere; dette er maskiner som er koblet til ett eller flere nettverk. Rutere kan videresende TCP/IP-pakker fra et nettverk til et annet. Hvis destinasjonen er på kjent nettverk, blir pakken sendt direkte til den riktige noden (vertsmaskin). Er ikke destinasjonen på kjent nettverk, blir pakken sendt fra ruter til ruter inntil riktig nettverkssegment er funnet. De fleste av dagens ruter støtter også IPv6
TCP/IP-applikasjoner
redigerMed TCP/IP følger det alltid med mange standard brukerapplikasjoner, for eksempel ftp, telnet og et sett med kommandoer som kalles R (remote)-kommandoer. Disse er hentet fra Berkeley Unix. Linux leveres også med et standard socket programmeringsgrensesnitt, slik at for eksempel et C-program som bruker TCP/IP kan lese/skrive nettverksdata. Linux X-tjener bruker også TCP/IP, som tillater deg å vise applikasjoner som kjører på annet system enn på din Linux-skjerm. Mer om X-Window finner du i kapittel 10.
TCP/IP-konfigurasjon
redigerFør du kan oppdatere alle konfigurasjonsfilene, er det en del nøkkeldata som du må ha oversikt over, for eksempel IP-adresse, nettmaske, default gateway (rute) og DNS-tjener (navntjener). Disse nøkkeldataene blir du også spurt om når du installerer Linux (se kapittel 3). Du kan alltid oppdatere disse dataene senere i Linux nettverksadministrasjonsskallet neat (# neat &). Dette programmet finner du med distribusjonene Fedora og Red Hat.
Figur 22.3: Konfigurasjon av TCP/IP fra neat
Definere maskinnavn
redigerI kapittel 5 lærte vi kommandoen uname, som gav oss systemets maskinnavn eller ofte kalt hostname. Maskinnavnet brukes for å identifisere PC din over nettverket (TCP/IP). Du bør være klar over at maskinnavnet blir lest av mange forskjellige programmer, blant annet av skallet ditt, for eksempel bash. Ønsker du å definere eller endre maskinnavn, bruker du Fedoras neat (# neat &) eller du kan bruke hostname-kommandoen. I eksemplet nedenfor endrer jeg maskinnavnet til hakadal.
[root@nittedal /etc]# hostname hakadal
Figur 22.4: Konfigurasjon av TCP/IP fra YaST under SuSE Linux
Under SuSE Linux bruker du YaST til definere alle nettverksparameterene. Her kan du også definere hostname.
Definere IP-adresse og nettmaske
redigerAlle maskiner på Internett har en unik IP-adresse. Skal du bare teste TCP/IP-programvaren, kan du bruke loopback-adressen 127.0.0.1. Loopback-adressen er en testadresse som du finner på alle TCP/IP-noder. Adressen finner du i /etc/hosts-filen og er alltid den samme (127.0.0.1). Den Linux-arbeidsstasjonen som jeg bruker i øyeblikket, har IP-adressen 192.168.1.34.
Hvis du kobler maskinen din til internett med PPP (den vanligste protokollen for tilkobling til Internett ved oppringte samband), kan din IP-adresse tilordnes statisk eller dynamisk. Har du statisk tilordning, får du den samme IP-adressen hver gang du kobler deg opp til nettverket. Har du dynamisk tilordning, kan du få forskjellig IP-adresse (fra et intervall av IP-adresser) hver gang du knytter deg opp til nettet.
Nettverksmasken bestemmer hvilken del av IP-adressen som er satt av til nettverksnummeret, og hvilken del som er satt av til maskinadresse. Det er først og fremst en beskjed til ruterne på nettverket om at: “Denne delen av IP-adressen er en nettverksadresse. Se etter om denne pakken allerede er på riktig nettverk eller om den skal sendes over i et annet nettverk." Hvis ikke nettverksmasken er satt opp riktig, vil ikke TCP/IP-ruting virke. Vi snakker om 3 hovedklasser av nettverksadresser. Klasse A har nettverksmaske 255.0.0.0. Det vil si at det kan finnes maksimum 255 forskjellige klasse A nettverksnummer, og i hvert nett kan det finnes 255*255*255 (=16581375) forskjellige noder/vertsmaskiner (arbeidsstasjonsadresser). Klasse B har nettverksmaske 255.255.0.0. Det vil si at det kan finnes 255*255 (= 65025) forskjellige nettverksnummer og like mange forskjellige noder/vertsmaskiner. Klasse C har nettverksmaske 255.255.255.0. Det vil si at det kan finnes 255*255*255 (=16581375) forskjellige nettverksnummer med inntil 255 forskjellige noder/vertsmaskiner i hvert subnett.
Figur 22.5: Konfigurasjon av statiske maskinavn-til-IP-bindinger fra neat
ifconfig-kommandoen starter opp nettverkskortet og setter nettverksadresse. Denne kommandoen blir vanligvis utført som en del av oppstartsprosedyren til datamaskinen. Etter det blir den mest brukt ved feilsøk og finjustering av systemet. Fra kommandolinjen uten parametre gir den informasjon om status til de forskjellige nettverksgrensesnittene. Skal du sette ethernett-kortet opp på Unix-baserte systemer, vil du finne forskjellige navn på nettverksgrensesnittene.
Leverandør | Operativsystem | Grensesnitt |
Open Source | Linux | eth0/eth1/tr0/tr1 |
Sun | Solaris | le0 |
Compaq | Ultrix/OSF/Unix 64 | ln0 |
HP | HP-UX | lan0 |
IBM | AIX | en0 |
SGI | IRIX | ec0 |
Du finner at eth0 er det første ethernett-grensesnittet og eth1 det andre ethernett-grensesnittet under Linux. Bruker du token ring, er det tr0 og tr1. Nedenfor har jeg et eksempel fra min Red Hat Linux-maskin.
[root@nittedal /etc]# ifconfig eth0 207.117.119.15 netmask 255.255.255.0 broadcast 207.117.119.255
I eksemplet over setter jeg IP-adressen, netverksmasken og broadcastsadresse til ethernett-grensesnittet eth0. Kommandoen ifconfig finner du under distribusjonene Fedora, Red Hat, SuSE og Debian.
Drivere til nettverkskort
Hvis Linux-distribusjonen som du installerte ikke har funnet nettverks-, modem- eller ISDN-kortet ditt, har du muligheten til å velge kort manuelt fra neat eller YaST (SuSE). Du bør være oppmerksom på at driverstøtten ikke er lik mellom de enkelte distribusjonene, da disse er knyttet direkte til Linux-kjernen. Får du ikke tak i nettverkskortet bør du sjekk om kortet har blitt kjent for Linux:
[root@nittedal /root]# tail -f /var/messages
Har du problemer eller ikke finner nettverkskortet ditt, bør du ikke installere en annen Linux-distribusjon, men heller sjekke om du har siste versjon av Linux-kjernen med de tilhørende moduler. Prøve kommandoen lsmod for se listen med moduler som er lastet opp:
[root@nittedal /root]# lsmod
Hvis de riktige modulene er lastet opp kan du se nettverkskortet med kommandoene iwconfig og ifconfig. Er du usikker på hvilke moduler og opsjoner som skal brukes til de enkelte kortene, bør du lese filene under katalogene doc og src. Sjekk katalogreferansene for Fedora, Red Hat og SuSE under:
/usr/share/doc/
/usr/src/redhat eller /usr/src/linux (SuSE)
Kernel modulene til SuSE finner du under:
/usr/src/linux/kernel-modules
Dokumentasjonen til Fedora og Red Hat finner du i egne kataloger under /usr/share/doc som tekstfiler. Dokumentasjonen til SuSE finner du som egne pdf-filer i katalogen /usr/share/doc. Du bør også sjekke HOWTO-dokumentasjonen.
Definere standard ruter
redigerDefault gateway er adressen for å nå fram til verden utenfor. Har du en egen ruter i huset, vil default gateway være ruterens IP-adresse. Default gateway-adresse har som regel tallet 1 i siste desimal. I mitt tilfelle er det 192.168.1.1. Benytter du deg av asynkron oppkopling med modem eller ISDN, vil din ISP gi deg standard (default) gateway-adresse.
I fedora 24 eller nyere må du installere: [root@nittedal /root]# yum install NetworkManager
[root@nittedal /root]# service NetworkManager status
[root@nittedal /root]# service NetworkManager start
[root@nittedal /root]# chkconfig NetworkManager on
Alt oppsett av nettverksparametere kan du gjøre fra X Windows (# nm-connection-editor &) eller fra GNOME- eller KDE-grensesnittet. Ønsker du bare å sjekke nettverksgrensesnittene, kan du prøve (# nm-connection-editor &).
Figur 22.6: Definere standard ruter fra neat
Definere domenenavn og DNS
redigerØnsker du å surfe på Internett, må maskinen din ha en måte å oversette maskinnavn til maskinadresser på. For oss mennesker er det enklere å huske navn i stedet for noen tall. Ønsker du å registrere ditt eget domenenavn (for eksempel ski.gutta.no), henvender du deg til Internic på adressen rs.internic.net. For å registrere en .no adresse, henvender du deg til NORID, se www.uninett.no. Alle maskiner på nettet snakker med en navnetjener som oversetter domenenavn (vertsnavn) til IP-adresser. Din Internett-leverandør vil gi deg navnet på én eller flere navneservere.
Du bruker kommandoen dnsdomainname til å sjekke hva systemet ditt bruker av DNS-domenenavn.
[root@nittedal /etc]# dnsdomainname
DNS-servere som du ønsker å benytte, settes opp i /etc/resolv.conf. Nedenfor har jeg et eksempel:
[root@nittedal /etc]# more resolv.conf
search c2i.net
nameserver 193.216.1.10
nameserver 193.216.69.10
[root@nittedal /etc]#
Figur 22.7: Definere DNS og domene fra neat
Kjører du NIS, kan du bruke kommandoen domainname for sjekke hva systemet ditt bruker av NIS-domenenavn.
[root@nittedal /etc]# domainname
Mer om NIS finner du også i kapittel 3, Installasjon.
Vertsnavn og aliaser
redigerViktige systemfiler på et TCP/IP-nettverk er /etc/hosts, /etc/hosts.equiv og $home/.rhosts. I filen /etc/hosts er alle andre TCP/IP-maskiner definert med en unik adresse, navn og aliasnavn. Ønsker du å snakke med en annen vertsmaskin (host), kan du bruke adressen, navnet, aliasnavnet eller komplett domenenavn.
I figuren 22.7 definerer vi vertsnavn og aliaser fra GUI-programmet neat. For de som ikke trives med et GUI er det bare manuelt å oppdatere /etc/hosts med vi-editoren.
I /etc/hosts.equiv-filen finner du en liste over hvilke maskiner som er såkalt betrodde. Denne filen fungerer bare når du bruker ekstern- kommandoer som rlogin, rcp og rsh. Dette er kommandoer som normalt bare kan brukes mellom maskiner som kjører operativsystemene Linux, Unix, VMS, Mac og Windows. I filen .rhosts, som plasseres i din hjemmekatalog, bestemmer du hvilke brukere som skal være betrodde på din konto. Filen har to kolonner. I første kolonne står maskinnavn (vertsmaskin), i neste navnet på den brukeren som kan logge seg inn uten passord.
Figur 22.8: Definere vertsnavn og aliaser fra neat
Forskjellen mellom /etc/hosts.equiv og $HOME/.rhosts er at $HOME/.rhosts er en lokal fil som tillater en bruker å koble sine forskjellige bruker-ider (en og samme bruker er definert på flere Linux-maskiner) sammen, mens /etc/hosts.equiv fungerer globalt for alle på den enkelte maskinen. Du bør være oppmerksom på at filene /etc/hosts.equiv og $HOME/.rhosts gjør at Linux-systemet ditt blir lettere å trenge inn i.
TCP/IP-konfigurasjonsfiler
redigerNøkkelfiler | Beskrivelse |
/etc/exports | filsystemeksportering (deling) via NFS |
/etc/fstab | styrer montering av filsystemer |
/etc/ftpaccess | styrer ftp-tilgangen til din ftp-tjener |
/etc/ftpgroups | definerte ftp-grupper |
/etc/ftpusers | definerte ftp-brukere |
/etc/ftphosts | definerte ftp-vertsmaskiner |
/etc/hosts | lokal mapping mellom vertsmaskinnavn og IP-adresse |
/etc/hosts.lpd | vertsmaskin-fil for ekstern skrivertilgang |
/etc/hosts.equiv | vertsmaskin-fil for ekstern-kommandoer. (Denne filen bør du helst ikke bruke!) |
/etc/nsswitch.conf | definerer TCP/IP-tjenester og plassering av nøkkelfiler |
/etc/networks | definerte nettverk (brukes i forbindelse med statistisk TCP/IP-ruting |
/etc/resolv.conf | oppsett av domenenavn og DNS-tjener |
/etc/smb.conf | oppsett av samba (filtjenerprogramvare) |
/etc/services | TCP/IP-tjenester knyttet til port- nummere |
/etc/yp | Yellow pages konfigurasjonsfil |
/etc/ypserv.conf | Yellow pages konfigurasjonsfil |
G-fast/fiber eller coax/modem-tilknytting
redigerMed Fedora Linux er det enkelt å koble seg opp til Internett via gjennom kabel ofte RJ45. Eldre modemer hadde serie port (RJ11) men har for lengst gått over til ethernet (RJ45).
De fleste bruker trådløs\kabel (RJ45) så det burde holde å sette opp ipv4\ipv6 til DHCP så burde internet\nettverk fungere. Med mindre du manuelt må sette opp drivere f.eks Killer LAN http://www.killernetworking.com/support/knowledge-base/17-linux .
Under GNOME og KDE finner du et eget konfigurasjonsverktøy for oppringing (internet-druid). Med dette verktøyet kan du sette opp bredbånd. Forskjellene mellom bredbånd og mobilt er bare chatskriptet.
Linux-navnene cua0, cua1, cua2 og cua3 er fra kjerne 2.2 i ferd med å utfases, bruk derfor ttySx-navnene. Internet-druid programmet kan du enkelt starte fra GNOME eller KDE-grensesnittet.
Figur 22.9: Endringer med neat
Har du behov for å sette spesielle kommuniksjonsparametere eller hvis det valgte oppsett ikke virker. Starter du bare opp neat direkte fra et terminalvindu ([root@digital /root]# neat). Du kan også starte neat ved å trykke på GNOME-foten i oppgavelinjen nederst på skjermen. Deretter velger du Systeminnstillinger og Nettverk (neat). Fra neat kan du fritt velge å oppdatere kontoinformasjon og modemkonfigurasjon.
Figur 22.10: Definere oppkobling mot UUNET under SuSE (YaST)
Kjører du SuSE Linux og ønsker å sette opp en Internett forbindelse starter du opp YaST. Fra YaST hovedmenyen velger du Network Devices. Her kan du gå videre å velge bredbånd (DSL). Det er bare å følge menyvalgene.
Med Fedora og SuSE vil du se at det er like enkelt å sette opp et ISDN-terminaladapter som et modem. Mer informasjon om ISDN på Linux finnes på www.linux.no og www.linuxnorge.com.
Oppkobling til Internett-leverandører
redigerNår du kobler deg opp til et nettverk for komme ut på Internett, er det en "PPP dialup connection" du bruker. Du kan bruke GNOME med RP3 eller KDE med Kppp for å sette opp en PPP-forbindelse. Når du bruker disse GUI-verktøyene, blir det i bakgrunnen automatisk satt opp en konfigurasjonsfil for PPP-grensesnittet. Du kan i prinsippet ha så mange forskjellige PPP-grensesnitt som du ønsker. Begrensningen er bare antall fysiske grensesnitt (serieporter eller kortplasser med for eksempel serieportkort, modemkort, ISDN-kort eller nettverkskort). Hvert enkelt PPP-grensesnitt har sin egen konfigurasjonsfil. Under har jeg et eksempel på ifcfg-ppp0-konfigurasjonsfil som er satt opp for modembruk:
DEVICE=ppp0
NAME=test
WVDIALSECT=test
MODEMPORT=/dev/modem
LINESPEED=115200
PAPNAME=test
USERCTL=true
ONBOOT=no
PERSIST=no
DEFROUTE=yes
PEERDNS=yes
DEMAND=no
IDLETIMEOUT=600
Hvis du ønsker større kontroll, kan du selv oppdatere denne filen med vi-editoren. Ønsker du å sette alle filer manuelt, er det viktig at TCP/IP-konfigurasjonsfilene blir satt opp riktig tilsvarende. Under har jeg laget en enkel sjekkliste.
1. Definere lokal vertsmaskin
I /etc/HOSTNAME må du definere din maskin internt
neptun.frisurf.no
2. Definere navntjener
I /etc/resolv.conf må du definere minst en navntjener
search .
nameserver 193.212.1.11
nameserver 193.212.1.10
3. I /etc/hosts må du definere en loopbackadresse og en hostsadresse
127.0.0.1 localhost
192.168.1.99. neptun.frisurf.no neptun
Kjører du ikke med en fast IP-adresse, setter du i stedet for IP-adressen (192.168.1.99 i vårt eksempel) 0.0.0.0.
4. Du må manuelt i /etc/ppp/pap-secrets sette opp ditt brukernavn og passord for PAP-innlogging.
5. Du må også lage et oppkoblingsscript for modemet: /etc/ppp/chatscript. Under har vi et eksempel med tilknytning mot Telenor Frisurf (www.frisurf.no).
TIMEOUT 5
"" ATZ
OK ATDT81545500
ABORT "NO DIALTONE"
ABORT BUSY
ABORT "NO CARRIER"
ABORT DELAYED
ABORT WAITING
TIMEOUT 60
CONNECT ""
6. Hvordan pppd skal fungere når det kobler seg opp. Defineres i filen /etc/ppp/options. Eksemplet er tatt fra Telenor Frisurf.
-detach
crtscts
modem
defaultroute
user ditt_brukernavn
/dev/modem 57600
Du kan koble deg til manuelt ved å skrive kommandoen:
[david@nittedal david]$ exec pppd connect 'chat -v -f /etc/ppp/chatscript'
Kvaleberg har laget en beskrivelse av hvordan du kobler deg opp mot de forskjellige norske tilbyderne:
http://www.kvaleberg.com/no-isp.html
ftp:://ftp.sol.no/user/egilk/no-isp.txt
http://www.kvaleberg.com/no-linux.html
David S.Lawyers HOW-TO for oppkobling med Linux gir deg også god hjelp.
Konfigurere rutere og unødvendig trafikk
redigerHar du flere PCer i huset eller et lite bedriftsnettverk, er den rimeligste løsningen en Coax\fiber bredbåndsruter er ikke noe annet enn en tradisjonell ruter med et fåtall antall nettverksporter (RJ45) eller SFP+. Du kan fint lage din egen ruterløsning selv. Det eneste du trenger er en gammel PC med to eller flere nettverkskort. Har du enkel maskinvare er det ikke nødvendig å installere en komplett Red Hat Linux.
En populær løsning er Smoothwall-distribusjonen som gir deg ruterfunksjonalitet, DNS proxy, WWW proxy (Squid), VPN og PPPoE. Linux-kjernen pluss alle tjenestene tar til sammen ca. 204 MB. Komplett ISO-image kan du laste ned fra Smoothwall (http://www.smoothwall.org/download/).
En annen løsning er å sette pfsense (https://www.pfsense.org/download/).
Med PPPoE får man samme funksjonalitet som NAT. Med NAT (Network Address Translation) har du muligheten til å ha ditt eget private nettverk med egne IP-adresser. Vær oppmerksom på at bare følgende IP-adresser er gyldige å bruke i forbindelse med NAT:
Adresseklasse | Intervall |
A | 10.0.0.0/8 |
B | 172.16.0.0/12 |
C | 192.168.0.0/16 |
Grunnen til at du kan benytte disse IP-adressene uten å lage kaos for alle andre på Internett, er fordi alle rutere er konfigurert slik at de ikke sender IP-pakker fra disse adresseområdene. NAT gir deg muligheten til å mappe flere TCP/IP-verter med forskjellige IP-adresser til en gyldig IP-adresse. Har du smb-trafikk (Windows PCer eller Linux SAMBA-tjener), bør du stoppe følgende trafikk ut fra din ruter:
Protokoll | Portnummer |
udp | 137 |
udp | 138 |
udp | 139 |
tcp | 139 |
tcp | 42 |
Mesteparten av denne trafikken er netbios-ns og netbios-dgm. Setter du ikke på filtreringen, kan du risikere at ruteren aldri går ned, noe som kan bli dyrt hvis du kjører over ISDN.
Oppstartsskriptene
redigerI tabellen nedenfor finner du de viktigste oppstartsskriptene for TCP/IP-kommunikasjonstjenestene på en maskin som kjører Fedora Linux. Du finner tilsvarende under SuSE.
Viktige nettverksprosesser | Beskrivelse med konfigurasjon |
/etc/rc.d/rc2.d/S10network [start] [stop] | Kjører opp og ned LINUX' nettverkskort. Konfigurasjonsfiler: /etc/sysconfig/files=network..pcmica /proc/sys/net/ip4/files /etc/hosts,/etc/networks, etc |
/etc/rc.d/rc2.d/K50inet [start] [stop] | Kjører opp og ned TCP/IP. Konfigurasjonsfiler: /etc/sysconfig/network /etc/inetd.conf /etc/hosts,/etc/networks, etc |
/etc/rc.d/rc2.d/K50snmp [start] [stop] | Kjører opp og ned TCP/IP snmp. Konfigurasjonsfiler: /etc/snmp/snmpd.local.conf /etc/snmp/snmpd.conf, /usr/share/snmp/snmp.local.conf, /usr/share/snmp/snmp.conf, /etc/sysconfig/network, /etc/inetd.conf, /etc/hosts,/etc/networks, etc |
/etc/rc.d/rc2.d/K55routed [start] [stop] | Kjører opp og ned TCP/IP RIP. Konfigurasjonsfiler: /etc/sysconfig/routed, /etc/gateway, /etc/sysconfig/network, /etc/inetd.conf, /etc/hosts,/etc/networks, etc |
/etc/rc.d/rc2.d/K85nfsfs [start] [stop] | Kjører opp og ned NFS montering. Konfigurasjonsfiler: /etc/fstab, /etc/exports (remote hosts), /etc/sysconfig/network, /etc/inetd.conf, /etc/hosts,/etc/networks, etc |
/etc/rc.d/rc2.d/S65dhcp [start] [stop] | Kjører opp og ned dhcp. Konfigurasjonsfiler: /etc/sysconfig/network, /etc/dhcpd.conf |
/etc/rc.d/rc2.d/K15http [start] [stop] | Kjører opp og ned Apache WWB-tjener. Konfigurasjonsfiler: /etc/httpd/conf/access.conf, /etc/httpd/conf/httpd.conf, /etc/httpd/conf/srm.conf |
/etc/rc.d/rc2.d/K20nfs [start] [stop] | Kjører opp og ned nfs. Konfigurasjonsfiler: /etc/sysconfig/network, /etc/exports |
/etc/rc.d/rc2.d/K20rusersd [start] [stop] | Kjører opp og ned eksterne brukere. Konfigurasjonsfiler: /etc/sysconfig/network, /etc/hosts* |
/etc/rc.d/rc2.d/K20rwall [start] [stop] | Kjører opp og ned rwall. Konfigurasjonsfiler: /etc/sysconfig/network, /etc/hosts* |
/etc/rc.d/rc2.d/K35smb [start] [stop] | Kjører opp og ned smb SAMBA. Konfigurasjonsfiler: /etc/sysconfig/network, /etc/hosts*, /etc/smb.conf |
/etc/rc.d/rc2.d/K45named [start] [stop] | Kjører opp og ned DNS-tjener. Konfigurasjonsfiler: /etc/sysconfig/network, /etc/hosts*, /etc/named.conf |
Alle skriptene er linker til /etc/rc.d/init.d. Mange av de samme skriptene vil du også finne linket til kjørenivå 3 dvs. /etc/rc.d/rc3.d. R*demonene er ofte ansett som sikkerhetsproblemer og kjøres ofte ikke. Routed skal vanligvis ikke kjøres.
Sikkerhet
redigerEr du på Internett, bør du begrense tilgangen til maskinen din. Oppdater /etc/hosts.deny med ALL: ALL. Her stopper du alt, inkludert deg selv. Din egen tilgang til maskinen får du ved å oppdatere /etc/hosts.allow med loopback-adressen med ALL: 127.0.0.1. Du bør også definere loopback-adressen og nettverket ditt i /etc/networks-filen, for eksempel:
[root@nittedal /root]# more /etc/networks
loopback 127.0.0.0
localnet 207.117.119.0
Du bør også sette opp ditt eksterne e-postdomene i /etc/mailname, for eksempel:
[root@nittedal /root]# more /etc/mailname
c2i.net
Hvis du vil tillate en viss ekstern tilgang til maskinen, kan du sjekke ut Tommy Larsens hjemmeside. Der finner du forskjellige sikkerhetstiltak:
Bruk av nettleser
redigerHar du lav linjekapasitet, kan Lynx være et alternativ som browser. Lynx følger med Red Hat. De fleste ønsker å kjøre X Windows og vil derfor ha grafiske nettsurfeprogrammer. De vanligste alternativene er da Mozilla, Nestcape, Opera (norsk produkt), Chimera og Mosaic.
Mozilla firefox:
https://www.mozilla.org/nn-NO/firefox/products/
Chrome: https://www.google.com/chrome/browser/desktop/index.html
Opera:
Figur 22.11: Eksempel på bruk av nettleseren Mozilla firefox.
Kontakt – ping
redigerEr du koblet opp i et TCP/IP-nettverk, kan du sjekke om du har kontakt med andre aktive maskiner med kommandoen ping. Programmet ping sender en datapakke til en spesifisert vertsmaskin (vertsmaskin). Oppnås det kontakt med maskinen, blir datapakken sendt tilbake. Når du bruker ping, er det ICMP (Internet Control Message Protocol)-pakker som sendes.
Kommandoen ping - | kontakt/grensesnittsjekk |
Kommando: | ping [-c antall] [-i intervall] [-s pakkestørrelse] vertsmaskin |
Opsjoner: | Se også Linux-man-sidene. |
Funksjon: | Sjekker om du har kontakt med ditt eget grensesnitt (nettverkskort, serieport) eller spesifisert vertsmaskin på nettverket |
-c antall | Stopper etter antall pakker (Hvis du ikke spesifiser antall pakker, fortsetter ping å sende pakker.) |
-i intervall | Venter i antall sekunder (sek) før den sender en ny pakke |
-s pakkestørrelse | Her spesifiserer du antall bytes som skal sendes. 56 bytes er standard som i praksis er 64 byte ICMP data når man tar hensyn til 8 bytes med ICMP header data i hver pakke. |
vertsmaskin | Maskinnavnet er navnet på den maskinen du ønsker å snakke med. Du kan bruke vertsmaskinnavn, komplett domenenavn eller IP-adresse. |
Eksempler:
[david@nittedal david]$ ping ftp.c2i.no
Her prøver jeg å få kontakt med maskinen ftp.c2i.no.
[david@nittedal david]$ ping -c 4 -i 2 207.117.119.9
PING 207.117.119.9 (207.117.119.9): 56 data bytes
64 bytes from 207.117.119.9: icmp_seq=0 ttl=64 time=2.7 ms
64 bytes from 207.117.119.9: icmp_seq=1 ttl=64 time=2.6 ms
64 bytes from 207.117.119.9: icmp_seq=2 ttl=64 time=2.6 ms
64 bytes from 207.117.119.9: icmp_seq=3 ttl=64 time=2.6 ms
--- 207.117.119.9 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 2.6/2.6/2.7 ms
[david@nittedal david]$
Her prøver jeg å få kontakt med maskinen som har IP-adresse 207.117.119.9. Jeg bruker opsjonen -s, slik at jeg samtidig får en statistikk over pakkene som blir sendt.
Andre systemfiler: /etc/hosts, /etc/hosts.equiv og $home/.rhosts
Terminalemulering – telnet
redigerTelnet er en brukerapplikasjon som gjør det mulig å koble seg til en annen maskin på nettverket. Det betyr at en hvilken som helst terminal, vt52, vt100, vt220, wyse60, 3270 osv., kan kobles til en nettvert. Ønsker du å arbeide på en annen maskin via terminalemulering, bruker du telnet. Du skriver bare telnet og navnet på maskinen du vil koble deg til. Når forbindelsen er oppnådd, virker skjermen som en terminal mot den andre maskinen. Du kan også kjøre terminalemulering mot maskiner som ikke kjører operativsystemet Linux.
Kommandoen telnet | terminalemulering |
Kommando: | telnet [vertsmaskin] [port] |
Funksjon: | Setter opp terminalforbindelse mot en spesifisert maskin |
Funksjon: | Sjekker om du har kontakt med ditt eget grensesnitt (nettverkskort, serieport) eller spesifisert vertsmaskin på nettverket |
Opsjoner: | Se også Linux-man-sidene. |
vertsmaskin | Vertsmaskin er navnet på den maskinen du ønsker å snakke med. Du kan bruke hostnavn, komplett domenenavn eller IP-adresse. |
port | Her kan du bestemme hvilket portnummer du ønsker å bruke i forbindelse med din telnet- oppkobling. Standardporten er 23. Portnummer- oversikt finner du i filen /etc/services. |
Det er også mulig å bare skrive telnet. Du får da en ny ledetekst (telnet>). Fra denne ledeteksten kan du gi forskjellige kommandoer, for eksempel:
telnet> help
Her får du en komplett oversikt over hvilke kommandoer som finnes.
telnet> open Tetra
Kobler deg opp til maskinen som er spesifisert med maskinnavnet.
telnet> close
Avslutter en telnetøkt.
telnet> quit
Avslutter telnetprogrammet.
Eksempler:
[david@nittedal david]$ telnet davelin
Trying 207.117.119.9...
Connected to davelin.c2i.net.
Escape character is '^]'.
Fedora Core release 2 (Tettnang)
Kernel 2.6.5-1.358 on an i686
login:
Starter terminalemulering mot maskinen davelin. Her logger du deg inn på den nye maskinen med brukernavn og eventuelt passord.
[david@nittedal david]$ telnet ftp.c2i.net 25
Telnetprogrammet er også nyttig å bruke hvis andre TCP/IP-tjenester skal sjekkes, for eksempel smtp som er portnummer 25. Virker ikke telnet mot ekstern vertsmaskin bør du sjekke telnet-tjenerprosessen. Den sjekkes ved å kjøre
[root@nittedal /root]# netstat -nltp eller [root@nittedal /root]# netstat -a
Nyttig kommando er også:
[root@nittedal /root]# netstat -antp | grep 25
(sjekk port 23 som er telnet).
Se også: rlogin
Andre systemfiler: /etc/hosts, /etc/hosts.equiv og $home/.rhosts
Filoverføring vertsmaskin til vertsmaskin – ftp
redigerDen mest brukte metoden for overføring av data på et TCP/IP-nettverk, er via FTP (File Transfer Protocol). Programmet ftp brukes for å overføre filene mellom forskjellige maskiner (programmet ncftp er enklere å bruke og kulere). Programmet ftp bruker protokollen FTP. Du finner ftp-programmet på de fleste datamaskiner uansett hva slags operativsystem som brukes. Ftp har støtte for forskjellige overføringsformater, ASCII-, EBCDIC- og binær-filer.
Kommandoen ftp | filoverføring mellom to maskiner |
Kommando: | ftp [-d] [-i] [-n] [-v][vertsmaskin] |
Funksjon: | Filoverføring mellom to maskiner som er tilknyttet via TCP/IP |
Opsjoner: | Se også Linux-man-sidene. |
-d | Slår på ftp-analysemodus |
-i | Slår av interaktive spørsmål ved filoverføring (y/n) |
-n | Forhindrer autologging ut fra loginnavnet ditt |
-v | Viser deg alle meldinger |
vertsmaskin | Vertsmaskin er navnet på den maskinen du ønsker å snakke med. Du kan bruke hostnavn, komplett domenenavn eller IP-adresse |
Ftp er et interaktivt program. Du gir bare kommandoen ftp, så får du en ny ledetekst (ftp>).
Eksempler:
[david@nittedal david]$ rsh linuxadm ps -ef
Tar en prosesstatus på Linux-maskinen linuxadm.
[david@nittedal david]$ rsh linuxadm stat > lokal.fil
Sender resultatet av ekstern-kommandoen stat til den lokale filen lokal.fil.
[david@nittedal david]$ rsh linuxadm 'stat > remote.fil
Sender resultatet av ekstern-kommandoen stat til remote.fil på ekstern vertsmaskin.
[david@nittedal david]$ rsh linuxadm lpr -P hpskriver2 < /etc/hosts
Sender utskrift av filen /etc/hosts til en skriver som er styrt av spoolingsystemet på Linux-maskinen linuxadm.
[root@nittedal /home/data]# tar cf - . | rsh linuxadm "(cd/home; tar xvpf -)"
Her flytter jeg meg til katalogen /home på maskinen linuxadm. Data blir kopiert (ekstrahert) fra maskinen nittedal i katalogen /home/data til maskinen linuxadm i katalogen /home.
[root@nittedal /home/data]# rsh global1 dd if=/dev/rmt0 bs=20b | tar xvpBf
Her leser jeg fra bånd-enheten på maskinen global1. Dataene blir kopiert (ekstrahert) fra maskinen global1s bånd og pakket ut i katalogen /home/data til maskinen nittedal.
Se også : rlogin, rcp
Andre systemfiler : /etc/hosts, /etc/hosts.equiv og $home/.rhosts
Kopiere eksternt – rcp
redigerDen enkleste måten å kopiere filer mellom to Linux-maskiner som er knyttet sammen via TCP/IP på, er gjennom rcp. Denne kommandoen virker på samme måte som Linux-kommandoen cp, men nå oppgir du i tillegg navnet på Linux-maskinene. For at du skal kunne utføre en rcp-kommando, må filene /etc/hosts.equiv og/eller $home/.rhosts være oppdatert.
Kommandoen rcp | kopiere eksternt |
Kommando: | rcp [-p] [fra_fil] [til_fil]
rcp [-p] -r [fra_filer] [til_katalog] |
Funksjon: | Filoverføring mellom to Linux-maskiner som er tilknyttet via TCP/IP |
Opsjoner: | Se også Linux-man-sidene. |
-p | Bevarer originalbitene på tidspunktet for fil- endringer (klokke, dato) |
-r | Kopierer også underkatalogene |
fra_fil | Filen du skal kopiere fra |
til_fil | Filen du skal kopiere til |
fra_filer | Filer du skal kopiere fra |
til_katalog | Katalogen du skal kopiere til |
Der det er nødvendig, må du inkludere vertsmaskinnavnet før filnavnet, for eksempel vertsmaskin:til_fil, rbruker@vertsmaskin:path] (fil som er plassert relativt til hjemmekatalogen til rbruker på vertsmaskinen), vertsmaskin:/home/david, vertsmaskin: ~søkebane (plassert relativt til din hjemmekatalog). Vertsmaskinnavnet finner du i din lokale /etc/hosts-fil.
Eksempler:
[david@nittedal david]$ rcp linuxadm:/home/david/brev
Her kopieres filen brev fra maskinen linuxadmin til den maskinen og katalogen hvor du utfører kommandoen fra.
[david@nittedal david]$ rcp tilbud linuxadm:/home/david/tilbud
Her kopieres filen tilbud fra den lokale maskinen til maskinen linuxadm.
[david@nittedal david]$ rcp applix.ag linserv.linux.no:~foredrag/linux.ag
Her kopierer jeg applix-filen applix.ag fra min aktive katalog (lokal maskin) til katalogen foredrag (som er en underkatalog i min hjemmekatalog) på ekstern-maskinen linuxserv.linux.no. Filen får navnet linux.ag på ekstern-maskinen.
Se også :rlogin, rsh
Andre systemfiler :/etc/hosts, /etc/hosts.equiv og
$home/.rhosts
Ekstern innlogging – rlogin
redigerBruker du rlogin i stedet for telnet, kan du få en del fordeler. Kravet er at følgende er definert:
- Du er definert som bruker på den eksterne maskinen.
- Systemfilene /etc/hosts.equiv og/eller $home/.rhosts er oppdatert på ekstern maskin.
Du har da muligheten til å logge deg inn på ekstern vertsmaskin (remote vertsmaskin) uten å spesifisere brukernavn og passord. Er du ikke definert i filene /etc/hosts.equiv og $home/.rhosts, blir du spurt om passord.
Kommandoen rlogin | ekstern terminalemulering |
Kommando: | rlogin [-8][-etegn] [-l loginnavn] vertsmaskin |
Funksjon: | Setter opp ekstern terminalforbindelse mot en spesifisert maskin. Maskinnavnet er navnet på den maskinen (vertsmaskin) du ønsker å snakke med. |
Opsjoner: | Se også Linux-man-sidene. |
-etegn | Setter escape-tegnet til tegn. |
-8/-7 | Tillater 8/7 bits karakter, unntaket er escape-tegnene. 8 bit er standard. |
-l loginnavn | Her setter du loginnavnet på ekstern-systemet. |
vertsmaskin | Vertsmaskin er navnet på den maskinen du ønsker å snakke med. Du kan bruke vertsmaskinnavn, komplett domenenavn eller IP-adresse. |
Eksempler:
[david@nittedal david]$ rlogin -8 -eg linuxadm
Starter en terminalforbindelse mot maskinen linuxadm. Her har jeg 8 bits støtte. I tillegg er escape-tegnet satt til g.
Se også :telnet, rsh, rcp
Andre systemfiler :/etc/hosts, /etc/hosts.equiv og $home/.rhosts
Hvilken vei? – traceroute
redigerMed kommandoen traceroute har du mulighet til å finne veien som dine TCP/IP-pakker bruker for å nå sine tjenester. Hver gang pakkene dine passerer en ruter, blir de noe forsinket. Traceroute gir deg en oversikt over hvilke rutere du passerer. Ved hjelp av UDP og ICMP (Internet Control Message Protocol) klarer traceroute-programmet å finne veien TCP/IP-pakkene bruker.
Kommandoen traceroute | hvilken vei? |
Kommando: | traceroute[-m maks] [-q pakker][-w tid] vertsmaskin |
Funksjon: | Finner veien til din TCP/IP-trafikk. |
Opsjoner: | Se også Linux-man-sidene. |
-m maks | Her setter du maksimalt antall hopp (1 hopp er en ruterpassering) som du tillater for å rekke ekstern vertsmaskin. Standard er 30. |
-q pakker | Her kan du sette antall pakker som skal sendes på hvert hopp. |
-w tid | Her kan du sette hvor lenge du skal vente på en analyse. |
vertsmaskin | Vertsmaskin er navnet på den maskinen du ønsker å snakke med. Du kan bruke vertsmaskinnavn, komplett domenenavn eller IP-adresse. |
Eksempel:
[root@nittedal /root]# traceroute -m 20 ftp.powertech.no
Her ser du hvor mange hopp som kreves for å nå ftp.powertech.no fra der kommandoen traceroute utføres. Hver linje representer et hopp. Tiden i millisekunder er tiden det tar å komme fram fra der du er til det hoppet som vises.
Her ser du hvor mange hopp som kreves for å nå mine hjemmesider fra der jeg utfører kommandoen traceroute. Hver linje representer et hopp. Tidene i millisekunder er tiden det tar å passere de enkelte ruter-grensesnittene.
Se også : rlogin, rcp
Andre systemfiler : /etc/hosts, DNS
TCP/IP-trafikk – tcpdump
redigerKommandoen tcpdump gir informasjon om trafikken på nettet. Den er nyttig å bruke ved feil eller analyser av trafikkmønstre.
Kommandoen tcpdump | TCP/IP-trafikk |
Kommando: | tcpdump [-a] [-c antall] [-i grensesnitt] [-r fil] [-w fil] [argument] |
Funksjon: | Gir informasjon om TCP/IP-trafikken på nettet |
Argument: | Streng |
Opsjoner: | Se også Linux-man-sidene. |
-a | Forsøker å konvertere nettverk og broadcast- adresser til navn |
-c antall | Avslutter etter å ha mottatt antall TCP/IP-pakker |
-i grensesnitt | Lytter på grensesnitt. Det første ethernett-kortet i en maskin er for eksempel grensesnitt eth0 |
-r fil | Leser informasjon fra fil i stedet for til skjerm |
-w fil | Skriver informasjon til fil i stedet for til skjerm |
Ovenfor er bare noen av de viktigste opsjonene gjengitt; det finnes mange flere. Bruk kommandoen man tcpdump for mer informasjon.
[root@nittedal /root]# tcpdump -i tr0
Her får jeg informasjon om nettverkstrafikk på det første token ring- kortet.
[root@nittedal /root]# tcpdump -a -i eth0
Her får jeg informasjon om nettverkstrafikken på det første ethernett-kortet. Alle nettverk- og broadcast-adresser blir konvertert til navn.
Tcpdump har flere bruksområder for forskjellige typer Linux-brukere. Hvis du akkurat har begynt å bruke Linux, så kan tcpdump være et greit verktøy å bruke i forbindelse med å koble sammen et par maskiner i et nettverk.
Figur 22.13: Eksempel på bruk av programmet tcpdump
For systemadministrator kan tcpdump være et verktøy for å finne ut hvorfor nettverksytelsen har sunket i det siste. Tcpdump kan da for eksempel vise at en maskin sender ut en mengde kall på nettet på grunn av en feil.
Bruk av OpenSSH (Secure SHell)
redigerBruker du OpenSSH-verktøyene, får du bedre sikkerhet på din Linux-maskin. All kommunikasjon som bruker OpenSSH blir kryptert. OpenSSH er en fri open source-implementasjon av SSH-protokollen (Secure SHell). Den bytter ut telnet, ftp, rlogin, rsh og rcp med sikker kryptert nettverksforbindelse. OpenSSH støtter versjonene 1.3, 1.5 og 2 av SSH-protokollen. Fra versjon 2.9 av OpenSSH er standardprotokollen versjon 2 som bruker RSA-nøkler som standard. På adressen http://www.openssh.com finner du SSHs FAQ-side med bug-rapporter, post-lister og med beskrivelse av alle sikkerhetsegenskapene rundt SSH. På adressen http://www.freessh.org finner du SSH-klientprogramvare for forskjellige operativsystemplattformer. Mer om TCP/IP og sikkerhet finner du i boken "LINUX tjener- og utviklingsmiljø".
Andre TCP/IP-programmer
redigerHer har jeg en liste over nyttige tegnbaserte og X Windows-baserte TCP/IP-programmer.
Kommando | Funksjon |
ncftp | Finnes både som tegnbasert og X- basert ftp-klient (ncftp er mer avansert og har flere muligheter enn den tradisjonelle ftp-klienten). |
whois [-h vertsmaskin] navn | Finner DNS-informasjon. Prøv whois help. |
nslookup [opsjon] [vertsmaskin] | Gir deg informasjon om Internett DNS-tjener (navntjener). |
snmpwalk [argumenter] [Objekt-ID] | Kommuniserer med nettverksgrensesnittene via SNMP |
more GET. | Greit verktøy for å analysere nettet for hackere. |
rwho [-a] | Finner ut hvem som er innlogget på lokal maskin over nettet. |
wget | Kopieringsprogram spesielt for WEB. Wget kan også brukes i stedet for ftp, for eksempel wget http://ftp.powertech.no/ |
Firefox Nettleser (browser) | Nettleser (browser) , epost + mye annet Firefox |
>wget -q -O - http://go.ximian.com | sh< |
Opera | Nettleser |
x3270 | X-basert 3270-emulator (emulering mot IBM stormaskin). |
xgopher | X-basert gopher (menybasert søkesystem). |
Oppgaver til kapittel 22
redigerOppgave 22.1
Hva betyr TCP/IP?
Oppgave 22.2
Hva er definert i /etc/hosts-filen?
Oppgave 22.3
I hvilken fil definerer du dine DNS-tjenere?
Oppgave 22.4
Hvilken enkel kommando kan du bruke for å sjekke at TCP/IP virker tilfredsstillende på din maskin, og at du kommer ut på nettet?
Oppgave 22.5
Hvilke kommandoer krever at filene /etc/hosts.equiv og/eller $home/.rhosts er oppdatert for å kunne fungere tilfredsstillende?
Oppgave 22.6
Nevn to metoder for å kopiere filer fra en maskin til en annen.