Stránka 1 z 2

Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 19:31
od bayern
Zdravím,

chtěl bych požádat o radu, jestli lze něco takového nastavit (jednodušeji). V síti budu mít zařízení, které bude fungovat například na portu 5950. Bude to vždy maximálně jedno jediné zařízení v síti (takže nemůže nastat shoda s jiným), ale pokaždé může dostat od DHCP jinou IP adresu (nemůže mít statickou), které bude přístupné z WAN(internetu).

Jak zjednodušit tuto věc:
V IP FireWall na MikroTiku bych asi dokázal vytvořit přes 200 pravidel. Příklad: Pokud někdo z venku zavolá port 5950 přesměruj paket na zařízení 192.168.0.1, potom to samé udělat pro zařízení 192.168.0.2 (atd. až pro celý rozsah). Ale asi jaksi chápete, že by to bylo úplně né profesionální řešení a upřímně se mi to nechce dělat ručně pro stovky položek. Bude existovat pouze jediné aktivní zařízení pro port 5950, takže bych potřeboval nějak vymyslet, aby vždy router vybral tu správnou IP, kde zrovna teď ten port běží.

Pokud jsem zapomněl sdělit nějakou informaci, tak když tak případně doplním.

Děkuji.

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 20:14
od ludvik
Chceš vyřešit nemožné. Máš jen jeden port. Čili ho také přesměrovat můžeš jen na jeden ... Musel bys přidat jako další podmínku IP adresu (jenže pak by stačilo routovat, nemuselo by se přesměrovávat).
Firewall je paketový filtr. Neví nic o tom, co je kde "aktivní".

Že nemůže mít statickou IP neznamená, že nemůžeš udělat statický záznam na DHCP serveru.

Jinak bys musel napsat script, co bude (třeba podle části MAC v ARP tabulce) pravidelně měnit záznamy v DNAT. Nebude to moc online, ale asi by to stačilo. Kdo ti to napíše ovšem netuším.
Další možností je využít UPnP. Otázkou je, jestli to to zařízení umí.

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 20:36
od bayern
Aha, vidím, že bych měl doplnit informace ohledně toho, že nejde ani DHCP static záznam.

Na flashdisku mám obyčejný VNC server, který se po vložení flashdisku do PC spustí a vytvoří mi vzdálený přístup na port 5950. Aby mi to teď fungovalo tak musím ručně na tom zařízení teď měnit IP adresu na statickou (na kterou je udělaný port forward), potom to párkrát zapomenu vrátit. Potom s tím flashdiskem půjdu k jinému zařízení a vytvořím se vzdálený přístup tam (ale když zapomenu změnit IP, tak mi to pak už koliduje a běžím přes celou budovu to upravit a už to není úplně praktické). Je to taková přenosná flashka, která spustí na flashce službu, která vytvoří spojení na port 5950. Ano, dalo by se to řešit DHCP static IP adresou, ale to nelze, protože ty stanice jsou přenositelné, přichází nová zařízení, která zase odchází a pro každé nové zařízení dělat upravu DHCP je asi stejné jako měnit ručně IP adresu na stanicích po dobu nezbytně nutnou.

Proto potřebuji, aby všechny dotazy na port 5950 prošly celou sítí, našly si to aktivní zařízení (je a bude vždycky jen 1 = 1 flashdisk) a s tím začaly komunikovat. Čekal jsem, že to s MikroTikem půjde nějak vyřešit.

Řeknu to hodně zjednodušeně :
1) Smaž záznám z IP FireWall /aktuální port forward portu 5950/
2) Proskenuj celou síť a najdi všechna aktivní zařízení / nebo projdi DHCP leases, kde určitě budou taky všechna aktivní zařízení
3) Vykašli se na DHCP statický záznamy a použij jen ta zařízení, která mají dynamickou IP adresu od DHCP serveru (uleví mikrotiku, skenuje jen část)
4) Proskenuj vybraná aktivní zařízení, zda některé zařízení vysílá službu na portu 5950?
5) Zjistil jsem, kdo používá v tuto chvílí port 5950 a zjistím jeho IP
6) Použiju jeho IP pro vytvoření záznamu v IP firewall (dstnat) -> port forwarding portu 5950 na nalezenou IP
7) Usni a celý proces zopakuj každých 5 - 10 minut ?

Co si o tom myslíte ?

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 20:46
od ludvik
Vyřešit to lze. vždy je jen otázka cena (a nejenom finanční).
Ta aplikace na flash může pomocí API na tom mikrotiku změnit naprosto cokoliv. Případně vytočit nějakou VPN a tím mít stále stejnou IP ... Ale jen nastavením "něčeho" na mikrotiku si troufám tvrdit, že to neuděláš.

A algoritmus pro script na mikrotiku sis vymyslel ... jen ten bod 1 bych dal až někam dál, aby ti to nemazalo něco aktivního.
Jestli se ti povede ve scriptu použít port scan (resp. zjištění otevřeného portu) nevím.

Můžeš využít i dynamické address-listy. Např. ta tvoje aplikace pošle paket na nějaký speciální port, ve firewallu pak záznam zajistí zařazení do address-listu s nějakým timeoutem. A ten script může procházet jen ten address-list.

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 20:53
od bayern
Ale teoreticky by to mohlo fungovat podle vymyšleného algoritmu, když se ponořím hluboko do scriptování, jen najít cestu. Pokud se mi to povede, tak bych se případně podělil o zkušenost :-D.

Ano, to smazání (bod 1) se může dát klidně těsně před vytvořením nového záznamu. Díky za tip.

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 21:02
od Rosak
Ahoj. Nepíšeš nic o druhé straně, tedy Vieweru. Ten běží na statické IP? Napadá mě VNC-SC, znáš ho?

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 21:11
od bayern
Druhá strana je VNC Viewer, jakékoliv PC (ale používám jen vlastní zařízení) mimo interní síť v internetu které se připojuje přes veřejnou IP adresu přes MikroTik až k zařízení.

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 21:15
od Rosak
Tak se mrkni na ten Single Click od UltraVNC.

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 21:18
od bayern
Popravdě o SC jsem nic ještě neslyšel, v čem to bude tedy principiálně lepší než klasický TightVNCServer? Díky.

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 21:33
od Rosak
SC je Tebou vytvořené exe obsahující VNC server a konfig odkazující na definovanou IP adresu. Při spuštění se k této adrese snaží připojit. Zatímco VNC viewer je pak na této adrese spuštěný v módu, kdy naslouchá příchozím spojení. Takže server pak může být kdekoli a stačí mít na pevné veřejce pouze svůj viewer.

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 22:24
od hapi
upnp? ne? a co použít script v dhcp-serveru? Lze tam napsat co má mikrotik po přidělení ipčka udělat. Třeba smazat všechy předchozí naty a zapsat nový na aktuální ip.

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 23 Oct 2017 22:52
od ludvik
Problém je v tom, že on chce reagovat na zastrčení flash do usb portu ... čili všechny nápady jako dhcp, upnp apod padají.
Nakonec je nejlepší řešení to ultravnc :-)

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 24 Oct 2017 06:10
od Cheprer
Přijde mi to strašně komplikované.

Myslím že řešení by bylo akorát v rámci interní sítě že by se vždy v točila VPN na interní adresách na který by byl udělaný překlad. Tím pádem by stačilo na klientovi DHCP a vždy by byl překlad na stejnou verejku.
Zbytek mi přijde dost komplikovaný.
Jako dokážu si to představit kdyby si prenasel router. Nevím jak to řešit u USB Flash disku. Jedině si napsat přímo co potřebuješ ale to se zase potykas s kompatibilitou a ovladačem a a pravama atd...

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 24 Oct 2017 10:32
od Tar
Já bych si napsal skript pro telnet nebo ssh. Přihlásíš se na mikrotik, z logu přečteš svoji IP a změníš nat pravidlo. Spustíš to vždycky před spuštěním vncčka.

Re: Nastavení jednoho portu pro všechna zařízení v síti

Napsal: 24 Oct 2017 23:04
od bayern
Díky moc za tip všem. Už jsem to vymyslel takhle:

Naprogramoval jsem v c# aplikaci, která zjistí MAC adresu PC. Přes API smaže všechny dhcp statické zaznamy pro IP 192.168.0.234, zadá mikrotiku dhcp statický záznam pro mac pc a pro ip 192.168.0.234 (kdyby se pc restartovalo), aby mělo stejnou IP. Portforward je nastavený na tvrdo na IP 192.168.0.234. Potom aplikace restartne sitovy adapter, aby si natahl uz tu statickou IP. Zavola vnc server a jede.

Díky všem! :)