DNS server za NATem – dejte si pozor

Pondělí 6. 06. 2011 • Hardware, Internet

Před nedávnem jsem se rozhodl pokročit ve svých plánech na zničení světa, takže na řadě bylo vyrobení vlastního páru jmenných serverů, které budou poskytovat autoritativní odpovědi k doménám na ně nasměrovaných. BIND9 na primárním stroji to po krátkém boji vzdal a běží jak švýcarské hodinky. Horší to je se sekundárním name serverem. Ještě nejsem tak daleko, abych měl dva servery s veřejnou IP a tím pádem se ten druhý musí skrývat ve stínu zlého NATu.

Řešením tohoto problému jsem zabil skoro dva dny a přiznám se, že na českém internetu není vůbec nic a v angličtině jsou jenom dobře schované útržky nepříliš relevantních informací. I když tento problém bude v průběhu následujícího roku řešit asi 0,5 člověka, nezabrání mi to v tom, abych se poděli o pár mouder.

DNS pracuje na portu 53 a všechny DNS resolvery (ať už je to libovolná forma name serveru a nebo dig či nslookup) počítají s odpovědí právě z tohoto portu. Pokud má name server veřejnou IP adresu, všechno funguje jak má, dotaz přijde na port 53 a také z něj i odejde. Ovšem když do cesty vstoupí NAT, je zde velká pravděpodobnost, že pozmění odchozí port na nějaký náhodný, což žádný resolver neakceptuje a tudíž to bere jako by žádnou odpověď nedostal.

Ukázka z tcpdumpu - NAT pozmění odchozí port

Pravděpodobně to není problém všech routerů s NATem, nicméně já se ZyXELem P-660HW to štěstí měl. Jediným kladem na celé situaci budiž to, že podpora ZyXELu se snažila pomoct seč mohla a ještě možná něco vymyslí, nicméně tomu ani po prohlédnutí CLI manuálu od routeru moc nevěřím. Jediným řešením do budoucna stejně bude name server s vlastní veřejnou IP adresou.

 

Mohlo by vás zajímat: , , ,

Žádné komentáře… Vložte Váš!

Napsat komentář