Problem s iptables

Dalibor Toman dtoman na fortech.cz
Čtvrtek Listopad 20 17:17:17 CET 2008


On Thursday, November 20, 2008 3:13 PM ,
Pavel Lisy <pali na tmapy.cz> wrote:

> Zdar
>
> setkal jsem se takovou podivností v chování iptables. Je to na RHEL,
> ale než tobudu nahlašovat do bugzilly, chci zjistit, zda to nemůže 
> být
> nějakou blbostí.
>
> Mám server s dvěma síťovkami (eth0, eth1). Na první je několik IP
> adres. Řekněme (IP jsou vymyšlené)
>
> eth0    192.168.1.1/24
> eth0:1  192.168.10.1/24
>
> eth1    192.168.50.1/24
>
> Na IP adresách od eth0 běží apache.
>
> V iptables bylo povolen přístup na eth0 pro porty 80, 443. Pro eth1
> tyto porty povolené nebyly.
> Dlouho to takto fungovalo bez problémů, ale najednou (ne okamžitě po
> nějakém updatu) nebylo možné přistupovat na weby v IP 192.168.10.1,
> tj. ty na eth0:1.
>
> Když jsem zjišťoval proč, objevil jsem, že pakety přicházející na
> 192.168.10.1 vidí kernel jako IN=eth1, tj. iptables je nepustily. 
> Když
> jsem povolil provoz pro eth1 na portech 80, 443, weby zase začaly
> fungovat.
>
> Nenapadá vás někoho jak je to možné? Pokud si odmyslím nějaký hack
> kernelu, který mi připadá málo pravděpodobný, tak mě moc věcí
> nenapadá.

> Nemůže to souviset s tím, že obě síťovky jsou zapojené do jediného
> switche, bez nastavení vlan, takže je v něm smíšený provoz všech 3
> sítí a nějak se do toho přimíchalo arp a nyní to chodí na jinou
> síťovku, než která má tu adresu přidělenou?


pak je to jasne. Linux defaultne odpovida na ARP dotazy ktere dorazi 
libovolnym interfacem. Cili pak dany komp muze komunikovat se serverem 
ethernetem na kterem by ho nikdo necekal.

sysctl.conf:
net.ipv4.conf.all.arp_filter = 1
net.ipv4.conf.all.arp_ignore = 1


D. Toman 




Další informace o konferenci Linux