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.
- 2169 megtekintés
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.
- A hozzászóláshoz be kell jelentkezni
/etc/network/if-up.d/
/etc/network/if-post-down.d/
- A hozzászóláshoz be kell jelentkezni
/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 ?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Ez már megvan, köszi. 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.
Nincs 2 ISP, egy IF van, de 2 IP cím, és a eth0:1-et akarom használni ha van.
- A hozzászóláshoz be kell jelentkezni
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 ?
- A hozzászóláshoz be kell jelentkezni
ahha ertem, akkor neked elkepzelheto, hogy iproute2 meg policy routing kell. Ja és ha SNAT-olsz --to-source -ra akkor arról is kell gondoskodni.
- A hozzászóláshoz be kell jelentkezni
> 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."
- A hozzászóláshoz be kell jelentkezni
Köszi, pont erre gondoltam, amint tudom kipróbálom
- A hozzászóláshoz be kell jelentkezni
ez szépen beálítható, de hogy adom meg, hogy a route a eth0:1 felé menjen? mikor megadom, a route táblában csak eth0 látszik
- A hozzászóláshoz be kell jelentkezni
Ú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?
- A hozzászóláshoz be kell jelentkezni
hogy 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.
erre legkézenfekvőbb a nat, de gondoltam megoldható ez másként is.
- A hozzászóláshoz be kell jelentkezni
"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.
- A hozzászóláshoz be kell jelentkezni
a psssive node megy a sajátjával, mivel ott nem lenne eth0:0, az active node meg a közössel menne, mivel ott lenne
egy olyan routeing kialakítás lenne a cél, amit dinamikusan kezel a kialakult helyzetnek megfalalően
- A hozzászóláshoz be kell jelentkezni
> amit dinamikusan kezel a kialakult helyzetnek megfalalően
Akkor még szükség lesz: arping, send_arp, fake, vagy valami hasonló szoftverre is, hogy a switch(ek) is értesüljenek az IP/MAC címek változásáról.
- A hozzászóláshoz be kell jelentkezni
> 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.
- A hozzászóláshoz be kell jelentkezni
és local host esetében?
- A hozzászóláshoz be kell jelentkezni
> és local host esetében?
Mit szerettél volna kérdezni?
- A hozzászóláshoz be kell jelentkezni
Köszönöm mindenki segítségét, de be kell látnom, amit nem lehet azt nem kell eröltetni
- A hozzászóláshoz be kell jelentkezni
> be kell látnom, amit nem lehet azt nem kell eröltetni
Mit nem lehet?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
...hát erről beszéltem nyuszómuszó... :-)
"ahha ertem, akkor neked elkepzelheto, hogy iproute2 meg policy routing kell. Ja és ha SNAT-olsz --to-source -ra akkor arról is kell gondoskodni."
- A hozzászóláshoz be kell jelentkezni