Динамички DNS (no-ip и слични сервиси)

Динамички DNS је користан и прилично популаран сервис. Можемо га представити као средство да мрежни уређаји (рачунари, рутери) који немају основну претпоставку да буду јавно видљиви и референцирани са интернета (јавну статичку IP адресу), премосте овај проблем и добију DNS назив помоћу којег им се увек може приступати. Уколико желите да омогућите веб серверу у вашој локалној мрежи да буде видљив и приступачан са интернета, а при томе немате статичку јавну IP адресу, права комбинација је Динамички DNS и Port Forward на вашем рутеру.

Да би смо вам приближили сврху и начин рада овог сервиса почећемо од проблема који се њиме решава – недостатак статичке, јавне IP адресе мапиране у одговарајући DNS назив.

Претпоставке за приступ уређају са интернета и проблем којег динамички DNS решава

Основни услов за приступ уређају (рутеру, рачунару или било ком другом умреженом уређају) од споља (са интернета) јесте да уређај поседује ваљану IP адресу. Адреса мора бити јавна, из једноставног разлога: адресе приватних опсега нису валидне на интернету и било који хост са једном од адреса из следећих опсега не може је користити за учешће у јавној комуникацији:

10.0.0.0 – 10.255.255.255, једна цела А класа,

172.16.0.0 – 172.31.255.255, 16 B класа

192.168.0.0 – 192.168.255.255, 256 C класа

Динамичко додељивање IP адреса је са становишта администрације веома корисна ствар која обезбеђује да aдминистратор система не мора ручно да подешава одговарајућу IP адресу на сваком уређају у мрежи. Одређен опсег IP адреса (pool) се одвоји за динамичку доделу и на мрежи се постави сервис/апликација чија је једина намена да располаже са овим адресама и према потреби их динамички (временски одређено) додељује уређајима (за ово се стара DHCP сервис).

Назив „Динамички DNS“ у употреби је за системе који у озбиљним мрежним структурама динамички ажурирају централизовану DNS базу уносима за поједине хостове. Интегрисани DNS у оквиру Активног Директоријума и аутоматизовано пријављивање Виндовс клијената могао би бити пример, а овакви системи у пословним окружењима, најчешће се крећу у оквирима приватног IP адресног опсега.

Тема овог текста је другачија, једноставнија примена на нивоу кућних или мањих пословних окружења која не поседују одговарајућу јавну IP адресу и Динамички DNS им је потребан управо да би решили проблем видљивости са интернета.

Теоретски, динамички додељена јавна IP адреса на кућном или канцеларијском рутеру је и даље јавна и сасвим добро квалификује уређај за јавну комуникацију (доступност на интернету). Практично, проблем настаје управо из разлога динамичности (променљивости) IP адресе, као и чињенице да се за јавну комуникацију на интернету, ретко или готово никако не користе IP адресе у свом бројчаном облику (вредности), већ имена – DNS стандардизовани називи који су у оквиру глобалног, дистрибуираног DNS система мапирани на одговарајућу IP адресу (њену нумеричку вредност).

Када у претраживаћу укуцате назив нпр. kompjuteras.com, ваш DNS клијент ће га разрешити у одговарајућу IP адресу и омогућити интернет прегледачу да приступи страници нашег сајта, на серверу на ком је хостован. Ако би се ова IP адреса динамички мењала, после неког времена информација о DNS називу kompjuteras.com коју поседују DNS сервери више не би била валидна и покушај отварања странице не би био успешан.

Динамички DNS сервис има задатак да за одређено DNS име – назив хоста или домена, одржава тачну и ажурну информацију о IP адреси која се динамички мења. Корисници који приступају уређају не морају да буду свесни ове промене – користећи јавно доступни назив, они увек приступају истом уређају без обзира што се IP адреса мења.

Јавни DDNS сервиси

Постоји велики број јавних сервиса који пружају услугу одржавања динамичког DNS-а, велики број је бесплатан (за основну услугу) а има и комерцијалних који обично укључују динамички DNS у шири оквир услуга.

На адреси http://dnslookup.me/dynamic-dns/ можете видети веома комплетну листу провајдера динамичког DNS-а од којих већина има неку форму бесплатне услуге.

Далеко најпопуларнији сервис овог типа до недавно (у односу на датум објаве овог текста) био је DynDNS . Велики број произвођача рутера и других мрежних уређаја је укључивао подршку за овај систем како би омогућили корисницима приступ уређају од споља, у случају да не поседују статичку јавну IP адресу, а баш из разлога велике популарности сервиса. DynDNS је недавно променио пословну политику и оно што је донедавно било бесплатно, више није на исти начин (могуће је сервис користити у пробном режиму уз обавезу остављања података о банковном рачуну).

Но, и поред тога, и даље постоји велики број бесплатних онлајн сервиса који омогућују да свој мрежни уређај са динамичком IP адресом учините стално доступним помоћу днс назива који се регуларно упдатује.

Већина ових сервиса ради на приближно сличан начин, и мада може бити разлике коју чине додатни сервиси који су укључени у услугу, што се тиче динамичког DNS-а процедуре би требало да се оквирно слажу.

Као пример за представљање узећемо релативно популарни NO-IP сервис (претрагом можете пронаћи и нешто што вам боље одговара). Поред бесплатног FreeDNS пакета, постоје Enhanced и Plus Managed комерцијални пакети који проширују могућности бесплатног. Бесплатни FreeDNS пакет има следећа ограничења:

  • Можете креирати 3 хоста и омогућити им динамички DNS,
  • Име хоста којег сте креирали истиче током 30 дана и потребно је константно га обнављати (NO-IP вам шаље мејл са линком за поновну активацију непосредно пред истек 30-дневног периода),
  • Дефинисан је ограничени број домена које можете искористити при креирању днс назива хоста
  • FreeDNS пакет је предвиђен за персоналну употребу за разлику од преостала два који се могу користити у комерцијалној употреби
no-ip-аддхост
Дефинисање хоста кроз NO-IP веб интерфејс

Када креирате налог, уласком у онлајн интерфејс можете дефинисати име хоста које ће вам служити за приступ. Име хоста бирате сами а доменски суфикс бирате у оквиру неколико понуђених предлога. Уколико је у питању рачунар, NO-IP као и већина других сервиса овог типа нуди да преузмете клијентски програм који ће ажурирање динамичког DNS-а аутоматски обављати у предефинсаним временским интервалима. Уколико је у питању рутер, неки произвођачи у оквиру firmware-а омогућују унос потребних параметара за најпопуларнији сервис/сервисе. Код напреднијих рутера као што је Микротик могуће је унети скрипту која аутоматизовано одрађује ажурирање параметара и подесити Schedule Task који ће је покретати у одређеним временским интервалима.

Port Forwarding

Направићемо кратки резиме: подесили сте налог на неком од јавних DDNS сервиса, преузели и конфигурисали клијентску апликацију која се брине о DDNS update процесу (или сте креирали скрипту на рутеру која ради исти посао). Сада постоји јавна DNS информација са називом којег сте ви дефинисали (нпр. mojprivatnihost.no-ip.org) и који је мапиран на одговарајућу IP адресу коју вам ваш провајдер динамички додељује.

Једноставније речено, јавној IP адреси иза које се ви налазите, увек се може прићи са интернета наводећи њен DNS назив.

Све што је преостало јесте – да обезбедите да комуникација која од споља долази ка јавној IP адреси вашег рутера ту и не заврши, већ да нађе прави пут до уређаја (рачунара) на ком је очекивана.

Да би смо појаснили ову додатну и последњу ставку коју треба завршити, задржаћемо се на стандардној конфигурацији кућне или мање пословне мреже.

Обично приватна мрежа поседује једну јавну IP адресу, динамички придружену WAN порту рутера и неколико LAN портова (унутрашња мрежа) на којима завршава један или више рачунара са IP адресама приватног опсега.

Проблем комуникације уређаја са приватним IP адресама и интернет света, који познаје искључиво јавни IP опсег решава се засебним механизмима за правац ка интернету и од њега.

Под правцем ка интернету подразумевамо сав саобраћај који иницира рачунар из приватне мреже ка јавним сервисима/серверима, као и одговоре истих. То су нпр. сви клијентски захтеви интернет прегедача из приватне мреже ка јавним веб серверима, а механизам на рутеру који комуникацију омогућује назива се NAT транслација, односно Маскарада. За потребе овог текста нећемо се детаљно бавити Маскарадом, укратко, то је процес мапирања и транслирање саобраћаја са више рачунара у приватној мрежи у једну јавну IP адресу, при чему јавна адреса маскира приватне за спољњи свет.

Када је као у нашем случају потребно омогућити приступ из спољњег света (са интернета) ресурсима на уређају из приватне мреже, користи се Port Forwarding.

Једноставно и кратко, сваки захтев који по одређеном порту/портовима стигне на јавни (WAN) интерфејс рутера биће прослеђен на предефинисану IP адресу у приватној мрежи иза које се налази уређај који по истом порту слуша и даје одговор.

На једноставном TP-Link рутеру којег ми користимо, потребно је поставити унос за одговарајући порт или опсег портова и IP адресу из приватног ранга на коју ће се захтеви по тим портовима прослеђивати. Оно што је веома битно у оваквом setup-у јесте, да се обезбеди да одговарајући уређај у приватној мрежи увек има исту приватну IP адресу (било путем DHCP резервације или постављањем статичке IP адресе)

Постоји и механизам који омогућује да се сви захтеви који су иницирани од споља, без обзира на порт, мапирају (рутирају) на одговарајућу приватну адресу иза рутера. Механизам се назива DMZ (демилитаризед зоне), а ефикасност је иста уз нешто мању безбедност, будући да пролази сав саобраћај а не само дефинсани порт/портови, па су у овој опцији неопходне одговарајуће firewall забране.

Заључак

Динамичко ажурирање јавних DNS уноса помоћу јавних DDNS сервиса је веома користан систем који решава проблем доступности са интернета великог броја корисника који нису у прилици да себи приуште издатке за статичку јавну IP адресу. Надамо се да смо овим текстом успели да вам приближимо тематику и сам процес комуникације између јавне мреже (интернета) и анонимних хостова (приватног IP опсега).

itmogul-logoТекст је преузет са угашеног блога ИТ модул и оригинални аутор овог текста је Бранислав Колар. Компјутераш ИТ блог објављује текстове са тог блога како ризница знања са те локације не би отишла у заборав.