Forrás ip cím

Fórumok

Ha van egy interface-en több ip cím is, pl eth0 10.1.1.1/24 eth0:0 10.1.2.1/24 eth0:1 10.1.3.1/24, akkor hogy tudom azt megadni, hogy egyes esetekben melyik forrás címet használja?

Hozzászólások

"hogy tudom azt megadni, hogy egyes esetekben melyik forrás címet használja?"
Az adott programtól (konfigurációjától, paraméterezésétől) függ.

Q: Van a házamon több ajtó is. Hogyan tudom megmondani a cimbiknek, hogy melyiken jöjjenek be?
A: Megmondod nekik
Q: Na de hogyan?
A: Úgy, hogy Pista, te az első, Géza, te a másodikon, Ubul, te pedig a harmadikon!
Q: Na de mi az, hogy Pista, Géza, Ubul?
A: Na de mi az, hogy egyes esetekben?

Tehát ez egy cluster lenne. Amikor aktív lesz felvesz még 2 ip címet a sajátja mellé, amiből az egyik lesz az alapértelmezett.
A kérdés, az az, hogyan tudok úgy egy ssh kapcsolatot indítani az épp aktív géről, hogy az ne az alapértelmezett címmel hagyja el, hanem ugyanazon interface-en lévő másikkal?

eth0 inet addr:10.1.1.1/24
eth0:0 inet addr:10.1.2.1/24
eth0:1 inet addr:10.1.3.1/24 - ez az alapértelmezett

Hogy tudom megoldani, hogy a 10.1.1.1-es címmel forduljon más eszközökhöz?

A kérdés, az az, hogyan tudok úgy egy ssh kapcsolatot indítani az épp aktív géről, hogy az ne az alapértelmezett címmel hagyja el, hanem ugyanazon interface-en lévő másikkal?

a) opció: Megmondod annak a szerencsétlen ssh-nak. Már ha meg tudod neki mondani... (openssh: -b opció) ugye ez azt jelenti, hogy konkrétan minden egyes programnak, aminek szeretnéd megmondani, annak támogatnia kell ezt a dolgot, és persze minden egyes programnak egyesével, külön-külön meg kell mondani.

b) opció: Routing beállításokkal eléred, hogy az adott irányba azt az ip címet tudja a gép csak használni. Ez sokkal nehezebb, és sokszor a hálózat kialakítása eleve nem is teszi lehetővé (pl. ha ugyanabban a subnetben van több címed, akkor jellemzően ez nem egyszerű).

c) opció: iptables MASQ, iptables SNAT

d) opció: policy-based routing (ip rule)

e) opció: LD_PRELOAD használatával egy kis .so hozzátákolása a kívánt programhoz, ami felülbírálja a socket/connect hívásokat, és egy environment változó, vagy valami szabályhalmaz alapján az a) opcióban emlegetett támogatás nélküli programokat is ráveszi arra, hogy a connect előtt nyomjanak egy bind-ot.

[off]
Szerintem neked jobb lenne ebben az esetben VLAN-t használni...
[/off]
Kédésedre kérdéssel válaszolnék: Kérés esetéről vagy válasz esetéről beszélünk? Azaz mi az hogy egyes esetekben?
--
Debian Linux rulez... :D

- vagy a programnak mondod meg, hogy melyiken mennyen ( man connect )
- vagy route tablaval monded meg melyik iranyba min ekresztul mennyen