Jak _opravdu_ zapnout proxy ARP? (Fast NAT?)

Michal Kubecek mike na mk-sys.cz
Neděle Říjen 3 11:31:58 CEST 2004


On Fri, Oct 01, 2004 at 12:17:00PM +0200, Jan Kasprzak wrote:
> Ale ja nedelam routovani do te same site - ja z ni jen chci sezrat
> packet, prepsat mu adresu a odroutovat ho jinam podle te nove adresy.
> A na to sezrani packetu potrebuju proxy ARP.
> 
> A proc to delam? Jeden muj znamy potreboval pridelit krome jedne
> "implicitni" IP adresy jeste adresy pro DMZ a virtualni weby, a jejich
> ISP mu pridelil nesouvisly blok adres, takze zadne elegantni reseni
> jako adresa a maska segmentu v DMZ nejde udelat, musi se to
> routovat/natovat zvlast po jedne IP adrese.

Jestli se nepletu, přesně tohle by měl dělat fast NAT (bezstavový NAT
pomocí routeru), mělo by to vypadat nějak takto:

ip route add nat 111.111.111.111 via 10.0.0.6
ip rule add priority 200 from 10.0.0.6 nat 111.111.111.111

Podle dokumentace by první příkaz měl zajistit, že počítač bude
odpovídat na ARP dotazy pro 111.111.111.111 (i když není jeho) a
příslušné pakety bude přeposílat (přeložené) na 10.0.0.6. Druhý příkaz
pak zajistí překlad paketů z 10.0.0.6 směrem ven (je to bezstavový NAT,
takže to jádro nemůže dělat automaticky).

Když jsem to ale zkoušel v praxi (SuSE 9.1, jádro 2.6.5), fungovalo
všechno kromě toho překladu. Paket byl zachycen a přeposlán dovnitř, ale
cílová adresa zůstala původní. Snažil jsem se hledat na webu, ale všude
se tvrdilo totéž, co v dokumentaci k iproute2 a podobný problém nikdo
nepopisoval. Nemáte někdo tušení, jestli je to chyba v dokumentaci,
implementaci nebo mé konfiguraci?

							  Michal Kubeček



Další informace o konferenci Linux