This lab creates an isolated network environment where a Windows Server with IIS sits behind VLAN segmentation, accessible only from authorized VLANs.
π Lab Overview
Internet (Simulated)
β
[Router] β Layer 3 routing + ACLs
β
[Switch] β VLAN 10, 20, 30 + VTP Server
β β
VLAN 10 VLAN 20
(Web Server) (Client PCs)
Your rules mapped:
- Rule 1 β Allow 30 devices (office + internet) β Configure ACL permitting /27 subnet
- Rule 2 β Access server from VLAN 10 β Assign web server to VLAN 10
- Rule 3 β Access local VM from VLAN 20 β Client PCs in VLAN 20 can reach VLAN 10
Phase 1: VMware ESXi Setup
Step 1.1: Install ESXi
- Download VMware ESXi from Broadcom (free license available)
- Install on bare metal or in VMware Workstation for testing
- Set management IP:
192.168.1.50/24
Step 1.2: Create Virtual Switch for VLANs
Reference: VLAN deployment requires port groups with specific VLAN IDs
- Log into ESXi web interface (https://
[your-ESXi-IP]/ui) - Navigate to Networking β Virtual switches
- Click Add standard virtual switch
- Name:
vSwitch-VLAN - No uplink adapters (isolated internal network)
- Click Add
Step 1.3: Create VLAN Port Groups
| Port Group Name | VLAN ID | Purpose |
|---|---|---|
| VLAN 10 - Servers | 10 | Web Server VM |
| VLAN 20 - Clients | 20 | Client PCs |
| VLAN 30 - Management | 30 | Management access |
Steps for each:
- Networking β Port groups β Add port group
- Name:
VLAN 10 - Servers - VLAN ID:
10 - Virtual switch:
vSwitch-VLAN - Click Add
Note: VLAN ID must be between 2 and 4000
Phase 2: Create Virtual Machines
Step 2.1: Web Server VM (VLAN 10)
- Virtual Machines β Create/Register VM
- Name:
WEB-SERVER-01 - Guest OS:
Microsoft Windows Server 2019/2022 - CPU: 2 vCPU, RAM: 4GB, HDD: 40GB
-
Network Adapter 1:
VLAN 10 - Servers - Complete creation, then power on
Step 2.2: Client VM (VLAN 20)
- Create/Register VM
- Name:
CLIENT-01 - Guest OS:
Windows 10/11orUbuntu Linux - CPU: 1 vCPU, RAM: 2GB, HDD: 32GB
-
Network Adapter 1:
VLAN 20 - Clients - Power on after creation
Step 2.3: Verify Isolation (Before Router Config)
Both VMs cannot ping each other yetβthey're on different VLANs with no router between them.
Phase 3: Windows Server IIS Configuration
Step 3.1: Set Static IP on Web Server
Inside WEB-SERVER-01 VM:
- Open Control Panel β Network and Sharing Center β Change adapter settings
- Right-click network adapter β Properties
- Select Internet Protocol Version 4 (TCP/IPv4) β Properties
- Configure:
- IP address:
10.10.10.10 - Subnet mask:
255.255.255.0 - Default gateway:
10.10.10.1(router interface for VLAN 10)
- IP address:
Step 3.2: Install IIS
PowerShell as Administrator:
Install-WindowsFeature -name Web-Server -IncludeManagementTools
Step 3.3: Create Test Website
- Open IIS Manager
- Right-click Sites β Add Website
- Site name:
TestSite - Physical path:
C:\inetpub\testsite - Create folder and add
index.html:
<html><body><h1>VLAN 10 Web Server</h1></body></html>
Step 3.4: Configure Windows Firewall
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
Phase 4: Router/Switch Configuration
Step 4.1: VTP Server Setup (Central Switch)
VTP propagates VLAN configuration across switches
Switch# configure terminal
Switch(config)# vtp domain MYLAB
Switch(config)# vtp mode server
Switch(config)# vtp password cisco123
Switch(config)# vtp pruning
Step 4.2: Create VLANs
Switch(config)# vlan 10
Switch(config-vlan)# name SERVERS
Switch(config-vlan)# exit
Switch(config)# vlan 20
Switch(config-vlan)# name CLIENTS
Switch(config-vlan)# exit
Switch(config)# vlan 30
Switch(config-vlan)# name MANAGEMENT
Switch(config-vlan)# exit
Step 4.3: Configure Trunk Ports
For VTP to work, trunk ports must be configured between switches
Switch(config)# interface gi1/0/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport trunk allowed vlan 1,10,20,30
Step 4.4: Assign Access Ports
Web server port:
Switch(config)# interface gi1/0/2
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Client ports:
Switch(config)# interface gi1/0/3
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 20
Step 4.5: Router-on-a-Stick (Inter-VLAN Routing)
Router configuration:
Router(config)# interface gi0/1.10
Router(config-subif)# encapsulation dot1Q 10
Router(config-subif)# ip address 10.10.10.1 255.255.255.0
Router(config-subif)# exit
Router(config)# interface gi0/1.20
Router(config-subif)# encapsulation dot1Q 20
Router(config-subif)# ip address 10.10.20.1 255.255.255.0
Router(config-subif)# exit
Router(config)# interface gi0/1.30
Router(config-subif)# encapsulation dot1Q 30
Router(config-subif)# ip address 10.10.30.1 255.255.255.0
Step 4.6: Set Client Static IPs
On CLIENT-01 VM:
- IP:
10.10.20.50 - Mask:
255.255.255.0 - Gateway:
10.10.20.1
Test connectivity:
ping 10.10.10.10
Should succeed nowβrouter forwards between VLANs.
Phase 5: Access Control Rules
Step 5.1: Rule 1 β Allow 30 Office Devices
Define ACL for subnet 192.168.1.0/27 (30 hosts)
Router(config)# access-list 100 permit ip 192.168.1.0 0.0.0.31 any
Router(config)# interface gi0/0
Router(config-if)# ip access-group 100 in
Step 5.2: Rule 2 β Restrict Web Server Access
Only VLAN 10 can reach web server; visitors (VLAN 20) cannot
! Deny visitors from reaching server VLAN
Router(config)# access-list 101 deny ip 10.10.20.0 0.0.0.255 10.10.10.0 0.0.0.255
Router(config)# access-list 101 permit ip any any
Router(config)# interface gi0/1.20
Router(config-subif)# ip access-group 101 in
Step 5.3: Rule 3 β Local VM Access from VLAN 20
No action neededβinter-VLAN routing already allows this.
Phase 6: Testing & Verification
Test 1: Within VLAN 10
From WEB-SERVER-01: Can other VLAN 10 devices ping? Yes.
Test 2: Across VLANs
From CLIENT-01 (VLAN 20):
ping 10.10.10.10 β Success
Test 3: Web Access
From CLIENT-01 browser: http://10.10.10.10 β IIS page loads
Test 4: Verify ACLs
Router# show access-lists
Router# show ip interface gi0/1.20
π Final Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β INTERNET β
β β β
β [Router] ACL 100 (permits /27) β
β β β
β ββββββββββββββββββββββ΄βββββββββββββββββββββ β
β β (gi0/1.10) β (gi0/1.20)β
β ββββββββββββββββββββ ββββββββββββββββββββ β
β β VLAN 10 - /24 β β VLAN 20 - /24 β β
β β 10.10.10.0/24 β β 10.10.20.0/24 β β
β β β β β β
β β [WEB-SERVER-01] βββββpingββββΊ β [CLIENT-01] β β
β β 10.10.10.10 β β 10.10.20.50 β β
β β IIS: Port 80 β β β β
β ββββββββββββββββββββ ββββββββββββββββββββ β
β β
β [VTP Server Switch] - VLANs 10,20,30 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β οΈ Troubleshooting Tips
| Problem | Solution |
|---|---|
| VMs can't ping | Check VLAN assignment, trunk config, subnet masks |
| VTP not syncing | Verify domain name, password, trunk ports |
| IIS not reachable | Check Windows Firewall, port 80 |
| ACL blocking everything | Verify rule order and subnet masks |
Want me to clarify any step or help with Cisco vs. Huawei/other vendor syntax?
Top comments (0)