Outi Marttila
omarttil@cc.hut.fi

IP MASQUERADING


IP Masquerading mahdollistaa ilman virallista IP-numeroa olevien koneiden pääsyn Internetiin, kun koneet on yhdistetty esim. Linux-koneeseen, jolla on rekisteröity IP-numero. Koneet voivat olla joko samassa lähiverkossa IP-hostin kanssa tai yhteys siihen voidaan muodostaa modeemilla [1]. Virallinen host toimii reitittimenä muiden koneiden ja Internetin välillä niin, että muut koneet ovat piilotettuina hostin taakse ja kaikki liikenne näkyy ulospäin tulevan hostilta. IP Masquerading tuki löytyy ainakin Linuxista ja Windows95/NT:lle on saatavilla IP Masqueradingin mahdollistava ohjelma. Clienttina voi olla mikä tahansa kone/käyttöjärjestelmä, joka tukee TCP/IP:tä, SLIP:ä tai PPP:tä. Tässä kirjoituksessa tarkastellaan lähinnä IP Masqueradingia Linux-ympäristössä, mutta systeemin perusidea on sama ympäristöstä riippumatta.

KUINKA IP MASQUERADING TOIMII

IP Masqueradingin toimintaa havainnollistaa yksinkertainen esimerkki.

Kuvan Linux-kone ajaa Masqueradingia ja on kytketty Internetiin IP-numerolla 111.222.333.444 lähiverkon avulla. Toisella koneella, jonka siis ei tarvitse olla Linux-kone, ei ole omaa IP-numeroa. RFC 1597 määrittelee IANA:n (The Internet Assigned Numbers Authority) yksityisille verkoille varaaman osoiteavaruuden
                  10.0.0.0    -   10.255.255.255 
                  172.16.0.0  -   172.31.255.255 
                  192.168.0.0 -   192.168.255.255 
Tästä osoiteavaruudesta annetaan esim. osoite 192.168.1.2 koneelle, jolla ei omaa osoitetta ole. Koneen gatewayksi määritellään Linux-kone osoitteella 192.168.1.1. Kun Linux-kone saa paketin toiselta koneelta, se antaa sille uuden lähdeportin numeron, asettaa oman IP-numeronsa otsikkoon säästäen samalla originaalit tiedot ja lähettää paketin eteenpäin. Kun paketti saapuu muualta Internetistä Linux-koneeseen, jos porttinumero on sama kuin aikaisemmin annettu, otetaan alkuperäiset osoitetidot ja lisätään ne paketin otsikkoon ja lähetetään paketti toiselle koneelle [2]. Paketit lähettänyt kone Internetissä ei mitenkään huomaa Masqueradingin olemassaoloa. Jotta IP Masquerading toimisi Linuxissa, täytyy Linuxin kernel olla käännetty tietyilla optioilla. Lisäksi tarvitaan ladattavat kernel-modulit sekä ipfwadm-ohjelma, jolla IP Masqueradingille kerrotaan ne protokollat (TCP, UDP ja ICMP) ja portit joita maskataan.

TUETUT OHJELMAT JA LUOTETTAVUUS

Koska IP Masquerading kätkee sitä kautta Internetiin kytketyt koneet, ei näihin koneisiin luonnollisesti voi ulkopuolelta ottaa yhteyttä. Koneissa voidaan ajaa kuitenkin useimpia sovellusohjelmia täysin normaalisti. Verkkosurffailu telnetin ja http:n kanssa onnistuu mainiosti, vaikka kätkettyjä koneita olisi kerrallaan useampiakin aktiivisena. Periaatteessa kaikki TCP:tä tai UDP:tä käyttävät sovellusohjelmat toimivat Masqueradingin kanssa. ICMP-viestejä ei voida välittää, koska ICMP ei käytä portteja. Näin ollen esim. ping ei toimi. Tosin tällä hetkellä jo Linuxin IP Masqueradingiin on lisätty tuki ICMP-viesteille. Koska Linuxin IP Masquerading tarvitsee toimiakseen myös firewallin pystyttämisen, on IP Masquerading yhtä turvallinen kuin koneeseen konfiguroitu firewall.

NYKYTILANNE JA KEHITYSNÄKYMÄT

IP Masquerading on edelleen voimakkaassa kehitys- ja kokeiluvaiheessa ja yhä useammat ohjelmat toimivat sen kautta. IP Masqueradingin käyttö on nopeasti yleistynyt sekä yksityishenkilöiden että yritysten keskuudessa. Systeemi on todettu toimivaksi useissa käyttöjärjestelmissä ja ympäristöissä (Unix, Windows 95, Windows NT, Windows for Workgroup, OS/2, MacOS MacTCP:n kanssa, Mac Open Transport, DOS NCSA Telnet paketilla, VAX, Alpha Linuxin kanssa ja jopa Amiga AmiTCP:n kanssa). IP Masquerading tarjoaa ratkaisun tilanteeseen, jossa IP-osoitteita ei ole mahdollista saada/niistä ei haluta maksaa, mutta koneita lähiverkossa on useampia.

VIITTEET

MUITA LÄHTEITÄ