IT blok - Michal Šika

kutilovo živobytí

Překlad IP adres na docbrokeru

Nedávno jsem řešil problém, kdy testovací prostředí bylo schováno za firewallem a zvenku bylo přístupné pod jinou adresou, než kterou mělo ve vnitřní síti. Pro tyto případy, kdy je Documentum schováno za NAT je zde následující postup.

V úvodním článku o souboru docbroker.ini jsme mohli vidět seznam parametrů, které je možné v souboru použít. Pro tyto případy se zde nachází parametr [TRANSLATION].

Některé sítě jsou z bezpečnostních důvodů „schovány“ za firewallem s NATem. To znamená, že servery Documenta, které jsou ve stejné vnitřní síti mají nějakou IP adresu 172.30.x.x, ale aby se k nim uživatelé dostali, musí přistupovat na adresu např. 192.168.x.x.
Jak tedy zajistit, aby docbroker správně přeposílal požadavky a odpovědi na content server a zpět?
Pro tento případ máme v Docbroker.ini souboru sekci [TRANSLATION]

[TRANSLATION]
port=outside_firewall_port=inside_firewall_port
{,outside_firewall_port=inside_firewall_port}
host=outside_firewall_IP=inside_firewall_IP
{,outside_firewall_IP=inside_firewall_IP}

Zde si můžeme nadefinovat jak porty, tak IP adresy před a za firewallem. Díky tomu se potom můžeme dostat ke službám Documenta.
Hodnoty outside_firewall_port a inside_firewall_port jsou čísla portů.
Hodnoty outside_firewall_IP a inside_firewall_IP jsou IP adresy.

Poznámka: Hodnoty můžeme „řetězit“ pokud máme víc portů nebo IP adres a to tak, že jednotlivé dvojice oddělujeme čárkou a celé to uzavíráme do uvozovek.

V reálu může nastavení vypadat nějak takto

[TRANSLATION]
port="2231=1489,5567=47625"
host=192.168.6.123=172.30.5.107

Jak jsem již zmínil v úvodu, testovací prostředí bylo schováno za firewallem, zvenku bylo přístupné pod adresou 192.168.6.123 a uvnitř měl content server adresu 172.30.5.107. Porty na firewallu byly povoleny standardní, tedy 1489 a 47625
Potřebovali jsme přitupovat na connection broker přímo, proto jsem do Docbroker.ini přidal následující řádky:

[TRANSLATION]
host=192.168.6.123=172.30.5.107

Následně jsem provedl restart a z venku vše fungovalo naprosto bez problémů.

Problém nastal ale při testování ve vnitřní síti, kdy aplikace nefungovala správně, protože požadavky byly odesílány na adresu 192.x.x.x.
Zkusil jsem tedy trochu jiné nastavení:

[TRANSLATION]
host="192.168.6.123=172.30.5.107,172.30.5.107=172.30.5.107"

Tento zápis způsobil to, že aplikace byly funkční jak ze sítě před firewallem (z venkovní sítě), tak z vnitřní sítě uvnitř prostředí zákazníka.

Samozřejmě, jak již bylo zmíněno, veškeré prováděné změny se projeví až po restartu docbrokeru.

Michal Šika