Ü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ó!
- 4757 megtekintés
Hozzászólások
"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?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Az ilyen gányolások átmeneti megoldások életciklusa szokott a leghosszabbra nyúlni :-P
- A hozzászóláshoz be kell jelentkezni
зарегистрироваться
- A hozzászóláshoz be kell jelentkezni
„magyarul˝ subscribe? :D
- A hozzászóláshoz be kell jelentkezni
Oui :)
- A hozzászóláshoz be kell jelentkezni
+1
Engem is érdekelne a megoldás.
- A hozzászóláshoz be kell jelentkezni
Az hogy leszel-e nyugdíjas? :)
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
proxy!
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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 hozzászóláshoz be kell jelentkezni
A fentebb vázolt Xen-es témához melyiket javasolod?
- A hozzászóláshoz be kell jelentkezni
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.)
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Az "egy darabig" szerinted mennyi idő? Azért ha nyugdíjba mész, az utódodnak mutasd meg ezt a topicot :-P
- A hozzászóláshoz be kell jelentkezni
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? :)
- A hozzászóláshoz be kell jelentkezni
Február közepén térjünk vissza a témára. Mármint a jelenlegi gép nyugdíjazására :-D
- A hozzászóláshoz be kell jelentkezni
redir ? az pont azt csinálja, hogy x ip cím y portját, z ip cím c portjára küldi.
- A hozzászóláshoz be kell jelentkezni
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!
- A hozzászóláshoz be kell jelentkezni
Ezt ki fogom próbálni! Köszönöm!
- A hozzászóláshoz be kell jelentkezni
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!
- A hozzászóláshoz be kell jelentkezni
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!
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
"é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
- A hozzászóláshoz be kell jelentkezni
[feliratkozás]
- A hozzászóláshoz be kell jelentkezni