# TOPOLOGY EVE-NG:
<?xml version="1.0" encoding="UTF-8"?>
<lab version="1" revision="1">
  <topology>
    <nodes>
      <node id="1" name="R1" type="iol" image="L3-ADVENTERPRISEK9-M-15.4-2T" ram="512" ethernet="3" left="120" top="120" />
      <node id="2" name="R2" type="iol" image="L3-ADVENTERPRISEK9-M-15.4-2T" ram="512" ethernet="3" left="420" top="70" />
      <node id="3" name="R3" type="iol" image="L3-ADVENTERPRISEK9-M-15.4-2T" ram="512" ethernet="3" left="420" top="250" />
    </nodes>
    <networks>
      <network id="1" name="R1-R2" type="bridge" />
      <network id="2" name="R1-R3" type="bridge" />
      <network id="3" name="R2-R3" type="bridge" />
      <network id="4" name="LAN-A" type="bridge" />
      <network id="5" name="LAN-B" type="bridge" />
      <network id="6" name="LAN-C" type="bridge" />
    </networks>
    <connections>
      <connection node="1" network="1" interface="0" />
      <connection node="2" network="1" interface="0" />
      <connection node="1" network="2" interface="1" />
      <connection node="3" network="2" interface="0" />
      <connection node="2" network="3" interface="1" />
      <connection node="3" network="3" interface="1" />
      <connection node="1" network="4" interface="2" />
      <connection node="2" network="5" interface="2" />
      <connection node="3" network="6" interface="2" />
    </connections>
  </topology>
</lab>


================= INTER-VLAN ROUTING + TRUNKING (CATALYST 3650) =================

! ==========================================================
! L3 SWITCH: CATALYST 3650-48PS (IOS 15.2(7)E8 Gibraltar)
! VLANs: 10=Karyawan, 20=Server, 30=IoT, 40=Tamu, 99=Native
! SVI: Switch Virtual Interface (routing antar VLAN)
! ==========================================================

vlan 10,20,30,40,99
!
vlan 10 name KARYAWAN-LAN
vlan 20 name SERVER-FARM
vlan 30 name IoT-CCTV-AC
vlan 40 name TAMU-GUEST
vlan 99 name NATIVE-VLAN-TRUNK
!
! --- SVI (default gateway per VLAN) ---
interface Vlan10
 ip address 192.168.10.1 255.255.255.0
 ip helper-address 192.168.20.10
 standby 10 ip 192.168.10.254
 standby 10 priority 120
 no shutdown
!
interface Vlan20
 ip address 192.168.20.1 255.255.255.0
 ip access-group SERVER-LAN-IN in
 no shutdown
!
interface Vlan30
 ip address 192.168.30.1 255.255.255.0
 ip access-group IoT-ONLY-MQTT-OUT out
 no shutdown
!
interface Vlan40
 ip address 192.168.40.1 255.255.255.0
 ip access-group GUEST-WEB-ONLY in
 no shutdown
!
! --- TRUNK PORT ke DISTRIBUTION LAYER ---
interface Port-channel1
 description Po1 → CATALYST-CORE-01
 switchport trunk allowed vlan 10,20,30,40,99
 switchport trunk native vlan 99
 switchport mode trunk
 switchport nonegotiate
 spanning-tree portfast trunk
 no shutdown
!
interface GigabitEthernet1/0/47
 channel-group 1 mode active
 no shutdown
!
interface GigabitEthernet1/0/48
 channel-group 1 mode active
 no shutdown
!
! --- ACCESS PORTS VLAN 10 (Karyawan PoE IP Phone) ---
interface range GigabitEthernet1/0/1 - 16
 switchport access vlan 10
 switchport mode access
 switchport voice vlan 110
 spanning-tree portfast
 spanning-tree bpduguard enable
 storm-control broadcast level 5.0
 power inline auto max 15400
 no shutdown
!
! --- IP ROUTE (default ke firewall) ---
ip route 0.0.0.0 0.0.0.0 192.168.20.1 name DEFAULT→FORTIGATE
!
ip dhcp snooping vlan 10,20,30,40
ip dhcp snooping information option allow-untrusted
ip arp inspection vlan 10,20,30,40

# REFERENSI OSPF/Static Template + Verification Checklist:

! R1 - core router
hostname R1
interface g0/0
 ip address 192.168.10.1 255.255.255.0
 no shutdown
interface g0/1
 ip address 10.10.12.1 255.255.255.252
 no shutdown
interface g0/2
 ip address 10.10.13.1 255.255.255.252
 no shutdown
ip route 192.168.20.0 255.255.255.0 10.10.12.2
ip route 192.168.20.0 255.255.255.0 10.10.13.2 200
router ospf 1
 router-id 1.1.1.1
 network 10.10.12.0 0.0.0.3 area 0
 network 10.10.13.0 0.0.0.3 area 0

! R2 - branch A
hostname R2
interface g0/0
 ip address 10.10.12.2 255.255.255.252
 no shutdown
interface g0/1
 ip address 10.10.23.1 255.255.255.252
 no shutdown
interface g0/2
 ip address 192.168.20.1 255.255.255.0
 no shutdown
router ospf 1
 router-id 2.2.2.2
 network 10.10.12.0 0.0.0.3 area 0
 network 10.10.23.0 0.0.0.3 area 0
 network 192.168.20.0 0.0.0.255 area 0

! R3 - branch B
hostname R3
interface g0/0
 ip address 10.10.13.2 255.255.255.252
 no shutdown
interface g0/1
 ip address 10.10.23.2 255.255.255.252
 no shutdown
interface g0/2
 ip address 192.168.30.1 255.255.255.0
 no shutdown
router ospf 1
 router-id 3.3.3.3
 network 10.10.13.0 0.0.0.3 area 0
 network 10.10.23.0 0.0.0.3 area 0
 network 192.168.30.0 0.0.0.255 area 0


# Verification Checklist

1. Pastikan semua interface antar-router berstatus `up/up`.
2. Jalankan `show ip route` pada R1 dan pastikan route statik ke `192.168.20.0/24` ada.
3. Putuskan link `R1-R2`, lalu pastikan floating route menjadi aktif.
4. Jalankan `show ip ospf neighbor` dan cek semua tetangga OSPF mencapai status `FULL`.
5. Ping dari `Client-A` ke `192.168.20.10` dan `192.168.30.10`.
6. Jalankan `traceroute` sebelum dan sesudah simulasi putus link untuk melihat perubahan jalur.
7. Simpan output `show ip route`, `show ip ospf neighbor`, dan hasil ping sebagai bukti lab.
