Jelikož jsem nepochopil proč mi to nefunguje, tak momentálně ani nejsem schopen rozlišit jestli jsem dostal relevantní odpověď (koupí mikrotiku).
Z toho, co jste zatím napsal, si nedovedu představit situaci, kdy by to byl problém v konfiguraci sítě ve vašem domácím routeru – takže koupě Mikrotiku by to neřešila. S Mikrotikem místo toho D-Linku by bylo snazší vypátrat příčinu nebo problém obejít, ale v tuto chvíli by mi to připadalo jako zbytečná investice.
Výstup nslookup a host posílám na obrázku. Udělal jsem to, že jsem tu mašinu připojil napřímo, tzn nehrál v tom roli můj domácí router. Výstupy jsou identické jako když tam router byl.
Jen doplním, že vlastní DNS ani na routru ani na servru nemám.
Sám jsem žádný NAT nekonfiguroval ani vědomě neprovozuji. Router je v továrním nastavení až na přesměrování portů (80/443), právě na server. Nic jiného na routru není.
Chování domény nebo ip v prohlížeči je stejné.
V hosts doménu uvedenou nemám, jak jsem psal bylo by to polovičaté řešení pro konkretní počítač, ale pro mobil to cesta není.
Podle toho výpisu se doména u vás překládá správně. Mimochodem, odpovídá vám lokální DNS resolver – tohle řešení se často používá při validaci DNSSEC. Takže kdybyste si na svém routeru tu doménu unesl, jak tu někteří doporučují, na tomhle konkrétním počítači by vám přestala fungovat, protože by odpovědi nebyly podepsané.
Každopádně to není problém DNS ale konfigurace sítě.
Zkusil bych tedy následující. Stejně jako jste zkoušel to DNS, spustit následující příkaz:
tcpdump -n 'port 4444'
Pokud by to zařízení mělo víc fyzických rozhraní (třeba LAN a WiFi), bude nutné ještě pomocí parametru
-i určit, které rozhraní se má použít (to, kam připojujete přípojku od ISP).
Tím zapnete zachytávání paketů na portu 4444 (nestandardní port, takže tam snad nebude žádný jiný provoz).
V druhé konzoli pak zadejte jen
telnet 81.25.21.57 4444
Žádné spojení se samozřejmě nemůže podařit navázat, protože na tom portu 4444 snad nic neposlouchá, ale jde jen o ty pakety při pokusu o navázání spojení.
V konzoli tcpdumpu by se mělo objevit něco takového:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens3, link-type EN10MB (Ethernet), capture size 262144 bytes
08:32:02.512559 IP 192.168.86.34.48142 > 81.25.21.57.4444: Flags [S], seq … length 0
08:32:02.512660 IP 192.168.86.34.48142 > 192.168.86.34.4444: Flags [S], seq … length 0
Sledování pak ukončíte pomocí
Ctrl+C.
Předpokládám, že tam budou jen dva pakety (dva řádky po té hlavičce). Důležité jsou ty dvě IP adresy vždy na začátku řádku. První paket je odchozí z vašeho počítače na veřejnou IP adresu. Druhý je ten samý paket po té, co prošel NATem u ISP a vrací se na váš router. Důležitá je jeho zdrojová IP adresa (ta první) – pokud tam bude 192.168.86.34 (tedy ta vaše privátní IP adresa, kterou vám přidělil ISP), je to špatně. Odpověď na tenhle paket se totiž nemůže dostat k NATu vašeho ISP, aby se tam adresy přeložily zpět. Pokud by tam byla jiná IP adresa (měla by to být adresa NATu ISP), je problém jinde, než si myslím :-)
Pokud se to potvrdí, je problém na straně ISP – dělá jen DNAT (přepíše cílovou IP adresu), ale nedělá SNAT (nepřepíše zdrojovou IP adresu, takže pak nemůže fungovat komunikace ze stejné sítě, ze které byl ten paket odeslán). Tohle řešení, kdy se vedle DNATu dělá také SNAT, aby se paket vrátil zpět na NATující stroj, se často nazývá „hairpin NAT“ (tím SNATem se paket „přišpendlí“ k tomu NATu, aby se k němu vrátila odpověď).
To by bylo to, co pak musíte po svém ISP požadovat – aby pro tu vaši veřejnou IP adresu (ale raději pro všechny veřejné IP adresy, které takhle poskytuje), nastavil hairpin NAT, nebo-li nastavil i SNAT, který změní odchozí adresu paketu tak, aby se odpovědní paket vrátil zpět na NAT ISP a tam se mohl zpět přeložit.
A ještě vysvětlení, proč to celé bez toho SNATu nefunguje – váš prohlížeč(například) pošle požadavek na 81.25.21.57, na NATu ISP se to přeloží na 192.168.86.34. Kvůli chybějícímu SNATu se ale odpověď nepošle na NAT ISP (který by 192.168.86.34 přeložil zpět na 81.25.21.57 – to dělá NAT u ISP automaticky), ale pošle se vašemu prohlížeči přímo, bez překladu. Takže počítač dostane odpověď od 192.168.86.34. Jenže on posílal požadavek na 81.25.21.57, odpověď od 192.168.86.34 nečeká a zahodí ji. Tím pádem se nikdy nemůže navázat spojení.