iptables SNAT na stroji s vice IP

Jan Houstek jan.houstek na mff.cuni.cz
Čtvrtek Říjen 20 10:57:33 CEST 2005


On Thu, 20 Oct 2005, Zdenek Janis wrote:
> Ja to upresnim napisi cele:
>
> Potrebuji, aby stroj ktery je na konci tunelu s IP 10.1.0.18 se
> vykazoval v lokalni siti jako 192.168.99.1.

No, to vyzaduje

* povesit adresu 192.168.99.1 na LAN rozhranni
* udelat DNAT 192.168.99.1 -> 10.1.0.18
* udelat SNAT 10.1.0.18 -> 192.168.99.1

Zadny duvod pro prekladani zdrojove paketu cestujiciho smerem LAN -> tunel
nevidim.

> Pro pritup z lokalni site jsem nastail PREROUTING, aby pozadavek z
> lokalu na 192.168.99.1 sel na 10.1.0.18 a protoze to delalo to, ze to do
> tunelu slo s default GW (192.168.9.2), tak jsem tam jeste prihodil
> pravidlo do POSTROUTING, ze vsechno z lokalni site jdouci na 10.1.0.18
> ma jit z 10.1.0.1 a vysledek stale stejny...

Ze to do tunelu vlezlo se zmenenou zdrojovou adresou se nestalo samo
sebou. Na 99% za to muze to, ze v tom POSTROUTING retezci mate jeste
nejakou maskaradu pro pristup na internet.

Takze se nejdriv podivejte, co v tom chainu mate. Kazdopadne to, o co se
snazite, nejak nechapu. Tu maskaradu, ze stroje v LAN zamaskujete za
adresu 10.1.0.1, sice udelat muzete, ale budou vam pak fungovat spojeni
jen z LAN na ten server za tunelem, nikoliv naopak, a na tom serveru
nebudete schopen rozlisit, kdo z LAN se na vas pripojuje.

> Pred nemam, protoze jsem zapomel napsat ze to je na prvnim miste v
> POSTROUTING.

No, v tom pripade to prvni pravidlo na ty pakety posilane do tunelu
nematchuje, zato matchuje to dalsi, ktere dela maskaradu pro pristup ven.
Oboji je zrejme chyba.

Nechcete tu konfiguraci poslat celou? Tj. alespon vystup prikazu
`iptables-save', `ip addr show' a `ip route list'.

-- Honza Houstek


Další informace o konferenci Linux