Am două mașini pe subrețea diferită. Să presupunem că unul este 1.1.1.1/8, în timp ce celălalt este 2.2.2.2/8. Cei doi sunt capabili să vorbească printr-un router comun.
Mașina 2.2.2.2 are o interfață internă pe o a treia rețea locală 176.16.1.1/24. O aplicație ascultă pe această interfață. Routerul nu cunoaște subrețeaua 176.16.x.x.
Pe 1.1.1.1 vreau să pot trimite date către interfața 176.16.1.1.
Vreau ca 1.1.1.1 să genereze pachete IP cu o sursă=1.1.1.1 și destinație=2.2.2.2. Pachetele ar trebui să încapsuleze un alt pachet cu sursa 1.1.1.1 și destinația 172.16.1.1.
Mă aștept ca mașina 2.2.2.2 să decapsuleze pachetul și să livreze pachetul intern 1.1.1.1->172.16.1.1 către aplicație. Deoarece 1.1.1.1 este un IP rutabil, aplicația poate răspunde cu un pachet IP standard neîncapsulat.
Orice indiciu despre cum să faci asta ar fi foarte apreciat. Mulțumiri!
Editați | ×
Pe 1.1.1.1 am folosit următoarele
tunel ip adăugați modul ipiptun1 ipip local 1.1.1.1 la distanță 2.2.2.2
linkul ip setați ipiptun1
ip addr add 172.16.0.0/16 dev ipiptun1
Cele de mai sus creează, de asemenea, o intrare în tabelul de rutare
172.16.0.0/16 dev ipiptun1 proto kernel scope link src 172.16.0.0
Și pachetele încapsulate ajung la 2.2.2.2, unde pachetul interior este 172.16.0.0 -> 172.16.1.1.
Cu toate acestea, în ciuda faptului că 2.2.2.2 are o interfață eth0:103 cu adresa 172.16.1.1, datele nu ajung la aplicație. În schimb, un ICMP inaccesibil este returnat la 1.1.1.1.