több eszköz elérése, melyek ugyanazon belső IP-n vannak

Sziasztok!

Van több eszköz, melyeken ugyanaz a belső IP van beégetve, ezeket nem lehet módosítani.
Pl.:
A eszköz: 192.168.20.20
B eszköz: 192.168.20.20
C eszköz: 192.168.20.20

Ezekből az eszközökből szeretnék információkat kinyerni lehetőleg úgy, hogy minél kevesebb plusz eszközt használjak fel.

Eddigi elgondolásom:
Eszközök elé tennék egy-egy RaspberryPi -t plusz USB-s hálókártyával.
A Raspberryk egyik interface-re felvenném mondjuk a 192.168.20.1-et, a másikra pedig független IP-ket, pl.:
A RPI: 192.168.1.10
B RPI: 192.168.1.11
C RPI: 192.168.1.12

A Raspberry-n beállítanék egy-egy portforwardot, s így a 192.168.1.10, 192.168.1.11, 192.168.1.12 -t kérdezve megkapom a szükséges infókat.

Szerintetek megoldható-e ez valahogy kevesebb, mondjuk csak egy Raspberry + 3db USB-s ethernet felhasználásával?
Esetleg valami más eszközzel?

Köszönöm!
Arwin

Hozzászólások

Szerkesztve: 2020. 04. 30., cs – 17:23

Raspberry + 3db USB-s ethernet felhasználásával

Meglepne... (bár hálózati mindentudó nem vagyok) De mondjuk, ha egyszerre szigorúan csak az egyik van jelen a hálózaton, akkor egy rPi+kártya elég... :-)

De úgy mégis: Mi a repedtretek az a cucc, amibe az IP-t beégették???? 

Szerkesztve: 2020. 04. 30., cs – 18:05

Ha nem kell egyszerre fent lenniük a hálózaton és nem túl gyakran (pl. nem másodpercenként) akarod mindegyiket lekérdezni akkor meg lehet oldani, hogy egyszerre mindig csak egy legyen fent a hálózaton és round robin jelleggel is kérdezgetheted őket.

Ezt kétféleképpen is össze tudod gányolni:

1. fogod az egy darab raspberry-t meg a 3 usbs hálókártyát és fel-le kapcsolgatod az interfészeket egy scripttel (mindegyiknek lehet pl. 192.168.20.1 a címe)

2. fogsz egy menedzselhető switchet (ha van ilyen kéznél) és fel-le kapcsolgatod a portokat egy scripttel.

Természetesen mindkét esetben a különböző eszközök ugyan azon a 192.168.20.20 címen lesznek elérhetőek különböző időpillanatokban, tehát a konkrét lekérdezést is célszerű a fenti scriptben csinálni, mert ott van róla információd, hogy melyik interfész van fent, tehát, hogy valójában A B vagy C eszközről jött-e a lekérdezés eredménye.

A kanonikus válasz pedig az, hogyha van 3 ilyen eszközöd amiben hardkódolt az IP, akkor a szélrózsa 4 irányából válassz 3-at és arra hajítsd el őket, lehetőleg minél messzebbre.

Ha van managelheto switch akkor vannak vlanok, mindhárom cucc portja kulon vlan, az rpi fele trunk, rajta meg ip namespacek az ip utkozes miatt és csá. Ez utobbi egyébként kelleni fog a három ethernetes mókánál is, az ebből a szempontból mindegy, hogy fizikai vagy vlan interfacek vannak az eszközök fele.

Szerk, most latom hogy harom pit almodtal, nem kell, eleg egy. Azt meg meg kell nezni hogy harom har ethernet az olcsobb vagy valami ergya managelheto 5 portos switch

Szerkesztve: 2020. 04. 30., cs – 20:17

Mondjuk az előtétkészülék NAT-olhatna a három csodakészüléknek.

     +-------------------+           +-----------------+
     |   ELŐTÉTSZERVER   |           | 3xCSODAKÉSZÜLÉK |
eth0 + 10.20.30.40       |           |                 |
     |      192.168.20.4 +-eth1------+ 192.168.20.20   |
     |      192.168.20.5 +-eth2-     |                 |
     |      192.168.20.6 +-eth3-     |                 |
     +-------------------+           +-----------------+

Az előtétszerver proxyként elképzelve:
  forward/nat:
    10.20.30.40:81 -> eth1:192.168.20.20:80
    10.20.30.40:82 -> eth2:192.168.20.20:80
    10.20.30.40:83 -> eth3:192.168.20.20:80

Az előtétszerver routerként elképzelve:
  forward/nat:
    10.20.30.41:80 -> eth1:192.168.20.20:80
    10.20.30.42:80 -> eth2:192.168.20.20:80
    10.20.30.43:80 -> eth3:192.168.20.20:80
Szerkesztve: 2020. 04. 30., cs – 19:08

A NIC-ek fizikai cime mas?

Mert, ha igen, akkor talan megeroszakolhatod a halozati eszkozok ARP tablajat (switch, PC, barmi), hogy epp melyiket higyjek el elonek. Legjobb a tok buta HUB, az nemis torodik semmivel.

Egy vlan-képes switch, három portján egy-egy access vlan, az 'okos' eszköz felé egy trunk, ahol mindhárom vlan rajta van. Az meg majd válogat, hogy melyik vlanra küldi a forgalmat. Még így is trükközni kell valahogy az azonos IP-k miatt, de valahogy megoldható.

Slinky már leírta a jó megoldást. Kell annyi router, ahány ilyen "érdekes" eszközt szeretnél elérni. Ezek a routerek lehetnek virtuálisak is, tehát egy L3-as switch is jó a feladatra, ami VRF-képes, bár könnyen lehet, hogy régi, elfekvő SOHO routereket és egy mezei switchet felhasználva olcsóbban lehet megvalósítani a dolgot, mintha veszel egy alkalmas L3-as switchet (hacsak nem tudod azt is olcsón, használtan megszerezni).

nemkell 3 gep, linuxban mar van network namespace is: abba bele tudod kotni (vagy 3 ethernet kartya+direct kabel, vagy okos switch+vlanok) az interfaceket. belul is lehet iptableselni. igy kivulrol szolithatod oket mas-mas ipvel, belul meg dnat-olodik a 20.20-ra

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Ez nem VRF, de van külön VRF támogatás is linuxban, ami ortogonális erre. Mindkettővel meg lehet oldani a fenti problémát, egyiknél ns exec fog kelleni, hogy az adott namespace kontextusából futtass parancsot (ami így az adott interfészt éri csak el ami benne van) a másiknál ugyan ez a ip vrf exec, itt más routing táblát fog csak használni, nincs teljes network stack szeparálás.

Persze, ha egy buta switch meg egy gép van, akkor nyilván az arppal kell kezdeni valamit, de a mondat, amire reagáltam, az úgy kezdődött, hogy "Ez, meg .. az arp ..." Ha van valami plusz interface, akkor nem kell.

Illetve azért mire az ember ezt valamennyire kultúrra szopja ebtalbles + iptables + kitudjami segítségével, az lehet, hogy olcsóbb lesz, de egyszerűbb nem hiszem. Pláne, ha a készítő hálózati ismeretei a beteszek három rpit szeparáláshoz szinten vannak.

virtuális gépeket hozol létre, mindegyiknek adsz 1-1 fizikai ehernet kártyát, a virtuális gépeken pedig forwardolod a használt portokat.