RS232 és TCP-IP összekapcsolása

Sziasztok!

Lehet, hogy nem a megfelelő topicba írom a hozzászólásomat, így előre is elnézést kérek az esetleges tévedésemért (és egyben kérem az adminokat, hogy helyezzék át a megfelelő helyre, ha valóban eltévedtem).

Gyakorlatilag már hülyére gúgliztam magam az elmúlt hónapokban és az összes létező, erre vonatkozó fórumot már átolvastam, minden emberkét megkérdeztem, beleértve a multicégnél (ahol dolgozom) ügyködő hálózattechnikusokat (akik csak papíron technikusok sajna).

Én és egy barátom, két IP alapú RF (rádiós) modemmel kísérletezünk. A modemek az éteren keresztül "látják" (azaz sikerersen pingelik) egymást, illetve a modemekre kötött gépek is sikeresen pingelik egymást és a rádiókat. A modemekhez tartozó, 32bites Windows XP-s driverek segítségével a PC simán felismerte a modemeket és PPP kapcsolatként kezeli (mert soros porton kapcsolódnak a gépre), IP cím társítható hozzá. Mivel nem klasszikus hardveres-kártyás vezérlőről van szó, ezért számos program úgy veszi ezt a PPP kapcsolatot, mintha ott sem lenne. Pedig a kapcsolat valós, élő, működő, hiszen a VNC nevezetű távoli asztal programot már sikeresen teszteltük rajta: ment oda-vissza.

A cél az lenne, hogy ezt a kapcsolatot valahogy a gép fizikális 10/100-as LAN kártyáján keresztül át-routolni, hogy a hálózat többi gépe is lássa a modemeket illetve hogy a modem is lássa a többi gépet (adatküldés, file küldés, kép küldés stb), valamint olyan megoldást is szeretnék találni, hogy ez a PPP kapcsolat más IP alapú programokkal is használható legyen, pl. LAN-chat applikációk (winpopup utódja) stb.

Gyakorlott hálózati emberkét keresek aki segít nekem, természetesen ha arról van szó, akkor nem ingyen.

Sajnos a modemek gyári programja kizárólag Windows XP alatt működik, és működés közben teljesen az uralma alá vonja a routing table-t, így a manuális route-olás nem lehetséges. Többen azt javasolták nekem, hogy Linux alatt kellene próbálkoznom, azonban ehhez nincsen meg a megfelelő gyakorlatom,

Ha szükséges, akkor részletesebben is kifejtem a problémát, első körben nem akartam kilométereket regélni fölöslegesen. igény szerint akár képeket is tudok prezentálni, hogy könnyebben érthető legyen.

ui: akár privátban, emailben, telefonon, előben is lehet folytatni a diskurzust és a végeredményt megosztani a néppel. Tanulságos lenne pontot tenni ennek az esetnek a végére.

A segítséget köszönöm előre is!

Hozzászólások

Mi a modemek típusa?
Mi az oka annak, hogy nem mást, pl. wifi-t használsz?

Az oka az, hogy szeretek kísérletezgetni :) A Wifi és a megvásárolható 3G modem túl egyszerű lenne. Ez is egy amolyan játék. Mint amikor az ember elmegy horgászni holott a teszkóban is meg tudja venni a fagyasztott pontyot.

A modem típusa ismeretlen, "unimodem"-ként látja a windows. 9600 bps sebességre állítva kommunikál csak a géppel. Egyébként a modem egy adóvevő része, a rádió típusa: Motorola XTL5000. Kezeljük úgy, mint ha ez egy szabványos, hagyományos, 9600 bps sebességű soros modem lenne. A legtöbb szakirodalom így említi.

Esetleg próbáltad a Windows internet kapcsolat megosztása szolgáltatását (ICS)? A modemes időkben ezt használtuk.

Nem hülyeség. De elméletem és emlékezetem szerint ez kizárólaga 192.168.0.x/24 IP tartományban megy, akkor ha a megosztó gép a 192.168.0.1. Ellenkező esetben nem megy.

Azonban ha hozzákapcsolódok a rádiós modemhez a közvetlen kábelkapcsolattal akkor a routing tábla totálisan átalakul, és a modem IP-je lesz a gateway :(

Itt maga a modem a DHCP szerver. Két IP beállítás adható meg. Magának a modemnek az éteren keresztül kisugárzott IP címe, az úgynevezett "air IP" (192.168.10.14) és az az IP amivel a gép felé kommunikál (192.168.10.254). A gépről amihez csatlakozik pingelhető mindkettő. A gépen a PPP kapcsolat automatikus IP-re van állítva, az IP-t a rádióból veszi, a címe 192.168.10.254 lesz,

Konkrétan ilyen feladattal nem találkoztam. Első olvasatban, van egy rádió modemes ppp kapcsolatod.
Milyen eszközként látod ezt a rendszereden - modem?
Mennyire szabványos ez a cucc - modem Hayes AT parancsokkal vezérelhető?
Ha a fentiek igazak akkor nem is igen kellene hozzá driver - definiálhatod mint standard modem.
Ha nem, akkor sajnos a modem firmware -ének egy része (vagy az egész) a PC -n fut (lásd winmodem).
Ha a kapcsolat felépítése után, TCP/IP kapcsolatot használsz a másik géppel, akkor tudnod kellene a gépedet gateway -ként használni - olyat még nem láttam, hogy egy driver fejbe csapja a route táblákat.
Ha a modem(?) tud szabványos modemként üzemelni, én is azt mondanám hogy Linux - akár egy kis Raspberry PI, vagy egy jobb router OpenWRT -vel. Megnézném annak hogy csapná be a route táblázatát :)

* Én egy indián vagyok. Minden indián hazudik.

Windows alatti tapasztalatokat tudok csak megosztani, egészen frissek, ma este jöttem rá pár dologra:

Windows alatt közvetlen soros kábelkapcsolatként telepítettem a cuccot, a modemek fül alatt a "szabványos modem / soros kábel" típust választottam ki.

A közvetlen kábelkapcsolat opciónál töröltem a betárcsázási számra vonatkozó részt és így simán rácsatlakozik a gép a rádiós modemre, a rádió programjában megadott IP-t is átveszi DHCP alapon. A modem az AT avagy Hayes parancsokkal vezérelhető.

Linuxban sajnos semmi tapasztalatom nincsen, hogy merre kellene indulnom úgy, hogy a netet meg tudjam osztani ezen eszközön át a soros port segítségével.

Igen. Sajna a windows (tudtommal) csak mint internet hozzáférést biztosító csatornaként tudja ezt a felállást. Ezért javasolnám a Linux -ba temetkezést, számára a modem -re felépült kapcsolat pont olyan módon kezelhető mint egy hálókártya, így bárhova irányítható.
Nincs a kezed ügyében valaki aki ért hozzá?
(mondhatnék egy kupac irodalmat és linket, de azt sem tudom honnan kellene elindulnod)

* Én egy indián vagyok. Minden indián hazudik.

Igen. Az én felhasználási környezetemben (4800 baud, no flow control) ez stabilan működött. Egyszer próbáltam interneten és nem local hálón keresztül (sok ezer km, a másik vége USA volt), úgy is ment, de az csak kb. kipróbálás volt, pár üzenet váltása, szóval ebből nem érdemes komolyabb következetést levonni.

Emlekeim szerint olyat csinal a windows esten a modemes betarcsazas, hogy bontja a lan oldali kapcsolatot. Az hiszem ezt is lehet a betarcsazas tuljadonsagainal allitani igy ha felepult a kapcsolat akkor is elerheto marad a lan.

Egy felepult kapcsolat eseten a kovetkezoket nezd meg:
-ipconfig /all
-route print

A legjobb állapot akkor áll fenn, amikor a hálókártya le van tiltva és csak a PPP kapcsolat él. Ekkor a rádiós modem a másik rádiós modemet is tudja pingelni az éteren keresztül, az ún. "air IP" ilyenkor elérhető. Az air IP a 192.168.10.14, a routing táblában láthat 192.168.10.15 egy másik IP ami nincsen használva, a rádiós modem a gép felé pedig a 192.168.10.254 címet adja, így ez lesz a PPP címe is. Mindegyik IP átírható a rádiós modem szoftverjében, magában az eszközben. És az Air IP tulajdonképpen a a modemnek az adóvevő egysége amivel a többi hasonló eszközt eléri.

Az alábbi linken látható az ide vonatkozó kép:

http://www.ha5brg.hu/temp/legjobb.jpg

Következő fejezet az amikor mindkét kapcsolat online, vagyis engedélyezve van a hálókártya és a PPP kapcsolat is. Ilyenkor az Air IP a rádióban elérhető vagyis a modem tud másik modemet pingelni.

Az ide vonatkozó route table:

http://www.ha5brg.hu/temp/mind2_online.jpg

És végül az utolsó fejezet, amikor csak a lan kártya van online állapotban és a PPP az lekapcsolt állapotban van, pontosabban: lekapcsolódott. Disconnected.

Az ehhez tartozó rotute table:

http://www.ha5brg.hu/temp/csak_lan.jpg

A hálózaton használt eszközök IP címe:

Router gateway: 192.168.0.99
Gép hálókártya: 192.168.0.1
Modem PPP IP: 192.168.10.254
Modem Air IP: 192.168.10.14

Ha bármit kifejeltettem, akkor szóljatok és pótolom!

Magyarazat egyszeru mind2_online.jpg file-nak nezd meg az elso ket sorat. A teljes halozati forgalmat mind a 2 gw fele route-old es a metrika hatarozza meg melyik iranyba induljon el a csomag.
Ahhoz hogy mukodjon eleg csak azt az alhalozatot route-olni a masik halozatban amit elerni szeretnel.
pl a 192.168.10.14 255.255.255.255 192.168.10.254-et a 0.0.0.0 0.0.0.0 192.168.10.254 helyett

Szuper!

Az alapértelmezett átjáró most már a router vagyis a 192.168.0.99 és emellett pingelhető a rádiós modem minden IP-je (192.168.10.14, 192.168.10.15 és a 192.168.10.254 is).

A következő cél az lenne, hogy a hálózat egyik másik gépéről (192.168.0.109) a routeren keresztül (192.168.0.99) is lássam a 192.168.10.xxx-es hálót vagyis hogy a rádiós modem belásson a belső hálómra.

Most itt állunk:

http://www.ha5brg.hu/temp/fejlemenyek.jpg

A rádiós modemet kezelő gépen ezeket adtam hozzá:

route delete 0.0.0.0 mask 0.0.0.0 192.168.10.254
route add 192.168.10.0 mask 255.255.255.0 192.168.10.254

Ezzel elértem hogy a rádiós modem gépén a 192.168.0.99 azaz a router lett a defaul gateway.

Innentől kezdve a hálózat többi gépén, pl. a 192.168.0.109-esről pingelhető a 192.168.10.254 de sajnos a 10.14 és a 10.15 (a rádiós modem kisugárzáshoz használt címei) nem.

No még egyszer. Van a géped 0.99 amihez kötötted a rádiós modemet, azon már létezik egy route a 10.14 és 10.15 -höz (tudod őket pingelni). Ezt a gépet már nem kell piszkálni NEM cél, hogy minden a beállított lokális hálózatnak NEM megfelelő csomagot ide irányítson, csak ami a 192.168.10.x -be irányul.
A többi gépet kell "kiokosítanod" hogy a 192.168.10.x hálózat felé küldött csomagokat küldje a 0.99 -es gépnek. Azokon a gépeken kell egy route (most nem írom ide milyen lesz a parancs mert azt nekem is fel kellene idéznem).
A 0.99 gép NEM router hanem bridge - két független C osztályú hálót kapcsol össze.

* Én egy indián vagyok. Minden indián hazudik.

A 192.168.0.99 a router. Erre kapcsolódik a rádiós modemet kezelő gép a 192.168.0.1 IP-n keresztül, ez a hálókártya IP-je.

Akkor most próbálkozom a többi géppel :)

...hát...

Hát itt komoly gondok vannak úgy sejtem. Szerencsésebb lenne ezt valakivel telefonon vagy képernyőmegosztással orvosolni, mint így :)

Itt egy egyszerűsített topológia:

http://www.ha5brg.hu/temp/ip.jpg

Most azt sikerült elérni, hogy a 4-es számú PC-ről pingelhető a túloldali rádió és egyszerre van online kapcsolatban a PPP kapcsolat és a fizikális LAN kártya is.

A router egy TP-Link modell, elég új, fél éve szereztem, a pontos típusa: WR-940N.

Az elérendő cél az lenne, hogy a PC 1, PC 2, PC 3 is ugyanúgy lássa a 192.168.10.xxx hálózatot mint PC 4. Továbbá az lenne a cél, hogy a kép jobb szélére rajzolt, túloldali állomás a rádión át egyenértékűen be tudjon nézni a PC 1, PC 2, PC 3 és a PC 4 gépekre is és használni tudja az én netkapcsolatomat a TPLINK routeren át ami a 192.168.0.99

Csak igy gyorsan raneztem az abrara, es nem is fugg ossze a te problemaddal, de a PC1en miert 255.255.255.255 a netmask? okkal van az ott, vagy csak veletlenul sikerult?
amugy ha felveszel valami ilyesmi route-ot mondjuk PC2-on, akkor mi lesz az eredmenye?
route add 192.168.0.50 mask 255.255.255.0 192.168.0.1
# syntaxban nem vagyok biztos - regen windows-oztam :)
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Igazad van! Rossz a subnet. Kijavítottam. Most már mindenhol 255.255.255.0, emellett a kép jobb oldalán lévő gépet ki lehet hagyni a történetből, most (még) nem foglalkozunk azzal.

A lényeg az lenne hogy a PC 1, PC 2 és PC 3 ugyanúgy elérje a 192.168.10.xx hálót mint a PC 4.

Érdekes, hogy PC 4 tudja pingelni a 192.168.10.xxx hálózat összes címét (14, 15, 254) és tudja pingelni a Tplink routert a 192.168.0.99 címen, de nem tudja pingelni sem a PC 1-et, sem a PC 2-t sem a PC 3-at.

Az előzőekhez annyit javítok, hogy a PC 3 (192.168.0.109) meg tudja pingelni a PC 4-et (192.168.0.1) és ez megy visszafelé is, csak a tűzfalat kellet kilőnöm.

Az általad írott parancsot kiadtam, de sajnos így sem érem el a PC 1, PC 2, PC 3 egyikéről sem a PC 4-nek a 10-es alhálózatát.

En azert a pingre ilyen szinten nem tamaszkodnek, mert akar a router (unlikely mondjuk), akar Win belso tuzfala (more likely) is megfoghatja az ICMP forgalmat. ha Win alatt vagy akkor lehet jobban jarnal ha valami Win-en mindenhol elerheto szolgaltatassal tesztelnel, ami a tuzfalakon is ki van engedve (mondjuk SMB).
illetve azt nezd meg hogy a PC4 routing tablajaban van e entry a 192.168.0/24 192.168.0.99 fele.
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Lehet jobb lenne ha valaki hozzáértőbb megnézné ezt az egészet élőben, mert ez a tévédoktorosdi olyan, mintha valakinek el akarnám magyarázni egy rádió működését aki nem ért hozzá :) lehet, csak lassú és nem vezet sokra :)

Egyébként igen, PC4 routing tablajaban van hozzárendelve entry a 192.168.0/24 192.168.0.99 felé

Akkor elvileg ki kene latnod a teljes 192.168.0/24 halozatra.. ha a ping nem megy, akkor az valoszinu azert mert valami blokkolja az ICMP csomagokat. Probald meg leloni a tuzfal(aka)t es az utan probalkozni a pingel, vagy SMB-n keresztul tesztelgetni (ami emlekeim szerint alapertelmezetten engedelyezve van a win tuzfal konfigban).
Amugy en a helyedben orulnek a tevedoktorosdinak is jelen esetben, mert nem tudom mennyien vannak a kozeledben azok kozul akik olvassak a topicot (en pl kulfoldon vagyok mar egy ideje) :)
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

valami nekem itt nem tiszta.. fentebb azt irtad, hogy a PC3-PC4 kozotti kommunikacio mar szepen megy (miutan a PC3on lelotted a tuzfalat), ergo akkor a halozaton belul valami mar mukodik.
A fenti hozzaszolasodbol az is lejon nekem, hogy a PC1, PC2 tuzfalat is lelotted, akkor viszont nem maradt mas csak az hogy atnezd, hogy mi az ami PC3-nal be van allitva, de nincs PC1,PC2-nel (routing?), mert a PC4 lathatoan kepes a halozaton belul kommunikalni.
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Sziasztok!

Mint laikus régi emberke, azt ajánlom nézz utána a windows RAS szolgáltatásának.
A 90-es évek 2000-es évek elején a cégnél 8 alapsávi modemes PPP kapcsolaton keresztül lehetett otthonról elérni a belső hálózatot, és az internetet.
Keres rá windows RAS server szolgáltatásra, ez kell neked hogy, átjáró legyen a PC4, ő lefogja kezelni ezt a problémát.
(Biztosan van Linux megoldása is, de ezzel elsőre gyors megoldáshoz fogsz jutni.

Egy új ablakot nyitotam, mert már kezdtek nagyon kicsik lenni :)

Nos a 4 db PC egymás között tud pingelni a 192.168.0.xxx/24 tartományban.

Egyetlen egy dologgal van gond. A 4-es gépen kívül egyik sem éri el a 192.168.10.xxx/24 tartományt, amin kifelé kellene kommunikálni a rádiós modemen keresztül.

Azért mondtam, hogy privátban szívesen folytatom egy hozzáértővel a diskurzust, megosztom a képernyőmet és minden...mert én nem vagyok biztos a dolgomban.

route add 192.168.10.0 mask 255.255.255.0 192.168.0.1 PC1,PC2,PC3 gepnek azt mondja meg, hogy a 192.168.10.0/24-et merre talalod jelen esetben a PC4 fele. Amirol viszont neked kell gondoskodnod, hogy az oda eljutott csomagnak vissza is kell talalni vagyis a vissza fele route-ot is meg kell csinalni. Ami meg fontos,hogy a PC nevre hallgato gep ugyan abban az alhalozatban van mint a PC1,PC2,PC3,PC4 igy inkabb az javaslonam, hogy ot tedd masik alhalozatba pl 192.168.50.50/24-be

Most a dolgok leegyszerűsítése végett csak 2 géppel foglalkozom. PC 3-al és PC 4-el. PC 4 kiválóan teszi a dolgát úgy tűnik, hála a sok segítségnek amit tőletek kaptam :) Remélem marad is ez a remek állapot és nem kell már piszkálni.

PC 3 azonban a "route add 192.168.10.0 mask 255.255.255.0 192.168.0.1" kiadása után sem hatódott meg és a 192.168.10.xxx/24 címeket még mindig nem éri el...

Erre a részre koncentrálj: " Amirol viszont neked kell gondoskodnod, hogy az oda eljutott csomagnak vissza is kell talalni vagyis a vissza fele route-ot is meg kell csinalni. "

Tehát 192.168.0.50 oldalon is kell lennie egy routing beállításnak ami a 192.168.0/24-es forgalmat a 192.168.10.19-en keresztül visszajuttatja. Amúgy kollégának igazat adok fentebb abban, hogy ez így ebben a felállásban nagyon hülyén néz ki, mert összemosol 2 alhálót egybe, úgy hogy arról a switched nem fog semmit se tudni, ergo egy 192.168.50.0/24 (vagy bármi a 192.168.0.0/24-et leszámítva) tényleg átláthatóbbá tenné a topológiát.
Illetve bónusz pontért : wireshark-al nézd meg a 192.168.10.254 és 192.168.10.251-en átmenő forgalmat (miközben mondjuk PC1-ről próbálod meg elérni PC-t)
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Most én kezdem elfelejteni hogy hol tartottunk és lassan elvesztem a fonalat :) Most kérhetek én egy rajzot? Egyelőre a "másik oldali" 192.168.0.50 gép kimaradhat a képletből és csak a PC 3 és PC 4 ami fontos. Ebben a körben. Kezdő vagyok, lassan fogadom be az infókat :)

ui: nézem a wiresharkot

Igen, pont erről van szó.. Az a baj, hogy ha te kiküldesz egy csomagot egy hálózatra, akkor a válasz csomagnak vissza is kell érkeznie, különben nem kapsz visszajelzést, hogy egyáltalán oda ért e. Tehát a routingot mind 2 irányban fel kell építeni, különben az odaküldött csomagok nem hogy vissza nem jönnek, hanem valami fekete lyukba találják magukat.
Épp ezért mondtam, hogy wireshark-on nézd meg hogy megy a forgalom, mert sztem azt fogod látni, hogy a PC1-ről indított forgalom átmegy PC4-en keresztül, átroute-olódik a 192.168.10.0/24 hálóra, majd az onnan elküldött csomagra nem jön se ACK, se semmi.
Ha ugyan ezt megnézed a másik oldalon (PC), akkor meg tippre azt fogod látni, hogy a csomag bejön, viszont nem tudja milyen irányba küldje vissza a válasz csomagot, és a csomag vagy a semmibe route-olódik, vagy simán eldroppolja a gép.
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Mivel kicsit kínai nekem ez a Wireshark, rá kellett jönnöm, hogy mit nézzek és hol nézzem. Az eredmény az, hogy PC3 és PC4 között szépen látszik az ha egymást pingelgetik a saját 192.168.0/24 tartományban, bejön mindkét oldalon a ping request és ki is megy a reply.

Ellenben ha a PC3 felől indítom a 192.168.10/24 tartományba a pinget akkor az sosem érkezik meg a PC4 gépre.