On 27.4.2009 15:58, Dan Lukes wrote:
IP adresu mozem pridelit inemu serveru, ktory zostava v hostingu. V kancelariach mame jednu IP adresu a sme za NATom.

Jinymi slovy, ty chces puvodni adresu prendat na jiny pocitac, stavajici pocitac kamsi odnest a zajistit, aby pri pristupu na puvodni IP na novem pocitaci dotaz obdrzel stary, prestehovany, pocitac kdesi jinde.

Ano, je to presne tak.

Vysvetlim trosku pozadie. Mame niekolko serverov. Jeden z tych serverov je stary Linuxovy server (ostatne su FreeBSD). Ten linuxovy server som zdedil - ani presne neviem, co vsetko na nom bezi ;-). Ako jedno z protikrizovych opatreni sa firma rozhodla zrusit nejaky server ;-). Dlho som nevahal, ze ktory. Vecsinu dolezitych sluzieb som premigroval ale zostalo tam par, ktore nepojde premigrovat tak jednoducho - naklady na migrovanie by boli mnoho krat vyssie nez je zisk z danych sluzieb. Bohuzial tie sluzby len tak zrusit nemozeme. Napadol ma teda diabolsky plan, ze ten server z hostingu premiestnim do kancelarii.

Myslienka bola taka, ze "vezmem vsetky IP pakety pre dany server, nejakym sposobom ich prepravim do kancelarie a tam ich hodim tomu serveru". Trafficu nie je vela, takze s kapacitou linky nebude problem. Ale nejde iba o nejake TCP sluzby (napr. http server), tie by som si dokazal jednoducho presmerovat. Potreboval by som to urobit co najviac transparentne, napriklad prave aj kvoli tomu IPsecu. Proste idealne aby na tom Linuxovom serveri nebolo potrebne menit skoro ziadnu konfiguraciu.

Konkretnejsie som si to predstavoval takto:
1. Poziadam hosting, aby mi nastavili staticke smerovanie starej IP adresy Linuxoveho serveru na FreeBSD server - to ale asi nebude mozne. Da sa to zariadit aj inac? Napriklad cez ARP? Aby vsetky pakety pre staru IP adresu dostaval FreeBSD server, ale aby ich dalej routoval? 2. Medzi FreeBSD serverom a FreeBSD routerom v kancelarii rozbeham nejaky tunel. Ten tunel by na jednom konci mal lokalnu adresu napr. 10.0.0.1 a na druhom 10.0.0.2. 3. Na FreeBSD serveri nastavim staticke smerovanie starej IP adresy na 10.0.0.2. 4. Na FreeBSD routeri pridam IP adresu o jedna mensiu nez staru IP adresu Linuxoveho serveru s co najmensou maskou... ze tym nebudu dosiahnutelne nejake IP adresy nevadi, jedna sa o backendovy stroj ktory aj tak komunikuje iba s par vybranymi servermi. 5. Na Linuxovom serveri nastavim default router staru IP adresu o jednotku nizsiu. 6. Nejakym sposobom pakety z IP adresy Linuxoveho serveru na FreeBSD routeri poslem zase tunelom na 10.0.0.1. (Uz viem, ze sa zrejme bude jednat o source-routing. Ten ipfw fwd si k tomu nastudujem.) 7. Na FreeBSD serveri sa pakety budu dalej smerovat klasicky na default router.

Dava to takto zmysel? Alebo je tam nieco, co takto principialne nepojde urobit? Asi moze byt problem s tunelom, teda konkretne asi s IPsec-om. Myslel som, ze sa mi podari zabalit IPsec do IPsec-u... ale to mozno nejde. Samozrejme musim poriesit 1. aby sa to dalo smerovat. Ak by to neslo, tak by som musel na FreeBSD serveri staru IP adresu nahodit na rozhranie a potom to riesit nejako inac, len presne neviem ako (napriklad binatom, lenze to by sa musela menit konfiguracia na Linuxovom serveri).

napriklad je tam niekolko pripojeni cez IPsec

To je hezke, ze neco tak duleziteho zminis jen tak, mezi reci uplne na konci.

Heh, sorry.

Transparentni redirect IPSEC paketu nekam uplne jinam ? Ty pakety musi na cilove misto dorazit nezmenene - to znamena tady zabalit do neceho, tam vybalit - a zpracovat s puvodni IP adresou tak, jako by na novem miste byla lokalni. A na tom starem se za lokalni povazovat nesmi, vyjma toho, ze ten pocitac musi odpovidat na ARP pro tuto IP. Pak by vhodnym nastavenim routivaci tabulky melo byt mozne nacpat prichozi pakety do GIF (IP-in-IP) tunelu. Zaplatis fragmentaci, ale to je popravde receno u takhle nestastneho problemu zanedbatelna cena.

Ako sa takyto GIF tunel vytvori? Mozes ma odkazat na nejaku vhodnu dokumentaciu?

Nevim, jak na Linuxu rozchodis aby odpovidal na ARP dotazy pro adresu, ktera mu nepatri, ale "info arp" to pri trose stesti asi prozradi. Stejne tak nevim, jestli jak tam rozchodit IP-in-IP tunel - a jestli tam vubec je (na FreeBSD je to soucast systemu a je to odvozenina RFC2893 IPv6-in-IPv4 tunelu). Pokud tam nebude, potrebujes jiny IP tunel, ktery z hlediska systemu vypada jako interface (to kvuli tomu routovani). Treba PPPoE.

Na druhe strane bude zahnani odpovidajicich paketu do tunelu zrejme otazka source-routingu a tudiz asi nejlip ipfw fwd.

Zni mi to celkove jako strasna bejkarna. I kdyz to rozchodis, bude takrka nemozne v tom ladit poblemy. Videl's nedavnou debatu na tema IPSEC - to se ladi blbe i za normalnich okolnosti. Ja samozrejme nevim, proc jsi se rozhodnul prave pro takovehle reseni, protoze jsi nenaznacil jaky problem resis. Ale at si predstavim jakykoliv problem, u ktereho by toto mohlo byt resenim, vzdycky bych se pokusil usilovne hledat nejake jine reseni...

Bejkarna to samozrejme je ;-). Dufam, ze sa este nejake sluzby podari premigrovat a ostatne vyhniju skor nez za par rokov.

Kazdopadne Dane dakujem velmi pekne za odpoved.

Marian
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem