router-on-a-stick

January 5, 2020

環境

這邊配置一台 L3 交換器、路由器、VM 和 PC。這一次實驗主要是實現單臂路由(router-on-a-stick),單臂路由簡單來說是用來實現不同 VLAN 間的通訊,其接口需配置 trunk 協定,在藉由一個接口建立每個 VLAN 的網路 gateway。當 VLAN 有設置後,其每個封包都會帶著 VLAN 標籤,而這個標籤會在設定單臂路由的路由器進行解析,這樣就能讓不同 VLAN 可以相互通訊。至於 VLAN 相關操作和原理可查看之前寫的內容

配置 ESW1 交換器與 R1 路由器

將接口啟動,並使用 hostname 配置 ESW1 的主機名稱。

ESW1#conf t
ESW1(config)#hostname IT@L3 
% Hostname contains one or more illegal characters.

% Hostname "IT@L3" is not a legal LAT node name, Using "CISCO_18F100"
IT@L3(config)#interface fastEthernet 1/0
IT@L3(config-if)#no shutdown
IT@L3(config-if)#interface fastEthernet 1/15
IT@L3(config-if)#no shutdown
IT@L3(config-if)#exit

配置 telnet 相關配置以及交換機上安全設定,有關 telnet 配置可參考之前文章所做的實驗

IT@L3(config)#username cisco password cisco@123
IT@L3(config)#line vty 0 4
IT@L3(config-line)#login local
IT@L3(config-line)#transport ?
  input      Define which protocols to use when connecting to the terminal
             server
  output     Define which protocols to use for outgoing connections
  preferred  Specify the preferred protocol to use

IT@L3(config-line)#transport input ?
  all      All protocols
  lapb-ta  LAPB Terminal Adapter
  lat      DEC LAT protocol
  none     No protocols
  pad      X.3 PAD
  rlogin   Unix rlogin protocol
  ssh      TCP/IP SSH protocol
  telnet   TCP/IP Telnet protocol
  udptn    UDPTN async via UDP protocol
  v120     Async over ISDN
IT@L3(config-line)#transport input telnet
IT@L3(config)#enable password 12345
IT@L3(config)#enable secret 123456
IT@L3(config)#service password-encryption
IT@L3(config)#banner ?
  LINE            c banner-text c, where 'c' is a delimiting character
  exec            Set EXEC process creation banner
  incoming        Set incoming terminal line banner
  login           Set login banner
  motd            Set Message of the Day banner
  prompt-timeout  Set Message for login authentication timeout
  slip-ppp        Set Message for SLIP/PPP
IT@L3(config)#banner motd #
Enter TEXT message.  End with the character '#'.
Unauthorized Access
#
IT@L3(config)#ip default-gateway 192.168.245.254

建立 VLAN 1 的 SVI(Switched Virtual Interface),藉由此 SVI 可讓我們從 VM 中登入作業。至於為什麼是 VLAN 1 原因就是預設的網路接口都是 VLAN 1

IT@L3(config)#interface vlan1
IT@L3(config-if)#ip address 192.168.245.20 255.255.255.0
IT@L3(config-if)#no shutdown

設定完上述之後,我們可以嘗試連通,以及 telnet 遠端。

VM ping vlan1 虛擬接口

telnet ESW1

預設情況下都是使用 VLAN 1

IT@L3(config)#do sh vlan-switch

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa1/0, Fa1/1, Fa1/2, Fa1/3
                                                Fa1/4, Fa1/5, Fa1/6, Fa1/7
                                                Fa1/8, Fa1/9, Fa1/10, Fa1/11
                                                Fa1/12, Fa1/13, Fa1/14, Fa1/15
1002 fddi-default                     active
1003 token-ring-default               active
1004 fddinet-default                  active
1005 trnet-default                    active

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1    enet  100001     1500  -      -      -        -    -        1002   1003
1002 fddi  101002     1500  -      -      -        -    -        1      1003
1003 tr    101003     1500  1005   0      -        -    srb      1      1002
1004 fdnet 101004     1500  -      -      1        ibm  -        0      0
1005 trnet 101005     1500  -      -      1        ibm  -        0      0

配置 R1 的 f0/0。配置完後,使用 VM 去 ping 該 R1 的 f0/0,預設都在 Vlan 1 又是同一網段因此都是可以互通。

R1(config)#interface fastEthernet 0/0
R1(config-if)#ip address 192.168.245.254 255.255.255.0
R1(config-if)#no shutdown

設置 VLAN,本實驗中只有使用 vlan 10,其餘可以不新增。

IT@L3#vlan database
IT@L3(vlan)#vlan 10 name IT@L3-VLAN10
VLAN 10 added:
    Name: IT@L3-VLAN10
IT@L3(vlan)#vlan 20 name IT@L3-VLAN20
VLAN 20 added:
    Name: IT@L3-VLAN20
IT@L3(vlan)#vlan 100 name IT@L3-VLAN100
VLAN 100 added:
    Name: IT@L3-VLAN100
IT@L3(vlan)#exit
APPLY completed.
Exiting....

查看配置的 Vlan

IT@L3#show vlan-switch

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa1/0, Fa1/1, Fa1/2, Fa1/3
                                                Fa1/4, Fa1/5, Fa1/6, Fa1/7
                                                Fa1/8, Fa1/9, Fa1/10, Fa1/11
                                                Fa1/12, Fa1/13, Fa1/14, Fa1/15
10   IT@L3-VLAN10                     active # this
20   IT@L3-VLAN20                     active # this
100  IT@L3-VLAN100                    active # this
1002 fddi-default                     active
1003 token-ring-default               active
1004 fddinet-default                  active
1005 trnet-default                    active

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1    enet  100001     1500  -      -      -        -    -        1002   1003
10   enet  100010     1500  -      -      -        -    -        0      0
20   enet  100020     1500  -      -      -        -    -        0      0
100  enet  100100     1500  -      -      -        -    -        0      0
1002 fddi  101002     1500  -      -      -        -    -        1      1003
1003 tr    101003     1500  1005   0      -        -    srb      1      1002

新增一台 PC1 並配置其 IPgateway,如下

PC1> ip 192.168.10.10/24 192.168.10.254
Checking for duplicate address...
PC1 : 192.168.10.10 255.255.255.0 gateway 192.168.10.254

新增完後將其 PC1 對應到 ESW1 的接口設置到 VLAN 10 進行綁定。

IT@L3(config)#interface fastEthernet 1/10
IT@L3(config-if)#switchport mode access
IT@L3(config-if)#switchport access vlan 10
IT@L3(config-if)#no shutdown

查看是否有被分配。

IT@L3(config)#do sh vlan-swit

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa1/1, Fa1/2, Fa1/3, Fa1/4
                                                Fa1/5, Fa1/6, Fa1/7, Fa1/8
                                                Fa1/9, Fa1/11, Fa1/12, Fa1/13
                                                Fa1/15
10   IT@L3-VLAN10                     active    Fa1/10 # this
20   IT@L3-VLAN20                     active
100  IT@L3-VLAN100                    active
1002 fddi-default                     active
1003 token-ring-default               active
...

在 R1 跟 ESW1 接口間,設置 Trunk 這表示所有不同 VLAN 可以透過這條 Trunk 進行通訊。

IT@L3(config)#interface fastEthernet 1/0
IT@L3(config-if)#switchport trunk encapsulation dot1q
IT@L3(config-if)#switchport mode trunk

查看 Trunk

IT@L3#show interfaces trunk

Port      Mode         Encapsulation  Status        Native vlan
Fa1/0     on           802.1q         trunking      1

Port      Vlans allowed on trunk
Fa1/0     1-1005

Port      Vlans allowed and active in management domain
Fa1/0     1,10,20,100

Port      Vlans in spanning tree forwarding state and not pruned
Fa1/0     1,10,20,100

在 R1 上設定單臂路由這樣使得所有 VLAN 透過這個設定以達到相互通訊。在連接 ESW1 的接口上個別設定 VLAN ID 的子接口,並將其賦予 VLAN 子網路的 gateway

R1(config)#interface fastEthernet 0/0
R1(config-if)#no ip address
R1(config-if)#int fa 0/0.1
R1(config-subif)#encapsulation dot1Q 1
R1(config-subif)#ip address 192.168.245.254 255.255.255.0

R1(config-subif)#int fa 0/0.10
R1(config-subif)#encapsulation dot1Q 10
R1(config-subif)#ip address 192.168.10.254 255.255.255.0

查看有無配置

R1(config-subif)#do sh ip int brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            unassigned      YES manual up                    up
FastEthernet0/0.1          192.168.245.254 YES manual up                    up
FastEthernet0/0.10         192.168.10.254  YES manual up                    up

查看路由表

R1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.10.0/24 is directly connected, FastEthernet0/0.10
C    192.168.245.0/24 is directly connected, FastEthernet0/0.1

嘗試 PC1 ping VM 或反過來,此時應該是會通的,如果失敗需查看配置是否有誤。