Virtuálne sieťové rozhrania v iptables

Róbert Čerňanský openhs na tightmail.com
Neděle Listopad 20 10:09:05 CET 2016


On Sat, 19 Nov 2016 22:38:35 +0100
Róbert Čerňanský <openhs na tightmail.com> wrote:

> On Sat, 19 Nov 2016 21:12:02 +0100 (CET)
> Pavel Kankovsky <peak na argo.troja.mff.cuni.cz> wrote:
> 
> > On Sat, 19 Nov 2016, Róbert Čerňanský wrote:
> >   
> > Tam může být ještě jedna finta spočívající v tom, že ARP dotaz pro
> > IP adresu rozhraní č. 2 dorazí na obě rozhraní, jelikož jsou obě ve
> > stejné síti, a pokud tam nemáte patřičným způsobem nastavené určité
> > sysctl (arp_ignore, arp_filter, arp_announce), tak odpoví rozhraní
> > č. 1, protože jádro považuje obě rozhraní v jedné síti za
> > rovnocenná.  
> 
> Posielalo sa to na MAC rozhrania eth0.  Aj v arp cache na klientovi
> mali obidve IP rovnakú MAC.
> 
> > Některé zdroje doporučují v takovém případě nastavit arp_filter na
> > 1, jiné zase nastavit arp_ignore na 1 a arp_announce na 2 a
> > arp_filter ponechat na 0. Ta druhá varianta je asi nějakým způsobem
> > lepší, ale moc nerozumím důvodům.  

Nepodarilo sa mi dosiahnuť, aby router oznamoval dve MAC adresy ani s
týmito nastaveniami.  ARP request na IP 1.2 ostal bez odpovede.

Zeditoval som teda ARP tabuľku na klientovi a nastavil tam tie správne
MAC adresy.  Na routeri som už logu iptables videl, že pakety chodia na
to správne rozhranie a MAC adresu, avšak odpoveď na pingy chodili len z
jedného z nich.  Kde sa odpoveď stratila som nezistil (ale určite
niekde na tom routeri).  Skúšal som to na kombináciách:

  - eth0 (IP 1.1) - macvlan[private aj bridge] (IP 1.2) a
  - eth0 (bez IP) - macvlan[bridge] (IP 1.1) - macvlan[bridge] (IP
    1.2).

Sieťovka bola v promiskuidnom móde.


-- 
Róbert Čerňanský
E-mail: openhs na tightmail.com
Jabber: hs na jabber.sk


Další informace o konferenci Linux