Objevil jsem zajímavý problém. Mám prostě v domácí síti webserver domácí síť má prefix 192.168.1.0/24 a domácí webserver jede např. na adrese 192.168.1.10 a já chci zadat doménu co vlastním nějakadomena.cz, aby mě to dostalo na ten server. Celý svět to vidí, jen já ne.
takže schéma je přesně následující:
server <LAN><————-><LAN> router<WAN><—————–>internet
192.168.1.10 192.168.1.1 99.99.99.99
Všichni z internetu se tedy dostanou ke mě na webserver pod doménou nějakadomena.cz (příklad), to znamená, že portforwarding a dst nat na mikrotiku je funkční.
Na to, aby se na mě dostali všichni z celého světa na mou veřejnou ip adresu 99.99.99.99, aby viděli webovky ze serveru, který má IP 192.168.1.10 stačí vytvořit nové pravidlo ve /IP/firewall/NAT/ add new rule a vyplnit to následovným způsobem:
Na záložce general zaklikneme chain dstnat, vyplníme v dst. Address veřejnou IP adresu a protože webserver používá tcp port 443, musím zakliknout protocol tcp a Dst. port 443, jak je vidno v obrázku č. 1
Dále na záložce Action zaškrtneme Action: dst-nat a to Addresses vyplníme adresu webserveru, kam to má ten packet po přeložení poslat a na jaký port toho počítače, jak je vidno v obrázku č. 2.
Výsledkem tedy obrázku č.1 a č.2 je, že kdokoliv zadá ip adresu 99.99.99.99 s portem 443, tedy https web (imaginární adresa, nemusíte to zkoušet), tak se dostane ve skutečnosti na IP adresu vnitřního serveru ve vnitřní síti 192.168.1.10 na portu 443, tedy rovněž https web.
Pokud byste chtěli mít třeba 10 webových serverů, tedy 192.168.1.11, 12,13,14,15, 16,17,18, 19,20 a víte, že na jejich porty u každého 443 chcete z veřejné ip adresy přistupovat z portu 443,444,445,446,447,448,449,450,451,452,453, tak můžete definovat 10 takových pravidel, kde obrázek č. 1 nebude mít 443 ale třeba 444 a obrázek č. 2 bude mít adresu 192.168.1.11 a port stejný, tedy 443. A takto postupujete dál, věřím je to dost názorné, kdyby ne, upozorněte na to v diskusi pod článkem.
Teď máme tedy situaci, že svět se dostane na Váš webový server, ale když vy zadáte adresu 99.99.99.99 z místní adresy (máte třeba počítač 192.168.1.5), tak web neuvidíte. To vyřeší následující pravidlo na sourcenatu (maškaráda už samozřejmě funguje, jinak by se nikdo nedostal do internetu, pokud si dobře pamatuji 😉 ).
Dle obrázku č.3, chain srcnat, src. Address: 192.168.1.0/24 (tedy všechny adresy v lokální podsíti za routerem), protocol tcp (pokud byste potřebovali i nějaké UDP služby, tak vytvoříte i další pravidlo, kde bude Protocol: udp.
Na záložce Action, obrázek č. 4, už stačí vyplňovat To Addresses 99.99.99.99 (veřejná ip adresa) a to ports 0-65535 a i vy z vnitřní sítě ze všech vašich počítačů.