Trunk


Tagek: Linux, Cisco,
Írta: toshy
Publikálva: 2008-08-09 19:31:04

Úgy vettem észre különböző fórumokon, hogy egyre többen jutnak hozzá olyan eszközökhöz amelyek képesek trunk-olni. Talán azért mert használtan tűrhető áron lehet hozzá jutni ezekhez az eszközökhöz, és hát valljuk be egy megbízható eszköz használtan jobb választás mint újonnan esetleg ugyanabban az árban egy új, aminek képességei hát legalábbis hagynak kívánni valót maguk után.
Természetesen nem csak CISCO eszközökre gondoltam, de mivel én ezekkel foglalkozom, hát erről írok. Nagyon jó példa erre például a CISCO 2900 XL -es 24 portos switch-e. Az eBay-en hozzá lehet jutni néha 20 eFt alatt, vagy ennyiért. Ez a switch és a rajta lévő IOS természetesen, már tud VLAN -t kezelni, EtherChanel-t, Trunk-olni…. stb.

Alap esetben ugye mondjuk van egy közepes méretű cég úgy ~50 aktív végponttal. Ebben az esetben a vlan-ok száma 5 és 10 között van. Attól függően, hogy mi a hálózati terv. Ehez kell egy router minden képen akár kell kommunikációt biztosítani a vlan-ok között akár nem, hiszen általában az internet felé mindig kell biztosítani az átjárást. Egy CISCO routernek akkor van több lába (FastEthernet), ha az egy multilayer switch. Egy közepes méretű cégnek az kicsit drága mulatság ~30kUSD. Általában egy routernek van 2,3 Ethernet, 2 Soros port portja. Persze ez bővítő kártya kérdése.
Tehát ha van egy ez a hálózat mondjuk 5,10 vlan-nal amik között routolni kell, hát bizony muszáj trunk-olni . Az alábbi példában két külön VLAN-al próbálom szemléltetni a trunk-ölés lényegét.


Ezt a “felállást” cisco-os tananyagok “rouer on stick”-nak nevezik.
Nézzük a diagramot. VLAN10 és VLAN20 legyen ez mondjuk a HR (VLAN10), és az IT(VLAN20) osztály. Az IT-nak el kell érnie hálózaton a HR gépeit hogy esetleg hálózaton keresztül segítséget tudjanak nyújtani. Téhát átjárást/routing-ot kell biztositani a két hálózat között. És mivel a router-ünkön nincs olyan sok ethernet port, ezért itt jön képbe a trunk.
A trunk segítségével lehet több különböző VLAN információt egyetlen fizikai eszközön keresztül küldeni. Ehez léteznek különböző protokollok például a dot1q, és az ISL. Az ISL a CISCO-által bejegyzett protokoll, tehát saját tulajdonuk, és ezért leginkább csak CISCO eszközökön láthatunk ilyet.

Lássuk a megvalósítást.

interface FastEthernet 0/24
switchport mode trunk
switchport trunk encapsulation dot1q
switchport trunk native vlan 1


Ez a konfig-ja a 0/24 -es FastEthernet portnak a switch-en. Itt dot1q-t használunk.

interface fastethernet 0
no ip addressinterface fastethernet 0/0.1
encapsulation dot1q 1 native

interface fastethernet 0/0.10
encapsulation dot1q 10
ip address 192.168.10.1 255.255.255.0

interface fastethernet 0/0.20
encapsulation dot1q 20
ip address 192.168.20.1 255.255.255.0

Ez pedig a router-en a konfig. Nagyon fontos, egy trunk módban lévő portnak sosincs IP címe. Be kell állitani atrunk-ölés protokolját ez ugye a dot1q. Létre kell hozzni alinterfész-eket.Ezeknek már lehet adni ip címet. Ezek lesznek ugye az alapértelmezet átjárók (default gateway). És kész is, a “connected” interfészek között nem kell külön beálítani a átjárást, mivelezek között automikusan megtörténik a route-olás.

Vegyünk egy másik példát. Azt mondtam, hogy az eBay-en már ~20eFT -ért meg lehet kapni egy ilyen switchet. De modjuk router-e már nem akarunk áldozni. Ebben ez esetben sincs semmi baj PC-böl is lehet router-t csinálni, mondjuk legolcsóbban ha linux-ot használunk.

Eképen néz ki az előző példa egy linuxos routerel:



Én Ubuntu-n próbáltam ki. Telepíteni kell a “vlan” csomagot.

Valamint még hozzá kell adni ezeket a vlan-okat az interface-hez. A “VCONFIG” parancs, vlan csomaggal jön.

vconfig add eth0 1
vconfig add eth0 10
vconfig add eth0 20

Adunk nekik IP címet:


ifconfig eth1.1 192.168.100.1 netmask 255.255.255.0
ifconfig eth1.10 192.168.10.1 netmask 255.255.255.0
ifconfig eth1.20 192.168.20.1 netmask 255.255.255.0
és ki listázuk:


eth0.1    Link encap:Ethernet  HWaddr 00:10:a4:74:31:24
          inet addr:192.168.100.1  Bcast:192.168.100.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
eth0.10   Link encap:Ethernet  HWaddr 00:10:a4:74:31:24
          inet addr:192.168.10.1  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0.20   Link encap:Ethernet  HWaddr 00:10:a4:74:31:24
          inet addr:192.168.20.1  Bcast:192.168.20.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

A vlan információkat még a /proc/net/vlan könyvtár alatt található file-okban is meg lehet tekinetni:

# ls -lh /proc/net/vlan/
total 0
-rw——- 1 root root 0 2008-08-09 11:50 config
-rw——- 1 root root 0 2008-08-09 11:50 eth0.1
-rw——- 1 root root 0 2008-08-09 11:50 eth0.10
-rw——- 1 root root 0 2008-08-09 11:50 eth0.20
#cat /proc/net/vlan/config

VLAN Dev name	 | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth0.1         | 1  | eth0
eth0.10        | 10  | eth0
eth0.20        | 20  | eth0


# cat /proc/net/vlan/eth0.1
eth0.1  VID: 1	 REORDER_HDR: 1  dev->priv_flags: 1
         total frames received            0
          total bytes received            0
      Broadcast/Multicast Rcvd            0

      total frames transmitted            0
       total bytes transmitted            0
            total headroom inc            0
           total encap on xmit            0
Device: eth0
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
EGRESSS priority Mappings: 


# cat /proc/net/vlan/eth0.10
eth0.10  VID: 10	 REORDER_HDR: 1  dev->priv_flags: 1
         total frames received            0
          total bytes received            0
      Broadcast/Multicast Rcvd            0

      total frames transmitted            0
       total bytes transmitted            0
            total headroom inc            0
           total encap on xmit            0
Device: eth0
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
EGRESSS priority Mappings: 


# cat /proc/net/vlan/eth0.20
eth0.20  VID: 20	 REORDER_HDR: 1  dev->priv_flags: 1
         total frames received            0
          total bytes received            0
      Broadcast/Multicast Rcvd            0

      total frames transmitted            0
       total bytes transmitted            0
            total headroom inc            0
           total encap on xmit            0
Device: eth0
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
EGRESSS priority Mappings:

A Ruting táblánk pedig:


192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0.1
192.168.20.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0.20
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0.10

A switch-en marad minden változatlan.

Röviden ennyi. Remélem az eddig hozzá nem értőknek lejött, hogy mire jó a trunk.
Kérdés, ohaj, panasz, …. stb esetén kérem itt hozzá szólni.

Szólj hozzá

Hozzászólások(1)