Puncte:0

Comunicare la nivel de rețea cu mai multe gazde cu același IP, dar adrese MAC diferite

drapel cn

Din cauza unei probleme nefericite de configurare (greșită), am ~ 100 de gazde dintre care adresele IPv6/IPv4 (chiar și IPv6 link-local) sunt toate aceleași și pe care momentan nu le pot schimba. Cu toate acestea, toate gazdele au adrese MAC unice și cunoscute și sunt în același domeniu de difuzare. Este posibil să comunic cu gazdele individual și simultan la nivel de IP, creând eu însumi cadrul Ethernet corespunzător care utilizează adresa MAC cunoscută și nu un MAC obținut prin ARP/...? Toate gazdele (încorporate) rulează o stivă de rețea Linux.

Există wrapper-uri pentru programe existente, cum ar fi curl, care mi-ar permite chiar să mențin o conexiune TCP separată cu fiecare gazdă, permițându-mi să vorbesc cu ele prin HTTP simultan în situația de mai sus? Mi se pare că teoretic acest lucru ar trebui să fie posibil.

Effie avatar
drapel ne
cum puteți face distincția între ele în funcție de IP și de antetul de deasupra?
Zac67 avatar
drapel ru
Hartați fiecare o dată pe ARP static și schimbați-i adresele IP în ceva unic. Poate doriți să luați în considerare DHCP.
Puncte:1
drapel do

La fel de @AlexD indicat, trebuie să asociați manual în mașina dvs. locală adresa IP comună a.b.c.d cu adresa MAC dorită xx-xx-xx-xx-xx-xx a fiecărei gazde la distanță, astfel încât să vă puteți conecta la ea.

În Windows, puteți utiliza arp comandă într-o fereastră de shell de comandă ridicată:

arp -s a.b.c.d xx-xx-xx-xx-xx-xx

Această asociere este permanentă până când este ștearsă cu arp -d a.b.c.d (după cum este indicat de arp -?).

Comenzile și opțiunile -s/-d în Linux sunt aceleași, executate într-un shell cu rădăcină privilegii sau prefixate cu sudo, dar afectează numai memoria cache ARP rezidentă, deci sunt uitate la repornire (man arp este recomandat).

Edit: ca @Zac67 A spus, poate exista o singură pereche IP/MAC pentru fiecare gazdă din rețeaua locală. Acest lucru se datorează faptului că traficul local se face folosind doar ultima adresă MAC cunoscută (găsită printr-o interogare ARP sau o căutare în tabel ARP) pentru o anumită adresă IP. Dacă există alte mașini cu același IP, acestea nu vor fi recunoscute.

Acest lucru se va schimba numai dacă:

  1. [Asocierea a fost statică (realizată de administrator cu comanda arp)] Împerecherea este schimbată din nou de către administrator sau uitată la repornirea acestei mașini dacă nu este permanentă (apoi se va schimba în dinamică). Sau,

  2. [Căutarea a fost dinamică folosind protocolul ARP.] După un timp, rezultatul va fi marcat ca neîncetat și următoarea conexiune va provoca o nouă căutare în rețeaua locală. Apoi o altă gazdă ar putea câștiga cursa pentru a-și oferi adresa MAC.

Asocierea manuală are prioritate mai mare decât cea automată.

Se rezumă la: Putem avea doar o pereche IP/MAC pentru ca gazda de destinație să aibă o comunicare de succes. Dacă există mai multe perechi în rețeaua locală, din cauza unei erori de configurare sau a activităților de malware/hacking, și folosim descoperirea automată ARP, vom avea probleme intermitente sau mai rău.

Desigur, se preferă metoda dinamică cu adrese IP unice; înseamnă mai puțină bătaie de cap pentru administrator... ;)

Zac67 avatar
drapel ru
Ar trebui să adăugați că ARP static funcționează cu o singură gazdă la un moment dat, conexiunile simultane cu mai multe gazde sunt - în general - imposibile.
Puncte:0
drapel ru

Ceea ce ceri este posibil doar ipotetic, dacă ți-ai creat propriul stack de IP.

Dacă utilizați adrese IP, stiva IP utilizează ARP dinamic sau static pentru a determina adresa MAC necesară pentru fiecare IP. Nu poate exista decât o singură mapare la un moment dat. Nu există nicio modalitate ca o aplicație să specifice sau să forțeze o anumită mapare pentru orice conexiune socket. Consultați răspunsul lui @Fjor pentru detalii.

Dacă v-ați creat propria stivă de IP cu un API care permite acea mapare IP-la-MAC pe socket, atunci puteți face ceea ce cereți.

Puncte:0
drapel jp

Puteți dezactiva actualizările ARP primite pe o mașină de gestionare cu arptables și apoi actualizați manual tabelul ARP cu arp pentru fiecare gazdă infirmă una câte una.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.