Nykyinen versio |
Oma tekstisi |
Rivi 1: |
Rivi 1: |
| '''NAT''' eli '''Network Address Translation''' on 1996/97 kehitetty tekniikka, jonka tarkoituksena oli vähentää [[IPv4]]-osoitteiden kulutusta. Ennen sen kehittämistä jokaisella Internetiin kytketyllä koneella oli oltava oma [[wikipedia:fi:IP-osoite|IP-osoite]].
| | HYVÄSTI NUSSIJAT |
| | |
| NATin avulla [[wikipedia:fi:reititin|reititin]] voi saada kaikki sen takaa sisäverkosta ulospäin Internetiin otetut yhteydet näkymään reitittimen omalla IP-osoitteella, jolloin sisäverkon koneilla voi olla mitkä tahansa lähiverkon IP-osoitteet niiden vaikuttamatta Internet-liikenteeseen.
| |
| | |
| Kun paketti NATatun verkon sisäpuolelta tulee Internetiin päin olevaan reitittimeen, vaihtaa reititin siihen oman julkisen IP-osoitteensa sisäverkon koneen IP-osoitteen tilalle. Vastaavasti reititin vaihtaa verkkonsa sisäpuolelle tulevien pakettien osoitteet julkisesta koneiden yksityisiin. Näin sisäverkon ulkopuolella olevat koneet eivät voi tietää pakettien tulevan useammalta kuin yhdeltä koneelta.
| |
| | |
| == NATin ongelma ==
| |
| Ongelma NATin kanssa on, että reitittimellä usein on vain yksi tai muutama ulkoinen osoite, jolloin sisäverkon koneita ei voi suoraan (one-to-one NAT) yhdistää ulkoverkon ip-osoitteisiin. Jos sisäverkon koneen pitää kuunnella verkkoa, reitittimelle on kerrottava mihin sisäverkon koneeseen tiettyyn reitittimen ip-osoitteeseen ja tcp/udp-porttiin ulkoa tuleva yhteys on ohjattava.
| |
| | |
| Käytännössä sisäverkon koneisiin ei voi ottaa yhteyttä ulkoa, ellei erikseen määrätä tiettyä konetta kohteeksi, joko oletusarvoisesti tai palvelukohtaisesti. Etenkin tiettyjen palvelujen kanssa tämä on ongelmallista: aktiivitilassa [[FTP]]:n, [[IRC]]:n tiedonsiirtoprotokolla [[DCC]]:n tai [[VoIP]] (SIP, H323) -protokollien käyttö on usein vaikeaa tai mahdotonta verkon sisäpuolelta. Tällöin on joko käytettävä erillisiä [[ydin|ytimen]] [[moduuli|moduuleita]] ftp:lle ja irc/dcc:lle (ip_nat_irc ja ip_nat_ftp) reitittimessä tai FTP:n ollessa kyseessä tyydyttävä sen passiivitilaan.
| |
| | |
| == Paikalliset IP-osoitteet ==
| |
| NATatun sisäverkon koneiden IP-osoitteiksi ei voi valita aivan mitä tahansa. Jos esimerkiksi yhden koneen osoitteeksi asetettaisiin [http://62.220.250.162/ 62.220.250.162], mikä on [http://www.flug.fi/ www.flug.fi]:n IP-osoite, niin sisäverkosta ei enää [[FLUG]]in sivuille pääsisi, koska kaikki pyynnöt ohjautuisivat sille sisäverkon koneelle, jolle tämä osoite on asetettu. Tästä syystä [http://www.iana.org/ IANA] on kehittänyt RFC 1918 -standardin, jossa määritellään sisäverkoissa sallitut IP-osoiteavaruudet. Nämä osoitteet eivät voi olla käytössä Internetin puolella. Ne ovat seuraavat:
| |
| 10.0.0.0 - 10.255.255.255 (10/8 prefix)
| |
| 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
| |
| 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
| |
| | |
| == NATin päällekytkeminen Linuxissa ==
| |
| | |
| Voimassaolevat reititykset voit putsata seuraavalla komennolla:
| |
| | |
| iptables -t nat -F
| |
| | |
| Voimassaolevat reititykset voit listata komennolla:
| |
| | |
| iptables -t nat -L
| |
| | |
| | |
| [[komentorivi|Komenna]] seuraavasti [[pääkäyttäjä]]nä (root):
| |
| | |
|
| |
| [[modprobe]] iptable_nat
| |
| [[echo]] 1 > /[[proc]]/sys/net/ipv4/ip_forward
| |
| [[iptables]] -t nat -A POSTROUTING -o ethX -j MASQUERADE
| |
| | |
| | |
| Tässä ethX on ulospäin liikennöivä verkkolaite (voi olla esim. eth0 tai eth1). Jos käytät [[PPPoE]]:tä tai modeemia, on ethX korvattava pppX:llä. Jos taas käytössäsi on [[wikipedia:fi:ISDN|ISDN]], on laitteen nimi ipppX. [[WLAN]]-korteilla taas laitenimi on yleensä muotoa wlanX.
| |
| | |
| Viimeisen komennon voi antaa myös muodossa
| |
| iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ethX -j MASQUERADE
| |
| jolloin 192.168.0.0/255.255.255.0:n tilalle laitat sisäverkkosi osoitteen.
| |
| | |
| Jos sinulla on '''kiinteä IP-osoite''', niin komento on tämä:
| |
| iptables -t nat -A POSTROUTING -o ethX -j SNAT --to PYSYVÄ_IP-OSOITTEESI
| |
| | |
| Tässä ethX on "ulosmenevä" laite eli verkkokortti jota kautta liikennöit ulkoverkkoon. Komennon voi myös antaa muodossa:
| |
| | |
| iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ethX -j SNAT --to PYSYVÄ_IP-OSOITTEESI
| |
| Tässä 192.168.0.0/255.255.255.0 on sisäverkon osoite ja ethX on ulospäin menevä laite.
| |
| | |
| Monissa [[jakelut|jakeluissa]] NAT:in päällekytkeminen onnistuu myös jakelun omilla graafisilla asetusohjelmilla, esimerkiksi jollakin Internet-yhteyden jako -velholla tai [[palomuuri]]asetustyökalulla. Monissa asetusohjelmissa NAT:ista käytetään nimitystä ''masquerading''.
| |
| | |
| ==NAT Fireholilla==
| |
| [[Firehol]]illa NAT on helppo toteuttaa seuraavanlaisesti. Tässä esimerkissä siis InternetVerkkolaite on verkkolaite (vaikkapa eth0), joka on kytketty Internetiin, ja SisäverkonVerkkolaite (vaikkapa eth1) on sitten kytketty verkkoon, jonka koneet halutaan NAT:n taakse.
| |
| | |
| router internet2lan inface InternetVerkkolaite outface SisäverkonVerkkolaite
| |
| masquerade reverse
| |
| client all accept
| |
| | |
| == Katso myös ==
| |
| *[[DHCP]]
| |
| *[[Verkkoliitynnät]]
| |
| *[[Palomuuri]]
| |
| | |
| ==Aiheesta muualla==
| |
| *[http://tldp.org/HOWTO/Masquerading-Simple-HOWTO/index.html Masquerading-Simple-HOWTO]
| |
| *[http://tldp.org/HOWTO/IP-Masquerade-HOWTO/index.html IP-Masquerade-HOWTO]
| |
| *[http://tldp.org/HOWTO/IPMasquerading+Napster.html IPMasquerading+Napster-HOWTO]
| |
| *[http://www.faqs.org/rfcs/rfc1918.html RFC1918]
| |
| *[http://www.iana.org/ Internet Assigned Numbers Authority]
| |
| *[http://fi.wikipedia.org/wiki/Osoitteenmuunnos Artikkeli Osoitteenmuunnos Wikipediassa]
| |
| | |
| [[Luokka:Verkko]]
| |
| [[Luokka:Ohjeet]]
| |