Szerkesztő:RostásAttila

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
101. sor: 101. sor:
 
Linuxokban a brctl programmal lehet létrehozni bridge-eket az interface-ek között.
 
Linuxokban a brctl programmal lehet létrehozni bridge-eket az interface-ek között.
   
  +
<pre>
 
brctl addbr brX-el létre lehet hozni bridge-eket. Ezekhez ifconfiggal akár IP-cím és routing tábla is
 
brctl addbr brX-el létre lehet hozni bridge-eket. Ezekhez ifconfiggal akár IP-cím és routing tábla is
  +
</pre>
   
 
létrehozható.
 
létrehozható.
  +
<pre>
 
brctl addif brX device utasítással pedig interface-ket adhatunk a bridge-hez.
 
brctl addif brX device utasítással pedig interface-ket adhatunk a bridge-hez.
  +
</pre>
   
 
brctl paraméterezhetősége:
 
brctl paraméterezhetősége:

A lap 2006. október 10., 14:52-kori változata

VLAN a Linux-on, Debian alatt

Mi is az a VLAN? A VLAN (Virtual Local Area Network) az IEEE 802.1Q szabványban definiált. VLAN segítségével a hálózatok fizikai kialakításától függetlenül definiálhatunk logikai (szoftveresen létrejövő) broadcast hálózatokat az egy ugyanazon VLAN hálózatban szereplő host-ok között. A VLAN megvalósítása az OSI modell 2. rétegében, a adatkapcsolati rétegben történik. Gyakorlatilag a hálózati csomagok kapnak még egy 4 bájtos (*) fejlécet amelyben definiálva van egy 12 bites VLAN Identifier (VID), mely 4096 külön logikai hálózatot tenne lehetővé egy ugyanazon hálózati interface-n, vagy kábelen. Ennél a gyakorlatban – implementációtól függően – valamelyest kevesebb érhető el. A 0. és a 4095. VLAN a szabvány szerint foglaltak. Az 1. VLAN pedig a mindenki számára látható forgalmat jelenti. (Átlátszó VLAN.) A VLAN hálózatokban két eszköz akkor van azonos logikai közegben, ha a VID-jük megyegyezik. Különböző VID-ű hálózatok között a kommunikációt az erre kijelölt eszköz (pl. egy router, vagy switch…) végezheti el a 3. – hálózati - rétegben. A VLAN témakör részletes mindenre kiterjedő ismertetésére kitérni nincs lehetőség, a forrásjegyzékben szereplő irodalmakból azonban jól megismerhető.

Linux alatt

VLAN kernel támogatás: A 802.1Q szabvány a kernel 2.4.21-es verziója óta a kernel része, 8021q a modul neve. A VLAN támogatáshoz a hálózati kártya driverének is támogatnia kell az esetlegesen nagyobb, mint 1500 bájt-os MTU-t. (Tapasztalataim alapján a szabvány Debian 2.6.8 kernel e1000 és e100 moduljai tökéletesen működnek. Azért nem a 2.4-es kernel széria lett a kiválasztott, mert ott a VLAN-ok fölötti bridge építése iptables tűzfalas szűréssel nem lehetséges. ld. később )

VLAN utility-k és használatuk:

A VLAN hálózatok létrehozása a vconfig programmal lehetséges a következő szintaxis szerint:

vconfig add interface_name VID

És ekkor létrejön az interface_name.VID interface, amely már a VID hálózatban képes kommunikálni.

Pl. az eth0 interface feletti 150-es VLAN létrehozása a következőféleképpen lehetséges:

vconfig add eth0 150

Ekkor a következő interface jelenik meg:

eth0.150 Link encap:Ethernet  HWaddr 00:02:A5:CE:61:CC
         inet addr:192.168.1.1  Bcast:192.168.255.255  Mask:255.255.255.0
         inet6 addr: fe30::212:a3ff:fdce:61cd/64 Scope:LinkUP
         BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:406783997 errors:0 dropped:0 overruns:0 frame:0
         TX packets:444927484 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:2283210879 (2.1 GiB)  TX bytes:2212731126 (2.0 GiB)

Egy ilyen virtuális eszköz eltávolítása a

vconfig rem interface_name.VID

-rel lehetséges.

Esetünkben:

vconfig rem eth0.150

Debian alatt lehetséges a /etc/network/interfaces fájl használata a VLAN-ok definiálására. A fenti példa így nézhetne ki:

        iface eth0.150 inet static
              address 192.168.1.1
              netmask 255.255.255.0

,vagy

        iface vlan150 inet static
	      vlan-raw-device eth0
	      address 192.168.1.1
	      netmask 255.255.255.0

,vagy

        iface eth0.0150 inet static
	      address 192.168.1.1
              netmask 255.255.255.0

,vagy

        iface vlan0150 inet static
	      vlan-raw-device eth0
	      address 192.168.1.1
	      netmask 255.255.255.0

A 4 féle megadás mind ugyanazt az eredményt érik el; egymással ekvivalensek.

Iptables működik szokásos szintaxissal a virtuális interface-ekre.


Bridge VLAN fölött Debian Linux-on

Kernel támogatás bridge-hez: Patch-ként a 2.4-es szériához is elérhető, de a 2.6-os kernel széria része a bridge képesség, a bridge modul által. Nagy különbség a két változat között, hogy a 2.4-ben nincs lehetőség a bridge-elt forgalom tűzfalazására, ugyanis a bridge-ben nem kerül kibontásra a 4 bájttal megnövelt (beágyazott) csomag, így az iptables nem ismeri fel. A 2.6.1-től kezdve azonban van lehetőség tűzfalazásra.

A /proc/sys/net/bridge/-ben levő kapcsolók állításával:

  • bridge-nf-call-arptables - pass (1) or don't pass (0) bridged ARP traffic to arptables' FORWARD chain.
  • bridge-nf-call-iptables - pass (1) or don't pass (0) bridged IPv4 traffic to iptables' chains.
  • bridge-nf-call-ip6tables - pass (1) or don't pass (0) bridged IPv6 traffic to ip6tables' chains.
  • bridge-nf-filter-vlan-tagged - pass (1) or don't pass (0) bridged vlan-tagged ARP/IP traffic to arptables/iptables

Bridge-ek létrehozása: Linuxokban a brctl programmal lehet létrehozni bridge-eket az interface-ek között.

brctl addbr brX-el létre lehet hozni bridge-eket. Ezekhez ifconfiggal akár IP-cím és routing tábla is 

létrehozható.

brctl addif brX device utasítással pedig interface-ket adhatunk a bridge-hez.

brctl paraméterezhetősége: addbr <bridge> add bridge delbr <bridge> delete bridge addif <bridge> <device> add interface to bridge delif <bridge> <device> delete interface from bridge setageing <bridge> <time> set ageing time setbridgeprio <bridge> <prio> set bridge priority setfd <bridge> <time> set bridge forward delay sethello <bridge> <time> set hello time setmaxage <bridge> <time> set max message age setpathcost <bridge> <port> <cost> set path cost setportprio <bridge> <port> <prio> set port priority show show a list of bridges showmacs <bridge> show a list of mac addrs showstp <bridge> show bridge stp info stp <bridge> <state> turn stp on/off

Debian alatt lehetséges a /etc/network/interfaces fájl használata a bridge-ek definiálására.

auto br0
iface br0 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.1
	bridge_ports eth0 eth1
bridge_stp on

Amennyiben VLAN interface-k fölött szeretnénk bridge-et létrehozni, egyszerűen a következő szintaxis használható:

auto br0
iface br0 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.1
	bridge_ports eth0.150 eth1.150
bridge_stp on

Nincs szükség külön VLAN interface definiálásra; elvégzi automatikusan a rendszer. A számítógép elérhető marad távolról, ugyanis a bridge örökli az egyik interface MAC address-ét és ehhez mint felül látszik IP cím is rendelhető.

Így Linux-szal létrehozhatunk switch-eket, routereket, átlátszó tűzfalakat VLAN, ill. nem VLAN fölött.



Felhasznált irodalom: - Andrew S. Tanenbaum: Számítógép hálózatok - Karen Webb: Building Cisco Multilayer Switched Networks (103. oldal *) - http://en.wikipedia.org/wiki/VLAN - http://ebtables.sourceforge.net/brnf-faq.html - man vlan-interfaces - google.com 

Személyes eszközök