Gjøre nettverket ditt feilsøkingsvennlig

Innholdsfortegnelse
Skal vi så slippe alt gjennom?
Den enkle måten: Dette stopper her
Slippe ping gjennom
Hjelpe traceroute
Path MTU discovery

Hvordan du gjør nettverket ditt feilsøkingsvennlig, er potensielt et svært omfattende emne. Som regel henger feilsøkingsmulighetene i TCP/IP-nettverk tett sammen med hvordan du behandler den internett-protokollen som ble laget spesifikt for feilsøkingsformål, Internet Control Message Protocol, eller ICMP som er den vanligste forkortelsen.

ICMP er protokollen for å sende og motta kontrollmeldinger mellom maskiner og gatewayer, hovedsakelig for å melde tilbake til avsender om eventuelle uvanlige eller vanskelige forhold på veien frem til maskinen det er ønske om å kommunisere med.

Det er normalt at en hel del ICMP-aktivitet foregår i bakgrunnen mens du surfer på web, leser epost eller overfører filer. Rutere (du er klar over at du holder på å lage en, ikke sant?) bruker ICMP til å forandle om pakkestørrelser og andre overføringsparametre i en prosess som ofte omtales som path MTU discovery.

Det kan være du har hørt administratorer snakke om ICMP som enten 'pur ondskap', eller hvis de har noe dypere forståelse, 'et nødvendig onde'. Bakgrunnen for disse holdningene er rent historiske. Grunnen finner vi for noen år tilbake, da det ble oppdaget av flere operativsystemer hadde kode i nettverksstakkene sine som kunne få en sårbar maskin til å stoppe opp eller begynne å gjøre merkelige ting etter at maskinen hadde mottatt en tilstrekkelig stor ICMP-forespørsel.

Et av firmaene som ble hardt rammet av dette var Microsoft, og du kan finne ganske mye materiale om disse feilene ved å søke på 'ping of death' i et passende søkesystem. Alt dette hendte i andre halvdel av 1990-årene, og alle moderne operativsystemer, i alle fall de vi kan lese, har fått nettverkskoden sin grundig renovert siden den gang. Det er i alle fall det vi har blitt fortalt.

En av måtene man opprinnelig omgikk problemet på, var å blokkere for enten all ICMP-trafikk, eller i det minste ICMP echo, som er det kommandoen ping bruker. I dag har disse regelsettene eksistert i rundt ti år, og personene som laget dem kan fortsatt være skvetne.

Skal vi så slippe alt gjennom?

Det naturlige spørsmålet blir da, hvis ICMP er en slik god og nyttig ting, burde vi ikke la den slippe uhindret igjennom hele tiden? Svaret blir, 'det kommer an på'.

Hvis diagnosetrafikk får passere uhindret, vil det helt klart føre til at eventuell feilsøking går lettere. Samtidig vil det også gjøre det relativt enkelt for andre å hente ut informasjon om nettverket ditt. Det betyr at en regel av typen

pass inet proto icmp from any to any

gjerne ikke er optimal hvis du ikke ønsker å la omverdenen få fullt innsyn i hvordan nettverket ditt er satt sammen internt. Det bør også sies at i noe ICMP-trafikk helt harmløst følger med som følge av 'keep state'-reglene.