[Delphi] databaze na Cloudu

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod dyžon 28. 11. 2017 10:33

zdravím,
koupil jsem si WD MY CLOUD (server) a chtěl bych na něj umístit databázi, ke které se bude moci připojovat přes net.
server je za routerem, společně s UPC jsem mu nastavil lokální pevnou IP a přístupové porty 8080, 9000, 443.

ovšem nevím jak bych se k ni měl připojit, když má ip 192.168.X.X ??

nemůžu najít ani téma, které by se tím zabývalo, zřejmě blbě hledám ...

můžete mi prosím někdo poradit ??
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 28. 11. 2017 15:29

Budeš se připojovat na veřejnou IP adresu na porty, které si v routeru přesměruješ na svoji vnitřní adresu.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod dyžon 28. 11. 2017 17:53

takže se připojím na modem od UPC a přes port kterej je nastavenej pro ten server se připojím k němu ??
příklad s IBDatabase:
Kód: Vybrat vše
connection: Remote;
server: 40:54:25:13;  // ip modemu UPC (vymyšleny)
protocol: TCP/IP;
Port: 6525;  // port nastavenej na serveru (vymyšlenej)
Database: WDMYCLOUD/databaze/pokus.FDB;  // cesta na serveru;

bude to nějak takhle, nebo je to blbost...

ideální by byl nějakej příklad na netu, ale nic jsem nikde nenašel ... :-(
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 28. 11. 2017 18:14

Pokud má modem veřejnou IP adresu, tak se připojíš na jeho adresu. A číslo portu použiješ podle toho, jaké budeš mít nastavené přesměrování.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod dyžon 28. 11. 2017 18:28

ono to bude asi ještě složitější, protože je někde potřeba zadat login / pass při připojení k serveru ...
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 28. 11. 2017 18:30

To s tím nijak nesouvisí.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod dyžon 28. 11. 2017 19:05

zkusím se spojit s technikem UPC, snad to dáme do kupy.
zatím díky a kdyby někdo narazil na nějakej příklad na netu, tak to prosím postněte.
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 28. 11. 2017 19:11

Na tohle snad žádný příklad potřeba není. Připojení je stejné jako v rámci vnitřní sítě se dvěma výjimkami:
- IP adresa se použije veřejná
- port se použije ten, který má nastavené přesměrování
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Nargon 29. 11. 2017 07:23

Já bych jen Wikana doplnil:
- Pokusy s připojením se musí provádět z jiné sítě (internetového připojení) než kde je umístěn ten router/sqlserver

Takže to z domova musíš zkoušet například přes datové připojení mobilu atd. Je to z důvodu že většina routerů přístup z lokální sítě na veřejnou ip a přesměrovaný port nepovolí. A tam kde to jde, tak se nejedná o bezva feature, ale o bezpečnostní chybu.
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)
Nargon
Moderátor

Odeslat příspěvekod dyžon 29. 11. 2017 10:23

díky moc chlapi,
ještě než budu volat na UPC, je nějakej port pro to extra vhodnej, nebo je to jedno.
a to Nargon: to znamená, že musím udělat dvě verze app, jednu na připojení z lokální sítě a druhou přes net,
popř. napsat code na test, jestli je databaze na lokalni siti, pak se připojit normalně přes firebird port 3051 a pokud ne, tak se připojit přes net ?
nebo to jde ještě nějak obejít ?
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod Nargon 29. 11. 2017 11:31

Port je celkem jedno, všech 65tisíc portů je rovnocenných. Takže vzít nějaký volný. Jen je dobré, aby byl větší než 1024, protože na těch nižších číslech vesměs běží oficiální služby (http, ftp, pop3, smtp, atd...) tak v případě že by jsi chtěl v budoucnu spustit něco takového tak aby jsi nenarazil na nepříjemnost že je ten port obsazený touto aplikací. Případně lze uvažovat nad dvěmi variantami. Buď z venku nasměrovat defaultní port (jak píšeš 3051), kde budeš mít možná jednodušší konfiguraci, protože to port nebude vyžadovat. Ovšem to taky může znamenat vyšší pravděpodobnost že se na ten port pokusí připojit nějaký hacker a dostat se ti do databáze. Přeci jen výchozí port mu napovídá jaká služba tam běží. A pak je tu varianta s nestandardním portem, kde je to přesně naopak. Nutnost port zadat a případný útočník to má těžší v tom že z čísla portu nezjistí jaká služba tam běží.

Jak budeš řešit problém dvojí konfigurace je jen a jen na tobě. V programování jsi většinou jen omezen technickými možnostmi, zadáním a vlastní fantazií. Jestli budeš dělat dvě aplikace je jedna z možností. Další možnost je, že připojovací údaje ta aplikace bude někde číst. Např konfigurační soubor nebo windows registry atd...
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)
Nargon
Moderátor

Odeslat příspěvekod dyžon 2. 12. 2017 09:03

díky, snad se mi to podaří, když tak se ještě ozvu.
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod dyžon 13. 12. 2017 12:41

nejsem doma, ale zkoušel jsem se připojit na PC, kde je síť se serverem a zatím bohužel.
chci se zeptat:
když mám ip modemu UPC: 10.11.12.13
a ip Serveru na kterym je databaze: 192.168.1.7
a povolenej port 9000
tak cesta k databazi bude:
10.11.12.13/9000:\\192.168.1.7\databaze\DATA_FDB ??

tady mi to háže chybu: připojení odmítnuto vzdáleným rozhraním.

chtěl bych prosím poradit, jestli je ten tvar DatabaseName správnej abych se mohl od něčeho odpíchnout.
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod Nargon 13. 12. 2017 13:05

Opravdu máš IP modemu UPC 10.11.12.13? Nebo je to jen tvůj příklad. Jde o to že adresy 10.x.x.x jsou neveřejné a tedy pro tento případ nejdou použít.

Co se týče té cesty k databázi tak to už od pohledu je špatně.

V první řadě to "povolení portu 9000" v UPC modemu by jsi měl mít nějak tak že u toho portu 9000 je v nějakým dalším políčku zadaná i ta IP serveru 192.168.1.7, to předpokládám že platí a máš to tedy nastavené správně.

Adresu databáze určíš z lokální adresy. Tedy pokud doma, tj z tvé lokální sítě přístupuješ na databázi přes adresu "192.168.1.7:9000\databaze\DATA_FDB" tak z vnějšku to půjde zcela stejně jen s tou veřejnou IP: "10.11.12.13:9000\databaze\DATA_FDB"
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)
Nargon
Moderátor

Odeslat příspěvekod dyžon 13. 12. 2017 13:58

adresa je vymyšlená.

díky za upřesnění, port je povolen přímo pro tuto ip, takže to by mělo být v pořádku.
je povolenej i ve firewalu (příchozí / odchozí);
bohužel se stále nemůžu připojit, vypadá to, že to blokuje router, kterej je před tím.
nastavil jsem na něm DMZ na ip serveru, pořád nic.
zkusím ho ještě prohledat, jinak to budu muset zkusit nějak bez něj a pokud to půjde tak potom ladit ten router.
za ty cesty děkuju, alespoň vím, že něco je dobře a můžu zkoušet.
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků