Revin cu o reformulare a problemei Am un LAN cu: - calculatorul LINUX - 2 routere cu IP-urile GW1 si GW2 LINUX are doua IP-uri pe aceeasi placa de retea, IP1 si IP2 GW1, GW2, IP1 si IP2 sunt in acelasi subnet. Pe LINUX am definit source-routing cu doua reguli si doua tabele de rutare T1 si T2 pentru aceste reguli. Tabelele contin rute default, astfel: sursa IP1 --- lookup T1 --- default via GW1 sursa IP2 --- lookup T2 --- default via GW2 Situatia e cumva anormala pentru ca exista o suprapunere de IP-uri in alte subnet-uri, care sunt dincolo de GW1 si GW2. Un client IPCA-IP1 care e dincolo de GW1, ajunge la IP1 prin GW1 iar intoarcerea trebuie sa se faca tot prin GW1; daca se face prin GW2 raspunsul ajunge la IPCB-IP1 (da, tot IP1). Intrucat nu pot elimina aceasta suprapunere de adrese, am recurs la varianta cu source-routing pe LINUX. Solutia merge perfect atunci cand sesiunile TCP sunt initiate din afara. Problema e ca source-routing-ul nu functioneaza pentru sesiuni initiate de pe LINUX si pentru care nu specifica in bind() ce adresa sursa sa fie utilizata. Ca sa rezolv sunt nevoit sa pun in MAIN ruta catre GW1 dar asta inseamna ca nu pot initia conexiuni de pe LINUX decat catre IP-uri care sunt dincolo de GW1. Inteleg ca IP-ul sursa implicit este IP1, cel primary. Deci pot pune GW-1 din T1 in MAIN si-mi vor functiona conexiunile cu bind() implicit cu IP1src - via GW-1. Practic pot renunta la T1 si pot face source-routing doar pentru IP-2 iar daca vreau sa initiez conexiuni cu IP2 ca sursa, n-am decat sa caut aplicatii la care se poate specifica ip-ul sursa. In concluzie: - ip-ul default e cel primary - nu pot initia conexiuni cu ip default daca nu am rute in MAIN - daca o aplicatie trebuie sa plece cu ip-ul secondary, trebuie sa il dea ca parametru la bind(IP2) - trebuie sa fac source-routing doar pe IP2 (IP1 merge pe tabela MAIN) /lonely wolf/ ai dreptate, problema nu poate fi rezolvata numai din rutare; fiind o situatie de situatie de suprapunere a ip-urilor, numai aplicatia poate sti la care din IPCA/B sa se conecteze, adica ce ip sursa trebuie sa foloseasca
lonely wolf wrote: >Octavian Purdila wrote: > > > >>On Wednesday 19 January 2005 02:45 pm, lonely wolf wrote: >> >> >> >> >> >>>problema lui este ca are doua ip-uri din acelasi subnet, pe aceeasi >>>interfata. asa ca algoritmul selectiei pe baza adresei gateway-ului nu e >>>suficient >>> >>> >>> >>> >>> >>Problema e cauzata de faptul ca in main nu exista rute catre adresa >>destinatie >>(de unde si "no route to host"). >> >> >> >> >corect > > > >>Daca nu exista cerinte suplimentare, un route add -net default gw GW1 (sau >>GW2) rezolva problema. Dar am impresia ca nu asta se doreste... :) >> >> >> >> >dat fiind ca ambele IP-uri ale interfetei sint din aceeasi subclasa, are >un singur gateway > > > > --- Detalii despre listele noastre de mail: http://www.lug.ro/
