Išorinis ir vidinis IP: skirtumas ir kaip sužinoti

Vidinis IP — tai įrenginio adresas vietiniame tinkle (pavyzdžiui 192.168.1.5), o išorinis — viešasis adresas, kuriuo jūsų tinklą mato internetas. Skirtumas atsiranda dėl NAT: maršrutizatorius slepia daug vidinių adresų už vieno viešojo. Toliau išnagrinėsime, kaip veikia ši schema ir kaip sužinoti abu adresus.

Kas yra vidinis (privatus) IP

Vidiniai adresai naudojami tik vietinio tinklo viduje ir internete nemaršrutizuojami. Jiems rezervuoti trys diapazonai (RFC 1918):

Diapazonas Kaukė Kur taikoma
10.0.0.0 – 10.255.255.255 /8 dideli tinklai, duomenų centrai
172.16.0.0 – 172.31.255.255 /12 vidutiniai tinklai
192.168.0.0 – 192.168.255.255 /16 namų maršrutizatoriai

Tokie adresai vienu metu gali kartotis milijonuose tinklų — jie unikalūs tik savo tinklo viduje.

Kas yra išorinis (viešasis) IP

Išorinis IP yra unikalus viso interneto mastu ir jį suteikia interneto tiekėjas. Būtent į jį ateina užklausos iš tinklo. VPS viešasis IP yra statinis ir priskirtas serveriui.

Kaip veikia NAT

NAT (Network Address Translation) — mechanizmas, kuris išeinant į internetą pakeičia vidinį šaltinio adresą išoriniu ir įsimena atitikmenį, kad grąžintų atsakymą reikiamam įrenginiui.

  1. Jūsų nešiojamasis kompiuteris (192.168.1.5) siunčia užklausą svetainei.
  2. Maršrutizatorius pakeičia šaltinio adresą savuoju išoriniu (203.0.113.7) ir įrašo porą į vertimų lentelę.
  3. Atsakymas ateina į išorinį maršrutizatoriaus IP, o NAT grąžina paketą į 192.168.1.5.

Dėl NAT gaunamieji ryšiai iš išorės pagal numatytuosius nustatymus įrenginio nepasiekia — reikia prievadų peradresavimo (port forwarding) maršrutizatoriuje arba viešojo adreso tiesiai serveryje.

Kaip sužinoti vidinį IP

Windows:

ipconfig

Linux:

ip addr show
hostname -I

Kaip sužinoti išorinį IP

curl ifconfig.me
curl https://api.ipify.org

PowerShell:

(Invoke-WebRequest -Uri "https://api.ipify.org").Content

Jei išorinis adresas sutampa su vidiniu — vadinasi, esate prijungti tiesiogiai, be NAT (tipiška VPS su „baltuoju“ IP).

Prievadų peradresavimas: kaip atverti prieigą iš išorės

Jei paslauga veikia įrenginyje už NAT, iš išorės ji pagal numatymą nepasiekiama. Kad gaunamasis ryšys pasiektų reikiamą įrenginį, maršrutizatoriuje nustatomas prievadų peradresavimas (port forwarding):

  1. Prisijunkite prie maršrutizatoriaus žiniatinklio sąsajos sietuvo adresu (pavyzdžiui http://192.168.1.1).
  2. Suraskite skiltį Port Forwarding arba „Virtualūs serveriai“.
  3. Nurodykite išorinį prievadą, įrenginio vidinį IP ir vidinį prievadą.
  4. Išsaugokite ir patikrinkite pasiekiamumą iš išorinio kompiuterio.

Svarbu: peradresavimas veikia tik esant baltajam išoriniam IP. Jei tiekėjas suteikė pilkąjį adresą už CGNAT, gaunamieji ryšiai nepraeis ir prievado atverti nepavyks. Tokiu atveju naudojamas serveris su viešuoju adresu.

Baltasis ir pilkasis IP

  • Baltasis (viešasis) — unikalus maršrutizuojamas adresas; prie jo galima prisijungti iš išorės. Jį turi bet kuris VPS.
  • Pilkasis — adresas už tiekėjo NAT (CGNAT), bendras daugeliui klientų. Prievadų peradresavimas jame neįmanomas, gaunamieji ryšiai nepasiekiami.

Kaip patikrinti, ar jūsų IP baltasis: palyginkite curl ifconfig.me grąžintą adresą su išoriniu IP maršrutizatoriaus žiniatinklio sąsajoje. Jei jie skiriasi — esate už tiekėjo CGNAT.

Dažni klausimai

Kodėl negaliu prisijungti prie savo kompiuterio iš interneto? Greičiausiai esate už NAT ir be prievadų peradresavimo. Nustatykite port forwarding maršrutizatoriuje arba naudokite serverį su baltuoju IP.

Ar galima gauti baltąjį IP namuose? Paprastai taip — kaip mokamą interneto tiekėjo parinktį. Alternatyva, nepriklausanti nuo tiekėjo, — VPS su viešuoju adresu.

Kiek įrenginių gali būti už vieno išorinio IP? Techniškai tūkstančiai — NAT juos skiria pagal prievadus. Ribojimas — maršrutizatoriaus vertimų lentelės dydis.

Ar VPS vidinis ir išorinis IP sutampa? Dažnai taip: viešasis adresas priskiriamas tiesiai tinklo sąsajai. Kartais tiekėjas atskirai suteikia privatų tinklą ryšiui tarp serverių.

Kaip patikrinti, ar esu už CGNAT? Jei išorinis IP iš curl ifconfig.me prasideda 100.64–100.127 arba nesutampa su WAN adresu maršrutizatoriuje — esate už tiekėjo CGNAT.

Reikia nuolatinio baltojo IP be NAT ribojimų? Užsisakykite VPS su Linux su išskirtiniu viešuoju adresu skiltyje VPS nuoma.

Laura Zariņa