L2 přes OpenVPN tranparentní pro VLAN

astray

L2 přes OpenVPN tranparentní pro VLAN
« kdy: 18. 12. 2015, 15:07:47 »
Ahoj, jestli to už někdo řešil, prosím o pomoc.

Potřebuju propojit domov a kancelář L2 linkou, která by byla transparentní pro všechny vlan tagované pakety.
Na domácí straně mám debian sid s jádrem 4.3.0-1 a openvpn 2.3.8-1, na kancelářské straně mám debian wheezy s backportovaným jádrem z jessie 3.16.0-0.bpo.4 a openvpn 2.2.1-8+deb7u3

schéma je tedy:
klient-kancelář === bridge-kancelář === openvpn-přes-internet === bridge-doma === klient-doma

Samotné OpenVPN spojení tap0 -- tap0, tedy OpenVPN přes internet funguje, viz níže.

Na domácí straně mám bridge br0, ve kterém jsou eth1 a tap0. Za eth1 mám připojený notebook, který posílá tagované pakety (např. s vlan id 710).
Na kancelářské straně mám bridge br0, ve kterém jsou eth0 a tap0. Za eth0 mám připojené PC, který posílá tagované pakety (např. s vlan id 710).

Když pingnu kancelář z domu, tak tshark ukazuje tagované pakety ještě na tap0 v kanceláři, ale na eth0 v kanceláři už je netagovaný.
Když pingu domů z kanceláře, tak tshark ukazuje tagované pakety na tap0, ale na eth1 už nevidím žádné pakety (nastavil jsem statický záznam do arp tabulky, ale nepomohlo to)

Napřed jsem to celé zkoušel jen pro jednu vlan, tj. měl jsem extra vlan rozhraní pro vlan 710 a bridge byly nastavené takto"
doma: br710, ve kterém byly tap0.710 a eth1.710
v kanceláři br710, ve kterém byly tap0.710 a eth.710

Toto nastavení fungovalo bez problémů, ale já bych potřeboval, aby propojení bylo transparentní pro všechny tagovaný pakety bez ohledu na vlan id.

Díky
  ast
« Poslední změna: 18. 12. 2015, 15:24:22 od Petr Krčmář »


Dzavy

Re:L2 přes OpenVPN tranparentní pro VLAN
« Odpověď #1 kdy: 18. 12. 2015, 15:28:32 »
Co tohle: "Notice that if the bridge does not have a particular vlan subinterface (eg vlan 8 in my diagram above – there is no corresponding br0.8) that vlan traffic will be dropped."

Takze bych to videl takhle nejak:

brctl add br0

brctl add if br0 tap0
brctl add if br0 eth0

vconfig add br0 710
vconfig add br0 711
...

PCnity

  • *****
  • 706
    • Zobrazit profil
    • E-mail
Re:L2 přes OpenVPN tranparentní pro VLAN
« Odpověď #2 kdy: 20. 12. 2015, 00:15:08 »
Ako pise Dzavy, pre kazdy vlan musis spravit subinterface pre br0 so spravnym vlan idom... Na transparentny sposob bridgeovania celeho L2 trafficu vratane vsetkych vlan id som nedosiel (ale ani nehladal, nemenim setup casto). Este je dobre vypnut filter ak ho nepotrebujes cez bridge-nf-filter-vlan-tagged.

astray

Re:L2 přes OpenVPN tranparentní pro VLAN
« Odpověď #3 kdy: 08. 01. 2016, 13:13:07 »
Pánové, děkuji Vám za pomoc!

Uvědomil jsem si, že jsem podobný problém s průchodem tagovaných a netagovaných paketů přes etherent bridge řešil u Ubiquity Nanostation M5, kde to fungovalo, takže jsem si řekl, že stejně to musí jít i na běžném Debianu. Nainstaloval jsem na dva nové stroje (Pentium G3240 @ 3.10GHz) Debian Wheezy, kam jsem poté nainstaloval z wheezy-backports jádro 3.16.0-0.bpo.4-amd64 a OpenVPN 2.3.2-7~bpo70+2. Oba stroje jsem připojil přes jejich eth1 do internetu a propojil je přes Openvpn bridge (inteface tap0). Na obou strojích jsem nastavil ethernetové bridge br0 = (tap0 + eth0). K eth0 jsem na každé straně připojil jeden linuxový stroj, který vystupoval v roli koncové stanice. Poté jsem na každé z těchto koncových strojích nastavil dvě vlan  (vlan901 a vlan902), kde každá vlan měla svůj privátní subnet. Tagovaný provoz procházel bez problémů z jedné koncové stanice na druhou v jednom i druhém subnetu. Kontroloval jsem to pomocí tsharku (thark -V). Kromě toho procházel i netagovaný provoz mezi stroji s Openvpn (IP adresy jsem přiřadil přímo br0 na každém z obou Openvpn strojů protože netagovaný provoz by neprošel přes switche, které mám mezi OpenVPN stroji a koncovými stanicemi na obou stranách). Dále jsem na eth0 na obou OpeVPN strojích nadefinoval další vlan s vlastním subnetem, kterou používám pro přístup ke strojům z LAN (management vlan).

Pro zvýšení throughputu jsem udělal úpravy v nastavení OpenVPN (parametry mssfix, fragment a tun-mtu) podle tohoto dokumentu: https://community.openvpn.net/openvpn/wiki/Gigabit_Networks_Linux Bohužel při zapnutém šifrování jsem přes internet dosahoval nízkého výkonu kolem 126 Mbps pro jeden TCP stream i když před tím v laboratoři jsem dosahoval nejméně dvojnásobného výkonu při přímém propojení OpenVPN strojů patch kabelem (nejvýkonnější šifrou se ukázalo AES-128), takže jsem šifrování musel vypnout, což mně v této konkrétní aplikaci nevadí (autentizaci paketů jsem nechal zapnutou). Mezi stroji ukazuje iperf rychlost 300 až 450 Mbps pro jeden TCP stream (iperf -r) a 200 až 250 Mbps pro každý stream při dvou současně bežících protisměrných streamech (iperf -d). Rychlost připojení do internetu je u jedné linky 600 / 600 Mbps a u druhé 500 / 500 Mbps (obě jsou FTTH).