[MEGOLDVA]IP cím "továbbítás"

 ( djpety | 2012. január 13., péntek - 2:29 )

Üdv!

Adott két gép, Debian 6 rendszerrel. Két külön helyen vannak, és az egyik géphez tartozó ip címekre érkező forgalmat kellene átirányítani a távoli géphez tartozó "új" ip címekre. Tehát egy migrálásról van szó. Ami még jobb lenne, ha tunnel segítségével fel tudnám venni a másik gépen az első gép IP-it. Eddig ezzel nem jártam sikerrel.

Létrehoztam az IPIP tunnel-t, meg is adtam mindent korrektül, lokális IP-vel tudom is pingelni a két felet a tunnel-en keresztül, de a másik fél IP-jét nem tudom fel venni (játszadoztam route-al, de nem igazán sikerült).

Tudna valaki erre konkrét parancsokat?

Előre is köszönöm!

Szerk.: A probléma megoldva DNAT segítségével, a megoldás lentebb olvasható!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

"az egyik géphez tartozó ip címekre érkező forgalmat kellene átirányítani a távoli géphez tartozó "új" ip címekre"
Source + destination NAT? Milyen forgalomról lenne szó?

"a másik fél IP-jét nem tudom fel venni"
Jobb is az úgy (bár az ifconfignak vagy ipnek meg lehetne adni). Akkor ugye felmerülne az a kérdés, hogy pl. a 198.51.100.1 IP valójában melyik gépet is jelentené. Persze ha van az eredeti gépnek másik IP-je is, akkor semmi gond.

Amúgy a DNS módosítása (TTL minimalizálás után) nem lenne sokkal egyszerűbb út?

Xen domU-k kerülnek migrálásra, tehát több ip-ről van szó. A cél átmenetileg megtartani a régi ip címeket. Például úgy, hogy a tunnel-t bridgelem xenbe, így megmaradna minden elvileg.

Az ilyen gányolások átmeneti megoldások életciklusa szokott a leghosszabbra nyúlni :-P

зарегистрироваться

„magyarul˝ subscribe? :D

Oui :)

+1
Engem is érdekelne a megoldás.

Az hogy leszel-e nyugdíjas? :)

Ez nagy kérdés. :)
Lehet, hogy addigra azt sem fogjuk már tudni, mi az a nyugdíj, csak valami halvány emlék lesz.

proxy!

lehet, hogy kicsit túllövés, vagy butaság, amit mondok, de miért nem csinálsz egy VPN kapcsolatot a két gép között, és a VPNben megadott "belső" ip címre forwardolod a csomagokat...? csak tipp

Többesélyes.

a.) csinálsz egy transzparens Layer 2 bridge-et a két telephely között, akkor natívan tudod használni ott is az eredeti Layer 3 hálózatodat, az eredeti IP címekkel

b.) becsatlakozol a túloldalról valami pont-pont technológiával, ami fölött tudsz proxyarp-ot csinálni, ekkor szintén használhatod az eredeti IP-t

c.) csinálsz egy sNAT-ot, hogy az új telephely a régin keresztül lásson ki a világba. ekkor a bejövő kéréseket dNAT-tal tudod beirányítani az új rendszerre

d.) alkalmazásszintű proxy-t használsz.

A fentebb vázolt Xen-es témához melyiket javasolod?

A topicnyitóból nem derül ki számomra, hogy mi lesz a régi telephelyen lévő gép sorsa. Ha szeretnél onnan átköltöztetni minden szolgáltatást, majd a régi gépet kikapcsolni, akkor nyilván nem célszerű "ráépíteni" a régi gépre egy NAT-ot, és függővé tenni az új gép netkapcsolatát a régitől. Persze, ha ez csak egy ideiglenes megoldás, hogy ne legyen szolgáltatás-kiesésed, amíg mindent fel nem konfigurálsz az új hálózatra, akkor jó.

- Ha csak HTTP szolgáltatást kell nyújtani, akkor valószínűleg d.) csinálnék gyorsan egy reverse proxy-t, és kész

- Ha sokféle szolgáltatást kell nyújtani, ami a virtuális gépek tipikus esete, akkor c.)

- Ha ez nem egy ideiglenes állapot, hanem fixen két (vagy több) telephelyre szeretnél berendezkedni, és rugalmasan szeretnél ide-oda áthelyezni szolgáltatásokat, akkor a.)

Az új gépre átmigráljuk a XEN domU-kat, amik megkapják az új IP címeket, és ezzel párhuzamosan szeretnénk elérhetővé tenni még a régi ip címekről is egy darabig. Egy az egyben kellene átirányítani, mert nem tudjuk pontosan melyik domU-n milyen portok vannak használatban jelenleg.

Szerk.: A régi géppel a jövőben más célok lesznek, de átmenetileg CSAK emiatt futna még egy darabig.

Az "egy darabig" szerinted mennyi idő? Azért ha nyugdíjba mész, az utódodnak mutasd meg ezt a topicot :-P

1 hónap maximum. Ezúton is köszönöm, hogy már a nyugdíjazásomra gondolsz. De ha már ennyire előre látó vagy, szerinted leszek-e valaha nyugdíjas? :)

Február közepén térjünk vissza a témára. Mármint a jelenlegi gép nyugdíjazására :-D

redir ? az pont azt csinálja, hogy x ip cím y portját, z ip cím c portjára küldi.

mar pontosan nem emlexem hogy, de csinaltam hasonlot: openvpn tunnel a ket gep kozott. regi helyen dnattal atdobtam a forgalmat az uj hely ipjere es egy route bejegyzessel bezavartam a forgalmat a tunnelbe:

iptables -t nat -A PREROUTING -d 1.2.3.4 -j DNAT --to-destination 5.6.7.8
route add -host 5.6.7.8 netmask 255.255.255.255 dev tun0

aztan a masik oldalt a tunnelbol kilepo csomagoat megjeloltem, a valasz csomagokra meg visszarakattam az jelolest:

iptables -t mangle -A PREROUTING  -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -i tun0  -j MARK --set-mark 10
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark

majd a megjelol csomagokat a tunnelbe iranyitottam:

iptables -t mangle -A POSTROUTING -s 5.6.7.8 -m mark --mark 10 -j ROUTE --oif tun0

az iptables ROUTE target kell hozza.
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Ezt ki fogom próbálni! Köszönöm!

mar nem tudom szerkeszteni, de a restore mark-ot az OUTPUT-ba kell rakni. (mivel a processektol jovo packetekre akarjuk visszarakni a jelolest)

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Hosszas próbálkozások után sikerült összehozni a megoldást. A célt teljesíti, a régi IP-kről is elérhető minden szolgáltatás, de már az újról kommunikálnak kifelé a domU-k.

Ez a 2+n*2 sor kell lényegében (n = IP címek száma) az egészhez, felesleges volt tunnelben gondolkodnom.

echo 1 > /proc/sys/net/ipv4/ip_forward #IPv4 Forward be.
ip addr add 1.2.3.40/24 dev eth0 # Régi domU IP címek felhúzása dom0-ra (Ezt minden ip címre megismételve)
iptables -t nat -A PREROUTING -d 1.2.3.40 -j DNAT --to 5.6.7.80 # Az első cím a régi, a második az új. (Ezt is megismételni minden ip címre)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Remélem másnak is hasznára válik!

Azért azt az apróságot nem árt észben tartani, hogy ezzel a "megoldással" a régi címre próbálkozók ugyan elérik az új címre költöztetett szolgáltatást, azonban a próbálkozók forráscíme elveszik. Az új címen pl. a webszerver azt fogja látni, hogy mindenki a régi dom0 IP címéről kérdez tőle, mintha az egész világ egyetlen IP címből állna csak. Ez mondjuk bizonyos szolgáltatásokat megzavarhat, security szempontból pedig tud kellemetlen is lenni.

Ez igaz, de ez tényleg csak kis ideig megy, amíg átrakják az emberek a domainjeiket az új címre, esetleg értesítik az illetékeseket a cím változásról.

"értesítik az illetékeseket a cím változásról". Értesülnek ők róla - pláne, ha a DNS-ben rövid TTL-lel megcsinálod a címváltást... Aki meg beégetett címmel ír alkalmazást, az meg is érdemli, hogy ne működjön a cucca :-P

[feliratkozás]