Inter-VLAN маршрутизиране ("router on a stick")

от БАРЗИКТ Wiki
Направо към: навигация, търсене

Router-on-a-stick.png

Configuring InterVLAN Routing and ISL/802.1Q Trunking on a Catalyst 2900XL/3500XL/2950 Switch Using an External Router

"Router on a stick"

Терминът "router on a stick" се използва, когато към маршрутизатора е пусната "trunk" връзка от комутатор с цел пренасочване на трафика между конфигурираните VLAN.

Това е добър подход, при който се спестяват физическите интерфейси на маршрутизатора (всеки VLAN използва отделни IP мрежови адреси), но за сметка на това рамките (frames) изпратени към него са маркирани (VLAN tag).

Примерна конфигурация

В топологията са използвани два комутатора и един маршрутизатор.

При комутаторите:

  • Използват се VLAN10 и VLAN20
  • VLAN99 е конфигуриран като "native"
  • Портове Fa0/1 до Fa0/12 са във VLAN10
  • Портове Fa0/2 до Fa0/24 са във VLAN20
  • Портове Gi0/1 и Gi0/2 са предвидени и се използват като "trunk". На S2 Gi0/2 е изключен от съображения за сигурност.

IP адреси:

  • VLAN10 - 10.10.0.0/16
  • VLAN10 - 10.20.0.0/16

Конфигурация на S1

Switch>
Switch>enable
Switch#config terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#hostname S1
S1(config)#vlan 10
S1(config-vlan)#vlan 20
S1(config-vlan)#vlan 99
S1(config-vlan)#exit
S1(config)#interface range fa0/1-12
S1(config-if-range)#switchport mode access
S1(config-if-range)#switchport access vlan 10
S1(config-if-range)#interface range fa0/2-24
S1(config-if-range)#switchport mode access
S1(config-if-range)#switchport access vlan 20
S1(config-if-range)#interface gi0/1
S1(config-if)#switchport mode trunk
S1(config-if)#switchport trunk native vlan 99
S1(config-if)#interface gi0/2
S1(config-if)#switchport mode trunk
S1(config-if)#switchport trunk native vlan 99
S1(config-if)#end
S1#

Конфигурация на S2

Switch>
Switch>enable
Switch#config terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#hostname S2
S2(config)#vlan 10
S2(config-vlan)#vlan 20
S2(config-vlan)#vlan 99
S2(config-vlan)#exit
S2(config)#interface range fa0/1-12
S2(config-if-range)#switchport mode access
S2(config-if-range)#switchport access vlan 10
S2(config-if-range)#interface range fa0/2-24
S2(config-if-range)#switchport mode access
S2(config-if-range)#switchport access vlan 20
S2(config-if-range)#interface gi0/2
S2(config-if)#switchport mode trunk
S2(config-if)#switchport trunk native vlan 99
S2(config-if)#interface gi0/1
S2(config-if)#shutdown
S2(config-if)#end
S2#

Конфигуриране на маршрутизиране чрез "sub-interfaces"

"Sub-interface" е логически интерфейс, използван от маршрутизаторите с цел задаване на IP параметри и пренасочване на трафика между отделните VLAN. Важно е да се отбележи, че за всеки "sub-interface" трябва първо да се посочи типа на енкапсулирането и съответния VLAN ID. В противен случай при опит за задаване на IP адрес IOS връща съобщение за грешка.

За да се създаде "sub-interface" към Gi0/0 за VLAN10 се използват следните команди:

interface gi0/0.10
encapsulation dot1q 10
ip address 10.10.0.1 255.255.0.0
  • gi.0/0.10 - дефинира "sub-interface" с номер 10. Не е задължително този номер да съвпада с дадения VLAN ID, но е добра практика да се използват еднакви стойности с цел по-лесен анализ на конфигурацията и потенциално отстраняване на проблеми.
  • encapsulation dot1q 10 - конфигурира към дадения "sub-interface" да се пренасочват рамки, с VLAN ID 10 и маркирани чрез протокол IEEE 802.1q. Ако даденият VLAN е "native", като последен параметър на командата се задава "native".
  • IP address - IPv4 адрес и маска на "sub-interface". На физическият интерфейс не се задават IP параметри.

Примерна конфигурация на R1

Router>
Router>enable
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#
Router(config)#hostname R1
R1(config)#
R1(config)#interface gi0/0.10
R1(config-subif)#encapsulation dot1q 10
R1(config-subif)#ip address 10.10.0.1 255.255.0.0
R1(config-subif)#
R1(config-subif)#interface gi0/0.20
R1(config-subif)#encapsulation dot1q 20
R1(config-subif)#ip address 10.20.0.1 255.255.0.0
R1(config-subif)#
R1(config-subif)#interface gi0/0.99
R1(config-subif)#encapsulation dot1q 99 native
R1(config-subif)#
R1(config-subif)#exit
R1(config)#
R1(config)#interface gi0/0
R1(config-if)#no shutdown
R1(config-if)#end
R1#

Ctrl+C/Ctrl+V

R1

enable
configure terminal
hostname R1
interface gi0/0.10
encapsulation dot1q 10
ip address 10.10.0.1 255.255.0.0
interface gi0/0.20
encapsulation dot1q 20
ip address 10.20.0.1 255.255.0.0
interface gi0/0.99
encapsulation dot1q 99 native
exit
interface gi0/0
no shutdown
end

S1

enable
config terminal
hostname S1
vlan 10
vlan 20
vlan 99
exit
interface range fa0/1-12
switchport mode access
switchport access vlan 10
interface range fa0/2-24
switchport mode access
switchport access vlan 20
interface gi0/1
switchport mode trunk
switchport trunk native vlan 99
interface gi0/2
switchport mode trunk
switchport trunk native vlan 99
no shutdown
end

S2

enable
config terminal
hostname S2
vlan 10
vlan 20
vlan 99
exit
interface range fa0/1-12
switchport mode access
switchport access vlan 10
interface range fa0/2-24
switchport mode access
switchport access vlan 20
interface gi0/2
switchport mode trunk
switchport trunk native vlan 99
interface gi0/1
shutdown
end