ClientSocket, ServerSocket routerek mögül interneten

ClientSocket, ServerSocket routerek mögül interneten
2018-01-07T16:31:45+01:00
2018-01-09T01:06:17+01:00
2022-10-19T05:55:39+02:00
  • Egykoron internet osztásra tipikusan linuxos számítógépeket használtak, és zúgott este a szekrényben, mint egy egész vízesés a szomszédban. A megváltás volt, mikor a mai pici routerek bekerültek a képbe. Végre csend lett  Mostanra már 5k huf-ban is kaphatóak. Éppen azokat esélytelen lesz kihagyni.

    Ha el vagy rá szánva, hogy egyedül csináld, nem lenne rossz beiratkoznod valami programozás kezdőknek tanfolyamra, ahol pár 10 óra alatt végig vezetnek az alapokon, és a későbbi modulokban ott vannak a hálózati kommunikációs dolgok is. Talán pénzbe kerül, de egyszerűbb, mint vakon kotorászni még az alapok után is. Vagy ha csak egy picike kell egyszeri alkalommal, zsebpénzbe egy freelancer megoldja neked.
    Mutasd a teljes hozzászólást!
  • Igazából nem elég, csak a lehetőségeket mérem fel.
    Az egyszerűségre törekszem, mert tanulófázisban vagyok, ilyesmit sosem csináltam még.
    Mutasd a teljes hozzászólást!
  • Az nem olyan egyszerű, hogy csak kihagyod a routert. A modemed vélhetően pppoe kapcsolatot kínál, ami egy pont / egy pont adatkapcsolat. Azt a protokolt teljesíteni kell, fordítani, és osztani a netet. Azt csinálja a router. Anélkül bedughatod a modemet pld a windows gépedbe, azon lesz net, de csak azon a gépen. Elég neked úgy?
    Mutasd a teljes hozzászólást!
  • Sziasztok!
    Szerver oldali eszközök:
    Modem: Arris CM820B
    Router: TP-LIkn TL-MR3420

    A kérdésem az még, hogy mennyiben változik a helyzet, ha szerever, vagy kliens oldalon elmarad a router, és közvetlen modemről megy az internet ?
    Mutasd a teljes hozzászólást!
  • Dinamikus IPcímet ad a szolgáltató.
    Az egyik router típusa: TL-WR340GD ez egy nagyon régi kütyü.
    A másikról holnap tudnék írni valamit.
    Sok mindent írtatok, köszönöm!
    Át rágom magam, olvasgatok a témában és jelentkezni fogok a napokban.
    Szép napot!
    Mutasd a teljes hozzászólást!
  • Elsőként annak a gépnek, ahol a szerver fog futni, a tűzfalán be kell állítani, hogy átengedje az azon a bizonyos porton érkező TCP/UDP forgalmat: windowson a Windows Tűzfal, linuxon az iptables programokban tudod ezt megtenni. 

    Következő dolog, hogy bekonfigurálod a szerveroldali router-t, hogy minden adott porton érkező TCP/UDP forgalmat irányítson arra gépre, amelyen a szerver fut. Ezt a router adminfelületén a Port Forwarding (vagy valami hasonló) menüpont alatt találod; vagy ha nem akarsz keresgélni, itt számos routerhez találsz leírást arról, hogy hogyan kell megcsinálni. Ehhez tudnod kell, hogy mi a szervergép IP-je; ezt vagy valahol a router felületén, vagy a gép hálózati beállításaiban, vagy az ipconfig (win) / ifconfig (linux) programok segítségével nézheted meg.

    Még egy felmerülő probléma lehet, hogy a szervergép valószínűleg DHCP segítségével kapja meg az IP-jét, ami ugye változik, tehát akár egy újra indítás után is elavulttá válhatnak a port forwarding beállításaiban szereplő paraméterek. Ennek kiküszöbölésére beállíthatod a gépen, hogy statikus IP-vel kapcsolódjon a routerhez, azonban én ezt nem ajánlom, mert lehet belőle címütközés. Ehelyett magán a routeren állítsd be, hogy a szervergépnek (MAC cím alapján) egy statikus IP-t adjon. Ezen menüpontot (ha van) valahol a DHCP közelében találod.

    Tulajdonképpen ezen a ponton már kívülről is el kell hogy tudd érni a szervert. Megnézed mi a külső IP-je a szervergépnek, majd azzal tesztelheted is a klienst. Ha nem működne, akkor ellenőrizd a beállításokat, esetleg Wiresharkkal megnézheted, hogy egyáltalán érkeznek-e csomagok. Ha biztos vagy minden beállítás helyességében, de kívülről még mindig nem tudom elérni, akkor pl. az lehet az oka, hogy a szolgáltatód NAT-ot használ. 

    Nagy valószínűséggel a szolgáltató dinamikus IP címet oszt, amely folyamatosan változik, tehát, hogy elérd a szervert, mindig tudnod kéne mi az aktuális IP. Na de ki akarja minden nap csekkolni, hogy mi az IP? Pontosan, senki. Erre a problémára két megoldás van: statikus IP, dinamikus DNS. Az előbbit a szolgáltatótól tudod igényelni anyagi ellenérték fejében, míg az utóbbira vannak ingyenes megoldások is, pl.: No-IP. Az ilyen szolgáltatások adnak egy ingyenes domaint (pl. almafakerteszet.hopto.org). Innentől annyi a dolgod, hogy letöltöd a kis programjukat, bekonfigurálod (általában az oldalon regisztrált felhasználónévvel, jelszóval), majd hagyod futni. Ez a kis program annyit tesz, hogy bizonyos időközönként frissíti az domainedhez tartozó IP cím bejegyzést, így pl. az almafakerteszet.hopto.org mindig a te aktuális IP-re fog mutatni, annak ellenére, hogy az változik. (Megjegyzés: a legtöbb routeren is be lehet állítani a dinamikus DNS-t, így nem kell a programot futtatni. Egy szerver esetében véleményem szerint ez maximum akkor éri meg, ha spórolni akarsz az erőforrásokkal.)
    Mutasd a teljes hozzászólást!
  • Szájbarágósan.

    IP cím. Ha modemed van még a router mögött, az csak hálózati kapcsolatot ad, IP címed nem annak alapján lesz. Feltételezem, te még név / jelszóval jelentkezel fel a hálózatba, amit a router lapjain állítasz be. Az IP címet a routered a szolgáltatótól kapja, amikor feljelentkezik a hálózatra, és beazonosítanak, mint ügyfelet. Szolgáltatója válogatja, hogy az a hálózat ipv4 vagy ipv6. Ha dinamikus IP cím osztás van alapértelmezetten, akkor dinamikus táblából kapsz egy IP-t. Ha van fix IP cím üzleti szolgáltatásként, amire be is fizettél, akkor azt a fix IP-t kapod meg. Ha egyébként is fix IP-t kap mindegyik ügyfél (mert valahol azt ingyen adják), akkor fix IP-t kapsz. Az IP-t a routeredbe bejelentkezés után a "WAN" port adatoknál találod, néhol "Status" lapnak van olyan szelete, routere válogatja. He szájbarágósabban kell, esetleg írd le te is szájbarágósan a modemed és a routered típusát (fénykép, típus, serial numberrel, stb).

    IP cím kiegészítő lehetőségek. Ha dinamikus IP-t kapsz, az minden betárcsázásnál változik, és alkalmasint módosítanod kell hozzá a programodat. Létezik dynDNS szolgáltatás, meg valami noIP is, azt a routered helpjében elolvasod, hogy tud-e olyat, és interneten Google temérdek sok cikket fog neked találni a beállításokról. Azon túl esélyed nincs a programodból fixen összekeresgélned az állomásokat dinamikus IP-vel. Kell vagy a fix IP, vagy legalább név alapján egy külső internet szerver nyilvántartásába fel kell jelentkeznie a routereknek, hogy azon keresztül egymás mindenkori IP-jét egy fix név alapján megtalálják. Lehet neked is külön internetes szervered fix IP-vel, amivel megoldhatsz ilyet, ha a routered nem támogatja a dynDNS-t, meg semmi más hasonlót sem.

    Router port forwarding. A routereden belül van egy külső hálózattól leválasztott hálózat. Az a hálózat jellemzően a routertől kapja az IP címet (vagy annak az engedélyezését). A routered kézikönyvében elolvasod a DHCS, static DHCP / address reservation / vagy akármi más néve van ott vonatkozó részeit. Dióhéjban annyi a történet, hogy a számítógépek / mobiltelefonok / akármik hálózati kommunikációért felelős áramköreinek van egy fizikai azonosítója, "mac address", amit a routerhez csatlakozáskor a router felismer, és annak alapján egy fixen beállított IP címet rendel hozzájuk. Azt az IP címet be kell tudnod állítani a megcélzott számítógépre fixen, mert anélkül a port forwarding nem fog menni. A port forwarding pedig olyan okosság, hogy a routered az internet felől ha adott portjára üzenetet kap, arról tudhatja, hogy azt a belső hálózat melyik számítógépének melyik portjára kell továbbítania. Tudni onnét fogja, hogy beállítod neki. Kiválasztasz hasraütve egy router külső portot (valahol 10k és 60k közöttit javaslok), tudod a belső IP-t, kiválasztasz a helyi számítógépre is egy portot, és beírod azokat az adatokat a port forwarding / static port server / vagy bárhogyan nevezi a routered szolgáltatási lapján (olvasgasd a kézikönyvét). Megcsinálod mindkét router mögött.

    Programok címzései. A programjaidat annak alapján írod meg, hogy dynDNS esetén lekérdezed a név alapján az IP címet DNS szolgáltatással (program példákat Google találni fog neked), fix IP esetén pedig fixen beleírod az IP címeket a programodba (esetleg config file-t írsz hozzá). A portot az IP mellé a portforwardingnál állítottad be, a kifelé küldéshez a másik router külső portját állítod be célpontként, fogadáshoz pedig a helyi számítógép kiválasztott portját (szintén portforwardingnál állítottad be).

    Vírusírtók / win tűzfalak. Jellemzően van egy olyan szolgáltatásuk, hogy nem eresztenek át semmi kívülről érkező csomagot, amihez nem tartozik belülről kezdeményezett kommunikáció. Ha mégis olyat akarsz tűlük, belső hálózaton a windows tűzfalat például szokásos kikapcsolni (vagy külön engedélyezed a portot, amiről olvasmányt majd a Windows súgó adni fog), mert elég a külső tűzfal, a vírusírtók meg ha tűzfal szolgáltatást is adnak, akkor azok helpjében is felkutatot hol és hogyan engedélyezhetsz portot, és engedélyezed (a helyi számítógép kiválasztott portját kell engedélyezned).

    A programot pedig úgy írod meg, hogy nem szúrod el 

    Halom ilyen simeretért egyébként tanfolyamra szokás beiratkozni, vagy legalább egy hétig bújni a könyveket. Most kaptál sűrített gyorstalpalót, de az csak gyors segítség, az alaposabb utánaolvasgatást nem pótolja, nem helyettesíti. Fizetségképpen pedig ne sört küldj, hanem kérem elpostázni a karácsonyról megmaradt szaloncukor mennyiséget 
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    ClientSocket, ServerSocket használatát próbálgattam, és belső hálózaton működik.
    Hogy lehet megvalósítani a kapcsolatot, ha a szerver, és a kliens is egy külön router mögött van.
    Gondolom tűzfalbeállításokkal portbeállításokkal is kell majd foglalkoznom.
    Elméletben van két internet előfizetés, mindkettőnél van egy modem, ami ad egy IP címet a routernek.
    A router pedig széttosztja lokális IPcímekre .
    Hogy találja meg egymást a kliens, és szerver?
    Szájbarágósan is lehet!
    Amúgy BÚÉK mindenkinek.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd