default gw interface

Lenne egy gép saját eth0 interface-szel, és erre szeretnék egy másidlagos ip címet felvenni az eth0:0-ra. majd elérni azt, hogy a gép ha ez az interface (eth0:0) létezik akkor ezzen az interface-en azzel az ip-vel küldje a csomagokat, ha viszont nincsen akkor az eth0-on és annak az ip-jével.

tudom iptable nat megoldaná fél perc alatt, de most ettől eltérő megoldást keresek, ami ezt dinamikusan kezelné le.

Ami fontos, hogy milyen ip-vel hagyja el a gépet a csomag.

Hozzászólások

Mi határozza meg, hogy "létezik-e" az IF? Kézzel húzod fel, vagy hogy fizikailag be van-e dugva?
Ha manuálisan átállítod a default gw-t arra az IF-re, akkor elvileg mennie kell.

/etc/network/if-up.d/
/etc/network/if-post-down.d/

/etc/network/interfaces file debian alatt:

auto eth0
iface eth0 inet static
address 172.16.0.6
netmask 255.255.255.0

auto eth0:1
iface eth0:1 inet static
address 192.168.30.128
netmask 255.255.255.0

és így tovább...

Erre voltál kíváncsi ?

szerintem nem hanem a default gw-t akarja dinamikusan allitgatni, ha nincs BGP vagy ilyesmi akkor kell valamit írnod ami pingeti a default gateway-t aztán ha nem ping akkor a script lehuzza majd a jot ismet fel.

Namost ip.up meg ilyesmi (link figyelese itt nem jatszik leven egy fizikai etherneten figyel mind a ketto tehat az feltehetoen switch-be van dugva es azon tul letezik a get gateway...) nem mukodik, tehat jobban jarsz ha magad irod meg.

Nezegesd a linux box with 2 ISP iromanyokat

Szerk.: bar ha jobban elolvasom akkor a 1soproni altal irt /etc/network/if-up.d/ -ben szepen lehet kezelni a problemat.

Ha van lan, akkor csak a virtuális kártyát akarod használni vagy - bocs ha értetlen vagyok, de számomra nem derül ki mit akarsz egészen pontosan - azt akarod, hogy kifelé az eth0:1 címével küldjön csomagokat, de az eth0-án füleljen ? Azaz ha az eth0:1 aktív, akkor azon akarsz forgalmazni teljes egészében ?

> Nekem az kéne, hogy az eth0:1 címével lépjen ki a csomag. Tehát ha csatlakozik valahova, akkor a távoli gép ezt a címet lássa.

http://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_if…

"The IP address of the active interface with the lowest metric value becomes the originating one."

Úgy tűnik, hogy félreértés van. Az alias nem jelent teljes funkcionalitású interfészt, lényegében csak egy interfészhez rendelt IP-t. A fent javasolt ifmetric pont ezért nem használható megoldás. Nem arra van szükség, hogy azt mondd meg, hogy melyik interfészen menjen ki, hanem hogy melyik forrás IP-ről. Ez a helyileg kezdeményezett kapcsolatoknál alapértelmezésként a routing tábla alapján kiválasztott interfész elsődleges IP-je. Ezen a source NAT segít. Vagy az adott alkalmazás beállítása.

"...ha ez az interface (eth0:0) létezik akkor ... azzel az ip-vel küldje a csomagokat, ha viszont nincsen ..."
Mitől függ az, hogy van-e vagy nincs? Mitől dinamikus a léte? Konkrétan mi a megoldandó fő probléma?

"cluster közös ip címével kezdeményezzen kapcsolatot"
Ez azért nem ennyire egyszerű és triviális. Például azt miként oldod meg, hogy a passzív node által a cluster virtuális IP-jével kezdeményezett kapcsolatban a válaszcsomag ugyanerre a (passzív) node-ra érezzen vissza, holott ő nem válaszolhat erre az IP-re, mivel nem aktív?

"a gép ha ez az interface (eth0:0) létezik akkor ezzen az interface-en azzel az ip-vel küldje a csomagokat, ha viszont nincsen akkor az eth0-on és annak az ip-jével."
"egy cluster közös ip címével kezdeményezzen kapcsolatot, akár melyik node is az aktív és na a sajátjával."
Lehet, hogy nem jól értettem, de ezek ellentmondásban vannak egymással. Most ugyanis azt mondtad, hogy függetlenül a cluster állapotától (az eth0:0 létezésétől), mindenképpen a cluster IP-jével szeretnél kifelé kommunikálni. Tehát az interfészállapottal nem kell törődni. A topiknyitóban pedig éppen az interfészállapottól kívántad függővé tenni a működést.

Célszerűen a routeren lehetne beállítani egy NAT-ot, hogy mindhárom IP-ről induló kapcsolatokat egy külső IP-re fordítsa át.

> hogy adom meg, hogy a route a eth0:1 felé menjen?

A 'gateway'-el. Pld:


iface eth0 inet static
  address   192.168.1.111
  netmask   255.255.255.0
  network   192.168.1.0
  broadcast 192.168.1.255
  gateway   192.168.1.1
  metric 1

iface eth0:1 inet static
  address   192.168.1.222
  netmask   255.255.255.0
  network   192.168.1.0
  broadcast 192.168.1.255
  gateway   192.168.1.1
  metric 0

Így két "default route" lesz, a csomagok a kisebb metrika miatt az eth0:1-en lépnek ki, 192.168.1.222 forrás címmel.

Valóban igazad van, szinte mindent lehet, csak kellő kitartással kell bújni a netet :)

Előttem eddig elbújt ip parancs és a rá épülő dolgok segítségével megoldható a dolog.
Az ip lehetőséget biztosít, hogy egy adott tartomány , vagy gw felé menő forgalom forrás címe megadható legyen.

Aki hasonlóba futott és szintén annak: http://lartc.org/manpages/ip.txt

Köszönöm mindenki segítségét.