Ммм, честно казано не схващам основната идея. Какъв е смисъла да правиш нещо такова? Ами ако адреса на mail.bg също се окаже с по-добър път през вторият доставчик? Тогава пак правиш recursive lookup и кво става?

Я кажи какво точно се опитваш да направиш, защото ме съмнява, че проблемът всъщност е в самата идея :)

Иначе, ако не ме лъже паметта, iproute2 също има възможност да прави NAT. Можеш да направиш така, че всичко което попадне в определена таблица да бъде NAT-вано към определен адрес (това което ти искаш да направиш), но пак казвам според мен концепцията ти нещо е грешна.

Поздрави!

Rossen Antonov wrote:


2008/8/20 Danail Petrov <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>

    Здравей,
    аз нещо не успях да ти схвана въпроса, затова ще те попитам. Искаш
    да направиш така, че ако пакетът поеме по пътя ПРЕЗ вторият
    интернет доставчик, то next-hop адреса (адреса на рутера към който
    да се обърне за маршрутизация) да бъде различен? Това ли е което
    искаш да направиш?


Благодаря, че питаш въпреки неяснотата ми. Искам, ако пакетът поеме по пътя ПРЕЗ втория интернет доставчик, да сменя IP адреса, към който отива (destination adress).

Примерно: пишеш yahoo.com <http://yahoo.com>, но точно в този момент пътят до yahoo.com <http://yahoo.com> е през втория интернет доставчик и преди да излезе пакета, искам да му подменя destination ip-то и да го пратя към mail.bg <http://mail.bg>.

    Rossen Antonov wrote:
    Банда здравейте,

    Машината ми има достъп до интернет през два доставчика. С цел
    прескачане на някой проблеми искам да реализирам DNAT след
    рутиране, т.е. ако определени заявки в конкретния момент излизат
    през втория интернет доставчик, то destination-а им да се
    променя. Ако излизат през първия - да не се пипат. В зависимост
    от конкретни условия routing таблицата ми се мени с един два
    реда, забивани статично.

    За завки генерирани от локалната машина решението си доиде от
    самосебе си:

    iptables -t nat -A OUTPUT -o eth2 -d $IP_ADDR1 -j DNAT
    --to-destination $IP_ADDR2,
    където eth2 е лан картата към втория доставчик.

    За съжаление в документацията на iptables пише, че това нещо не
    може да бъде направено за пакети, които не са генерирани от
    локалната машина, а се рутират през нея. В PREROUTING веригата не
    мога да добавя такова правило, защото не е ясно кой е OUTGOING
    (-o) интерфейса. В POSTROUTING веригата пък DNAT-а  не е позволен.

    Дали някой е намирал забиколен начин за реализация на подобна идея?

    Поздрави:
    --Росен




------------------------------------------------------------------------

_______________________________________________
Lug-bg mailing list
[email protected]
http://linux-bulgaria.org/mailman/listinfo/lug-bg

--
Danail Petrov
Senior Network Administrator
Evolink, Sofia
+359(2)9691650
www.evolink.com
icq uin 989677

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Lug-bg mailing list
[email protected]
http://linux-bulgaria.org/mailman/listinfo/lug-bg

Reply via email to