interesanta idee; nu am facut programare la nivel de agatzat apeluri pe linux, nu credeam ca se poate face ;) in cazul meu cred ca mai simplu e sa folosesc iptables
Octavian Purdila wrote: >On Wednesday 19 January 2005 04:16 pm, Eduard Gheorghiu wrote: > > >>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. >> >> > >Daca chiar ai nevoie de conexiuni cu IP2 si pentru aplicatii la care nu poti >sa specifici sursa, mai exista o posibilitate: o biblioteca care sa >incercepteze bind/connect/socket/etc., si in functie de anumiti parametri >(variabile de mediu de exemplu) sa forteze bind-ul. Si nu zic asta la modul >general, chiar am folosit solutia asta intr-o situatie oarecum similara si >merge pentru aplicatii ce folosesc TCP/UDP (lynx de exemplu). E mai complicat >un pic la ping/traceroute. > >tavi > >--- >Detalii despre listele noastre de mail: http://www.lug.ro/ > > > > > --- Detalii despre listele noastre de mail: http://www.lug.ro/
