annotations:
  - border_color: '#808080FF'
    border_radius: 0
    border_style: ''
    color: '#CB6666'
    thickness: 1
    type: rectangle
    x1: -600.0
    y1: 320.0
    x2: 240.0
    y2: 200.0
    z_index: 0
  - border_color: '#808080FF'
    border_radius: 0
    border_style: ''
    color: '#66AACB'
    thickness: 1
    type: rectangle
    x1: -280.0
    y1: 320.0
    x2: 280.0
    y2: 200.0
    z_index: 0
  - border_color: '#00000000'
    border_style: ''
    color: '#808080FF'
    rotation: 0
    text_bold: false
    text_content: ''
    text_font: monospace
    text_italic: false
    text_size: 12
    text_unit: pt
    thickness: 1
    type: text
    x1: -680.0
    y1: 280.0
    z_index: 1
  - border_color: '#00000000'
    border_style: ''
    color: '#FFE430'
    rotation: 0
    text_bold: false
    text_content: "VLAN 10 \n"
    text_font: monospace
    text_italic: false
    text_size: 12
    text_unit: pt
    thickness: 1
    type: text
    x1: -560.0
    y1: 320.0
    z_index: 2
  - border_color: '#00000000'
    border_style: ''
    color: '#A3FEA5'
    rotation: 0
    text_bold: false
    text_content: "VLAN 20 \n"
    text_font: monospace
    text_italic: false
    text_size: 12
    text_unit: pt
    thickness: 1
    type: text
    x1: -80.0
    y1: 320.0
    z_index: 2
  - border_color: '#808080FF'
    border_radius: 0
    border_style: ''
    color: '#66AACB'
    thickness: 1
    type: rectangle
    x1: -640.0
    y1: 0.0
    x2: 200.0
    y2: 120.0
    z_index: 0
  - border_color: '#00000000'
    border_style: ''
    color: '#A3FEA5'
    rotation: 0
    text_bold: false
    text_content: |-
      VLAN 20
      192.168.2.1 /24
    text_font: monospace
    text_italic: false
    text_size: 12
    text_unit: pt
    thickness: 1
    type: text
    x1: -600.0
    y1: 40.0
    z_index: 2
  - border_color: '#808080FF'
    border_radius: 0
    border_style: ''
    color: '#CB6666'
    thickness: 1
    type: rectangle
    x1: -640.0
    y1: 160.0
    x2: 200.0
    y2: 120.0
    z_index: 0
  - border_color: '#00000000'
    border_style: ''
    color: '#FFE430'
    rotation: 0
    text_bold: false
    text_content: |-
      VLAN 10
      10.0.0.1 /16
    text_font: monospace
    text_italic: false
    text_size: 12
    text_unit: pt
    thickness: 1
    type: text
    x1: -600.0
    y1: 200.0
    z_index: 2
  - border_color: '#00000000'
    border_style: ''
    color: '#808080FF'
    rotation: 0
    text_bold: false
    text_content: ''
    text_font: monospace
    text_italic: false
    text_size: 12
    text_unit: pt
    thickness: 1
    type: text
    x1: -200.0
    y1: 480.0
    z_index: 3
  - border_color: '#00000000'
    border_style: ''
    color: '#A3FEA5'
    rotation: 0
    text_bold: false
    text_content: '.20

      '
    text_font: monospace
    text_italic: false
    text_size: 12
    text_unit: pt
    thickness: 1
    type: text
    x1: -80.0
    y1: 400.0
    z_index: 2
  - border_color: '#00000000'
    border_style: ''
    color: '#A3FEA5'
    rotation: 0
    text_bold: false
    text_content: '.40

      '
    text_font: monospace
    text_italic: false
    text_size: 12
    text_unit: pt
    thickness: 1
    type: text
    x1: -200.0
    y1: 440.0
    z_index: 2
  - border_color: '#00000000'
    border_style: ''
    color: '#FFE430'
    rotation: 0
    text_bold: false
    text_content: '.50

      '
    text_font: monospace
    text_italic: false
    text_size: 12
    text_unit: pt
    thickness: 1
    type: text
    x1: -400.0
    y1: 440.0
    z_index: 2
  - border_color: '#00000000'
    border_style: ''
    color: '#FFE430'
    rotation: 0
    text_bold: false
    text_content: '.60

      '
    text_font: monospace
    text_italic: false
    text_size: 12
    text_unit: pt
    thickness: 1
    type: text
    x1: -560.0
    y1: 400.0
    z_index: 2
  - border_color: '#00000000'
    border_style: ''
    color: '#000000'
    rotation: 0
    text_bold: false
    text_content: |-
      G0/3.1 10.0.0.1 /16
      G0/3.2 192.168.2.1/24
    text_font: monospace
    text_italic: false
    text_size: 12
    text_unit: pt
    thickness: 1
    type: text
    x1: -280.0
    y1: 120.0
    z_index: 4
nodes:
  - boot_disk_size: null
    configuration:
      - name: ios_config.txt
        content: |-
          Building configuration...

          Current configuration : 3552 bytes
          !
          ! Last configuration change at 07:53:42 UTC Thu May 9 2024
          !
          version 15.2
          service timestamps debug datetime msec
          service timestamps log datetime msec
          no service password-encryption
          service compress-config
          !
          hostname SW1
          !
          boot-start-marker
          boot-end-marker
          !
          !
          no logging console
          !
          no aaa new-model
          !
          !
          !
          !
          !
          !
          !
          !
          no ip domain-lookup
          ip cef
          no ipv6 cef
          !
          !
          !
          spanning-tree mode pvst
          spanning-tree extend system-id
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          interface GigabitEthernet0/0
           switchport access vlan 10
           switchport mode access
           negotiation auto
          !
          interface GigabitEthernet0/1
           switchport access vlan 10
           switchport mode access
           negotiation auto
          !
          interface GigabitEthernet0/2
           negotiation auto
          !
          interface GigabitEthernet0/3
           negotiation auto
          !
          interface GigabitEthernet1/0
           negotiation auto
          !
          interface GigabitEthernet1/1
           switchport access vlan 20
           switchport mode access
           negotiation auto
          !
          interface GigabitEthernet1/2
           switchport access vlan 20
           switchport mode access
           negotiation auto
          !
          interface GigabitEthernet1/3
           negotiation auto
          !
          interface GigabitEthernet2/0
           negotiation auto
          !
          interface GigabitEthernet2/1
           negotiation auto
          !
          interface GigabitEthernet2/2
           negotiation auto
          !
          interface GigabitEthernet2/3
           negotiation auto
          !
          interface GigabitEthernet3/0
           negotiation auto
          !
          interface GigabitEthernet3/1
           negotiation auto
          !
          interface GigabitEthernet3/2
           negotiation auto
          !
          interface GigabitEthernet3/3
           switchport trunk encapsulation dot1q
           switchport mode trunk
           negotiation auto
          !
          ip forward-protocol nd
          !
          ip http server
          ip http secure-server
          !
          ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr
          ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr
          !
          !
          !
          !
          !
          !
          control-plane
          !
          banner exec ^CC
          IOSv - Cisco Systems Confidential -

          Supplemental End User License Restrictions

          This IOSv software is provided AS-IS without warranty of any kind. Under no circumstances may this software be used separate from the Cisco Modeling Labs Software that this software was provided with, or deployed or used as part of a production environment.

          By using the software, you agree to abide by the terms and conditions of the Cisco End User License Agreement at http://www.cisco.com/go/eula. Unauthorized use or distribution of this software is expressly prohibited.
          ^C
          banner incoming ^CC
          IOSv - Cisco Systems Confidential -

          Supplemental End User License Restrictions

          This IOSv software is provided AS-IS without warranty of any kind. Under no circumstances may this software be used separate from the Cisco Modeling Labs Software that this software was provided with, or deployed or used as part of a production environment.

          By using the software, you agree to abide by the terms and conditions of the Cisco End User License Agreement at http://www.cisco.com/go/eula. Unauthorized use or distribution of this software is expressly prohibited.
          ^C
          banner login ^CC
          IOSv - Cisco Systems Confidential -

          Supplemental End User License Restrictions

          This IOSv software is provided AS-IS without warranty of any kind. Under no circumstances may this software be used separate from the Cisco Modeling Labs Software that this software was provided with, or deployed or used as part of a production environment.

          By using the software, you agree to abide by the terms and conditions of the Cisco End User License Agreement at http://www.cisco.com/go/eula. Unauthorized use or distribution of this software is expressly prohibited.
          ^C
          !
          line con 0
           exec-timeout 0 0
          line aux 0
          line vty 0 4
           exec-timeout 0 0
           login
          !
          !
          end
    cpu_limit: null
    cpus: null
    data_volume: null
    hide_links: false
    id: n0
    image_definition: null
    label: SW1
    node_definition: iosvl2
    parameters: {}
    ram: null
    tags: []
    x: -320
    y: 280
    interfaces:
      - id: i0
        label: Loopback0
        type: loopback
      - id: i1
        label: GigabitEthernet0/0
        slot: 0
        type: physical
      - id: i2
        label: GigabitEthernet0/1
        slot: 1
        type: physical
      - id: i3
        label: GigabitEthernet0/2
        slot: 2
        type: physical
      - id: i4
        label: GigabitEthernet0/3
        slot: 3
        type: physical
      - id: i5
        label: GigabitEthernet1/0
        slot: 4
        type: physical
      - id: i6
        label: GigabitEthernet1/1
        slot: 5
        type: physical
      - id: i7
        label: GigabitEthernet1/2
        slot: 6
        type: physical
      - id: i8
        label: GigabitEthernet1/3
        slot: 7
        type: physical
      - id: i9
        label: GigabitEthernet2/0
        slot: 8
        type: physical
      - id: i10
        label: GigabitEthernet2/1
        slot: 9
        type: physical
      - id: i11
        label: GigabitEthernet2/2
        slot: 10
        type: physical
      - id: i12
        label: GigabitEthernet2/3
        slot: 11
        type: physical
      - id: i13
        label: GigabitEthernet3/0
        slot: 12
        type: physical
      - id: i14
        label: GigabitEthernet3/1
        slot: 13
        type: physical
      - id: i15
        label: GigabitEthernet3/2
        slot: 14
        type: physical
      - id: i16
        label: GigabitEthernet3/3
        slot: 15
        type: physical
  - boot_disk_size: null
    configuration:
      - name: ios_config.txt
        content: |-
          Building configuration...

          Current configuration : 3177 bytes
          !
          ! Last configuration change at 07:53:46 UTC Thu May 9 2024
          !
          version 15.9
          service timestamps debug datetime msec
          service timestamps log datetime msec
          no service password-encryption
          !
          hostname R1
          !
          boot-start-marker
          boot-end-marker
          !
          !
          no logging console
          !
          no aaa new-model
          !
          !
          !
          mmi polling-interval 60
          no mmi auto-configure
          no mmi pvc
          mmi snmp-timeout 180
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          no ip domain lookup
          ip cef
          no ipv6 cef
          !
          multilink bundle-name authenticated
          !
          !
          !
          !
          !
          redundancy
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          !
          interface GigabitEthernet0/0
           no ip address
           shutdown
           duplex auto
           speed auto
           media-type rj45
          !
          interface GigabitEthernet0/1
           no ip address
           shutdown
           duplex auto
           speed auto
           media-type rj45
          !
          interface GigabitEthernet0/2
           no ip address
           shutdown
           duplex auto
           speed auto
           media-type rj45
          !
          interface GigabitEthernet0/3
           no ip address
           duplex auto
           speed auto
           media-type rj45
          !
          interface GigabitEthernet0/3.1
           encapsulation dot1Q 10
           ip address 10.0.0.1 255.255.0.0
          !
          interface GigabitEthernet0/3.2
           encapsulation dot1Q 20
           ip address 192.168.2.1 255.255.255.0
          !
          ip forward-protocol nd
          !
          !
          no ip http server
          no ip http secure-server
          !
          ipv6 ioam timestamp
          !
          !
          !
          control-plane
          !
          banner exec ^CC
          **************************************************************************
          * IOSv is strictly limited to use for evaluation, demonstration and IOS  *
          * education. IOSv is provided as-is and is not supported by Cisco's      *
          * Technical Advisory Center. Any use or disclosure, in whole or in part, *
          * of the IOSv Software or Documentation to any third party for any       *
          * purposes is expressly prohibited except as otherwise authorized by     *
          * Cisco in writing.                                                      *
          **************************************************************************^C
          banner incoming ^CC
          **************************************************************************
          * IOSv is strictly limited to use for evaluation, demonstration and IOS  *
          * education. IOSv is provided as-is and is not supported by Cisco's      *
          * Technical Advisory Center. Any use or disclosure, in whole or in part, *
          * of the IOSv Software or Documentation to any third party for any       *
          * purposes is expressly prohibited except as otherwise authorized by     *
          * Cisco in writing.                                                      *
          **************************************************************************^C
          banner login ^CC
          **************************************************************************
          * IOSv is strictly limited to use for evaluation, demonstration and IOS  *
          * education. IOSv is provided as-is and is not supported by Cisco's      *
          * Technical Advisory Center. Any use or disclosure, in whole or in part, *
          * of the IOSv Software or Documentation to any third party for any       *
          * purposes is expressly prohibited except as otherwise authorized by     *
          * Cisco in writing.                                                      *
          **************************************************************************^C
          !
          line con 0
           exec-timeout 0 0
          line aux 0
          line vty 0 4
           exec-timeout 0 0
           login
           transport input none
          !
          no scheduler allocate
          !
          end
    cpu_limit: null
    cpus: null
    data_volume: null
    hide_links: false
    id: n1
    image_definition: null
    label: R1
    node_definition: iosv
    parameters: {}
    ram: null
    tags: []
    x: -320
    y: 80
    interfaces:
      - id: i0
        label: Loopback0
        type: loopback
      - id: i1
        label: GigabitEthernet0/0
        slot: 0
        type: physical
      - id: i2
        label: GigabitEthernet0/1
        slot: 1
        type: physical
      - id: i3
        label: GigabitEthernet0/2
        slot: 2
        type: physical
      - id: i4
        label: GigabitEthernet0/3
        slot: 3
        type: physical
  - boot_disk_size: null
    configuration:
      - name: node.cfg
        content: |-
          # this is a shell script which will be sourced at boot
          hostname inserthostname-here
          # configurable user account
          USERNAME=cisco
          PASSWORD=cisco
          hostname PC0
          echo '127.0.0.1 PC1' >> /etc/hosts
          ip address add 10.0.0.60/255.255.0.0 dev eth0
          route add default gw 10.0.0.1 eth0
    cpu_limit: null
    cpus: null
    data_volume: null
    hide_links: false
    id: n2
    image_definition: null
    label: PC0
    node_definition: desktop
    parameters: {}
    ram: null
    tags: []
    x: -560
    y: 440
    interfaces:
      - id: i0
        label: eth0
        slot: 0
        type: physical
  - boot_disk_size: null
    configuration:
      - name: node.cfg
        content: |-
          # this is a shell script which will be sourced at boot
          hostname inserthostname-here
          # configurable user account
          USERNAME=cisco
          PASSWORD=cisco
          hostname PC1
          echo '127.0.0.1 PC1' >> /etc/hosts
          ip address add 10.0.0.50/255.255.0.0 dev eth0
          route add default gw 10.0.0.1 eth0
    cpu_limit: null
    cpus: null
    data_volume: null
    hide_links: false
    id: n3
    image_definition: null
    label: PC1
    node_definition: desktop
    parameters: {}
    ram: null
    tags: []
    x: -440
    y: 480
    interfaces:
      - id: i0
        label: eth0
        slot: 0
        type: physical
  - boot_disk_size: null
    configuration:
      - name: node.cfg
        content: |-
          # this is a shell script which will be sourced at boot
          hostname inserthostname-here
          # configurable user account
          USERNAME=cisco
          PASSWORD=cisco
          hostname PC2
          echo '127.0.0.1 PC1' >> /etc/hosts
          ip address add 192.168.2.40/255.255.255.0 dev eth0
          route add default gw 192.168.2.1 eth0
    cpu_limit: null
    cpus: null
    data_volume: null
    hide_links: false
    id: n4
    image_definition: null
    label: PC2
    node_definition: desktop
    parameters: {}
    ram: null
    tags: []
    x: -120
    y: 480
    interfaces:
      - id: i0
        label: eth0
        slot: 0
        type: physical
  - boot_disk_size: null
    configuration:
      - name: node.cfg
        content: |-
          # this is a shell script which will be sourced at boot
          hostname inserthostname-here
          # configurable user account
          USERNAME=cisco
          PASSWORD=cisco
          hostname PC3
          echo '127.0.0.1 PC1' >> /etc/hosts
          ip address add 192.168.2.20/255.255.255.0 dev eth0
          route add default gw 192.168.2.1 eth0
    cpu_limit: null
    cpus: null
    data_volume: null
    hide_links: false
    id: n5
    image_definition: null
    label: PC3
    node_definition: desktop
    parameters: {}
    ram: null
    tags: []
    x: -40
    y: 440
    interfaces:
      - id: i0
        label: eth0
        slot: 0
        type: physical
links:
  - id: l0
    n1: n0
    n2: n1
    i1: i16
    i2: i4
    conditioning: {}
    label: SW1-GigabitEthernet3/3<->R1-GigabitEthernet0/3
  - id: l1
    n1: n2
    n2: n0
    i1: i0
    i2: i1
    conditioning: {}
    label: PC0-eth0<->SW1-GigabitEthernet0/0
  - id: l2
    n1: n3
    n2: n0
    i1: i0
    i2: i2
    conditioning: {}
    label: PC1-eth0<->SW1-GigabitEthernet0/1
  - id: l3
    n1: n4
    n2: n0
    i1: i0
    i2: i6
    conditioning: {}
    label: PC2-eth0<->SW1-GigabitEthernet1/1
  - id: l4
    n1: n5
    n2: n0
    i1: i0
    i2: i7
    conditioning: {}
    label: PC3-eth0<->SW1-GigabitEthernet1/2
lab:
  description: ''
  notes: |-
    A method of providing routing and connectivity for multiple VLANs is through the use of an 802.1Q trunk between one or more switches and a single router interface. This method is also known as router-on-a-stick inter-VLAN routing. In this method, the physical router interface is divided into multiple subinterfaces that provide logical pathways to all VLANs connected.

    In this lab, you will configure trunk-based inter-VLAN routing and verify connectivity to hosts on different VLANs as well as with a loopback on the router.




    Step 1: For each Switch and Router and end device, Configure the hostname according to the Topology.

    Step 2: On the Switches, Configure the ports between them as Trunk, You will also need to configure the port connected to R1 as a trunk port as per the Topology.

    Step 3 Create the VLANs listed in the Topology on each switch. Next, assign the relevant VLAN to the corresponding ports based on the Topology.
    EG: assign VLAN 20 to port G1/1, which connects to PC 2.
    NOTE: Keep in mind that Access ports are designated for end devices, while Trunk ports are utilized between routers and switches.

    Step 4: On Router 1, Configure Sub Interfaces for each VLAN on the connection from S1 to R1. Use the Address schema as per the Topology. Note: When creating the subinterfaces, you should use the encapsulation dot1q command to enable communication between vlans.  Remember to bring up the physical Interface by issuing the no shutdown command

    Step 5: Copy the Running configuration to the startup configuration on each switch and router.

    Step 6: Assign the relevant IP Addresses to the end devices within each VLAN as per the Topology. Note: You may need to use the sudo ifconfig eth0 Command on the Desktops.

    Step 7: Verify on each switch that the correct VLAN is assigned. Using the show vlan brief command.

    Step 8: Verify connectivity between devices by pinging other VLAN devices.
  title: Lab at Thu 06:34 AM
  version: 0.2.2
