Skip to main content

🌐 GPON Configuration

Configure VLANs on GPON (Gigabit Passive Optical Network) OLT to manage multi-service delivery including DHCP, PPPoE, hotspot, and customer-specific VLANs. This guide covers VLAN creation, uplink port configuration, GPON interface setup, and ONU line/service profile creation for carrier-grade fiber networks.

Key Concepts
  • GPON - Gigabit Passive Optical Network with passive optical splitters (1:64 to 1:128 split ratio)
  • OLT - Optical Line Terminal (headend OLT_003_4PON)
  • ONU - Optical Network Unit (customer premise equipment)
  • VLAN Transparent - ONU VLAN tags passed through to OLT unmodified
  • VLAN Translation - ONU VLAN mapped to OLT customer VLAN
  • Tcont - Traffic Container for bandwidth allocation on PON port
  • Gemport - GEM Port for service mapping (supports multiple tcont)
  • DBA Profile - Dynamic Bandwidth Allocation (assured + maximum rates)

Prerequisites

Before configuring GPON VLANs, ensure you have:

  • ✅ GPON OLT (4+ PON ports) with console/SSH access
  • ✅ Network VLAN plan (management, DHCP, PPPoE, customer ranges)
  • ✅ Uplink connectivity to MikroTik/core router (Gig 0/3-0/4)
  • ✅ ONU devices discovered and ready for provisioning
  • ✅ Backup of current OLT configuration
  • ✅ GPON splitter topology and split ratio documented (1:64 or 1:128)
  • ✅ Understanding of DBA profiles and traffic classes

Important Considerations
  • VLAN 500 Management: Reserved for OLT management and should not be used for customer traffic
  • Native VLAN 1: Default untagged VLAN; set PVID on hybrid ports correctly
  • Transparent Mode: Enables per-customer VLAN flexibility; ONU config must match OLT
  • ONU Auto-Learn: Automatically provisions ONUs matching specified line/service profiles; verify profiles before enabling
  • Storm Control: Set broadcast limits (512 fps) to prevent network loops and DDoS
  • Uplink Saturation: Monitor Gig 0/3-0/4; aggregate traffic from 4 PON ports (up to 40 Gbps shared)
  • DBA Profiles: Default profile (ID 511) uses assured 1 Mbps + max 1 Gbps; adjust for SLA requirements

Understanding GPON Architecture

Network Topology

                           [Internet Core]

│ (Gig 0/1-0/2 trunk)

┌─────────────────────────┐
│ GPON OLT_003_4PON │
│ (4 PON ports) │
│ Management: 192.168.9.2│
└──────┬──────────────────┘
│ │ │ │
┌───────────┤ │ ├───────────┐
│ │ │ │ │
GPON 0/1 GPON 0/2 GPON 0/3 GPON 0/4
│ │ │ │
[Split 1:64] [Split 1:64] [Split 1:64] [Split 1:64]
│ │ │ │
┌──┴──┐ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐
ONU1-64 ONU65-128 ONU129-192 ONU193-256
│ │ │ │
[Customers] [Customers] [Customers] [Customers]
VLAN 100-200 VLAN 100-200 VLAN 100-200 VLAN 100-200

VLAN Design

VLAN IDNameService TypePort AssignmentCustomersNotes
1NativeUntagged defaultGig 0/1-0/4N/APVID for all hybrid ports
500ManagementOLT management (192.168.9.2/24)Gig 0/3-0/4, AuxN/ADo not use for customer traffic
100-200Customer VLANsPer-customer or shared poolsGPON 0/1-0/4101 VLANsTransparent to ONU configuration

Port Configuration

InterfaceTypeModePrimary UseVLAN Tags
Gig 0/1Gigabit EthernetHybridUpstream ISP500 (tagged), 1 (PVID)
Gig 0/2Gigabit EthernetHybridUpstream Core500 (tagged), 1 (PVID)
GPON 0/1-0/4PON PortTrunkONU connections500, 100-200 (all tagged)

Configuration

Step 1: Create VLANs

# Access OLT via SSH
ssh admin@192.168.9.2

# Enter enable mode (if required)
enable

# Configure VLANs
configure terminal

# Management VLAN 500
vlan 500
description management_500
exit

# Customer VLAN range (100-200)
vlan 100 to 200
exit

# Exit to apply
exit
configure terminal

# Gig 0/1 - Primary Uplink (ISP)
interface gigabitethernet 0/1
switchport mode hybrid
switchport hybrid vlan 1 untagged
switchport hybrid vlan 500 tagged
switchport hybrid vlan 100 - 200 tagged
switchport hybrid pvid vlan 1
no shutdown
mdi force
storm-control broadcast fps 512
no storm-control multicast
storm-control unknow fps 512
no switchport isolate
no ip igmp snooping immediate-leave
exit

# Gig 0/2 - Upstream Core
interface gigabitethernet 0/2
switchport mode hybrid
switchport hybrid vlan 1 untagged
switchport hybrid vlan 500 tagged
switchport hybrid vlan 100 - 200 tagged
switchport hybrid pvid vlan 1
no shutdown
mdi force
storm-control broadcast fps 512
no storm-control multicast
storm-control unknow fps 512
no switchport isolate
no ip igmp snooping immediate-leave
exit

exit

Step 3: Configure GPON PON Ports

configure terminal

# GPON PON 0/1
interface gpon 0/1
no shutdown
mdi force
storm-control broadcast fps 512
no storm-control multicast
storm-control unknow fps 512
switchport isolate
no p2p
no ip igmp snooping immediate-leave
exit

# GPON PON 0/2
interface gpon 0/2
no shutdown
mdi force
storm-control broadcast fps 512
no storm-control multicast
storm-control unknow fps 512
switchport isolate
no p2p
no ip igmp snooping immediate-leave
exit

# GPON PON 0/3
interface gpon 0/3
no shutdown
mdi force
storm-control broadcast fps 512
no storm-control multicast
storm-control unknow fps 512
switchport isolate
no p2p
no ip igmp snooping immediate-leave
exit

# GPON PON 0/4
interface gpon 0/4
no shutdown
mdi force
storm-control broadcast fps 512
no storm-control multicast
storm-control unknow fps 512
switchport isolate
no p2p
no ip igmp snooping immediate-leave
exit

exit

Step 4: Create DBA Profiles (Bandwidth Allocation)

configure terminal

# DBA Profile 1: 1Gbps maximum (high-speed customers)
profile dba id 1 name 1024000
type 4 maximum 1024000
exit

# DBA Profile 511 (Default): 1Mbps assured, 1Gbps maximum (standard customers)
profile dba id 511 name default1
type 3 assured 1024 maximum 1024000
exit

exit

Step 5: Create Service Profiles

configure terminal

# Service Profile 1: Main (transparent mode)
profile srv id 1 name main
portvlan veip 1 mode transparent
commit
exit

exit

Step 6: Create Line Profiles (ONU Service Configuration)

configure terminal

# Line Profile 1: Basic single VLAN
profile line id 1 name main
tcont 1 name 1 dba 1024000
gemport 1 tcont 1 gemport_name 1
service INTERNET gemport 1 vlan 1
service-port 1 gemport 1 uservlan 1 vlan 1
commit
exit

# Line Profile 2: Multi-GEM port (VLAN 100-110)
profile line id 3 name vlan_100_110
tcont 1 name 1 dba 1024000
gemport 1 tcont 1 gemport_name 1
service INTERNET gemport 1 vlan 1
service-port 1 gemport 1 uservlan 1 vlan 1
gemport 2 tcont 1 gemport_name 2
service ser_2 gemport 2 vlan 100-110
service-port 2 gemport 2 uservlan 100 to 110 transparent
commit
exit

# Line Profile 4: Multi-GEM port (VLAN 111-120)
profile line id 4 name vlan_111_120
tcont 1 name 1 dba 1024000
gemport 1 tcont 1 gemport_name 1
service INTERNET gemport 1 vlan 1
service-port 1 gemport 1 uservlan 1 vlan 1
gemport 2 tcont 1 gemport_name 2
service ser_2 gemport 2 vlan 111-120
service-port 2 gemport 2 uservlan 111 to 120 transparent
commit
exit

# Line Profile 5: Multi-GEM port (VLAN 121-200)
profile line id 5 name vlan_121_200
tcont 1 name 1 dba 1024000
gemport 1 tcont 1 gemport_name 1
service INTERNET gemport 1 vlan 1
service-port 1 gemport 1 uservlan 1 vlan 1
gemport 2 tcont 1 gemport_name 2
service ser_2 gemport 2 vlan 121-200
service-port 2 gemport 2 uservlan 121 to 200 transparent
commit
exit

exit

Step 7: Enable ONU Auto-Learn on GPON Ports

configure terminal

# GPON 0/1 - Enable auto-learn with profiles
interface gpon 0/1
onu auto-learn
onu auto-learn line-profile name vlan
onu auto-learn srv-profile name main
exit

# GPON 0/2
interface gpon 0/2
onu auto-learn
onu auto-learn line-profile name vlan
onu auto-learn srv-profile name main
exit

# GPON 0/3
interface gpon 0/3
onu auto-learn
onu auto-learn line-profile name vlan
onu auto-learn srv-profile name main
exit

# GPON 0/4
interface gpon 0/4
onu auto-learn
onu auto-learn line-profile name vlan
onu auto-learn srv-profile name main
exit

exit

Step 9: Configure OLT Management

configure terminal

# OLT hostname
hostname OLT_003_4PON

# Management VLAN interface
interface vlan 500
ip address 192.168.9.2/24
exit

# Remote access control
login-access-list permit telnet 192.168.9.1 255.255.255.0
login-access-list permit web 192.168.9.0 255.255.255.0
login-access-list permit ssh 192.168.9.1 255.255.255.0
login-access-list deny snmp 0.0.0.0 0.0.0.0
login-access-list enable

# DNS
ip dns 8.8.8.8 1.1.1.1

# Time zone
time zone 08:00

# DHCP relay
dhcp-relay information option disable
dhcp-relay information strategy keep

# SNMP monitoring
snmp-server start
snmp-server community public ro
snmp-server community private rw

# System logging
alarm oamlog critical-event enable
alarm oamlog dying-gasp enable
alarm oamlog link-fault enable
alarm oamlog link-event disable
alarm oamlog organization-specific enable

# NTP synchronization
ntp server 203.177.21.122 52.148.114.188

# Spanning tree
spanning-tree on
queue-scheduler strict-priority

# Loopback detection
loopback detect enable
loopback mode auto-recovery

exit

Understanding GPON Components

DBA Profiles (Bandwidth Management)

DBA IDNameTypeAssuredMaximumUse Case
110240004N/A1 GbpsHigh-speed/premium customers
511default131 Mbps1 GbpsStandard residential customers

DBA Type Explanation:

  • Type 3 (Assured): Minimum guaranteed + burst bandwidth (best for shared pools)
  • Type 4 (Maximum): Maximum limit only; no minimum (best for fixed rates)

Service Port Mapping (Transparent Mode)

Service-PortTcontGemportONU VLAN InputOLT VLAN OutputPurpose
11111Default/untagged traffic
111-11100-200100-200Per-customer VLAN passthrough
2-1112-11100-110, 110-120, etc.100-110, 110-120, etc.Segmented service pools

ONU Auto-Learn Process

ONU Registration → Match Profile → Apply Line Profile → Apply Service Profile → Active
↓ ↓ ↓ ↓ ↓
Plug in ONU Check exact match Configure tcont/ Configure VLAN Customer
with ONU profile gemport/service-port mapping/ports online

Verification

Step 1: Verify VLAN Configuration

# Show all VLANs
show vlan

# Expected output should list VLAN 1, 500, 100-200

# Show specific VLAN
show vlan 500

# Verify VLAN 500 management interface
show interface vlan 500

# Expected: IP 192.168.9.2/24 active

Step 2: Verify GPON Port Status

# Show all GPON port status
show interface gpon brief

# Expected output:
# GPON 0/1 up up
# GPON 0/2 up up
# GPON 0/3 up up
# GPON 0/4 up up

# Show detailed GPON 0/1 info
show interface gpon 0/1

# Verify auto-learn enabled
show run interface gpon 0/1 | include auto-learn

Step 3: Verify ONU Status

# Show discovered ONUs on all PON ports
show onu

# Expected columns:
# Interface | ONU-ID | SN | Status | Distance(m) | Power(dBm) | Line-Profile | Srv-Profile

# Show specific ONU details
show onu detail interface gpon 0/1 id 1

# Verify Line Profile applied
show onu profile interface gpon 0/1 id 1 line-profile

# Verify Service Profile applied
show onu profile interface gpon 0/1 id 1 srv-profile

Step 4: Verify Port Configuration

# Show Gigabit port VLAN assignments
show interface gigabitethernet 0/1 switchport

# Expected output should show:
# switchport mode: hybrid
# native vlan: 1
# tagged vlans: 500, 100-200

# Show trunk port status
show interface gigabitethernet 0/1 | include vlan

# Show storm control settings
show interface gigabitethernet 0/1 | include storm
# Ping core router (assuming 192.168.9.1)
ping 192.168.9.1

# Expected: replies received (should be 100% success)

# Verify routing to customer VLANs
show ip route

# Verify DHCP relay configuration
show run | include dhcp-relay

# Test VLAN 500 connectivity
ping -c 4 -I vlan500 192.168.9.1

Step 6: Verify SNMP Monitoring

# Show SNMP configuration
show run | include snmp

# Test SNMP from monitoring system
snmpwalk -v2c -c public 192.168.9.2 1.3.6.1.2.1.1.1.0

# Expected: System description returned

Troubleshooting

IssueCauseSolution
ONU not registering on PON portPON port down or auto-learn disabledVerify show interface gpon 0/1 shows "up"; enable onu auto-learn on interface
VLAN traffic not reaching customerService port VLAN mapping incorrectVerify service-port VLAN mapping matches customer VLAN; use show onu profile
All ONUs on PON port failONU profile missing or corruptCreate ONU profile with profile onu id 1 name main; verify with show profile onu
Management VLAN 500 unreachableInterface vlan 500 not configuredConfigure interface vlan 500 ip address 192.168.9.2/24; verify with show interface vlan 500
ONUs report errors after bootLine profile DBA rate too lowIncrease DBA profile maximum from 1024000 to higher rate; verify with show profile dba id 1
GPON 0/1-0/4 show many retransmissionsStorm control broadcast limit hitIncrease storm control fps: storm-control broadcast fps 1024
OLT reports "distant/high loss ONUs"Poor signal quality or cable faultCheck fiber cable for damage; verify splitter connections; measure optical power
ONU provisioning hangs at "Configuring" stateService profile not committedCommit service profile: profile srv id 1 ... commit exit
Customer cannot ping past OLTSpanning tree blocking VLANDisable loop detection: spanning-tree on then check show spanning-tree output
VLAN 500 DNS not resolvingDNS not configured on OLTAdd DNS: ip dns 8.8.8.8 1.1.1.1; test with ping 8.8.8.8 -c 4 -I vlan500
GPON port shows "down/down" after configurationPort not activatedExecute no shutdown on GPON interface; verify with show interface gpon 0/1 status
Duplicate ONU SN detectedONU auto-learn enabled with non-unique profilesVerify ONU profiles are assigned correctly; check for duplicate ONUs on different PON ports
Performance degrades with all PON ports activeUplink saturation (Gig 0/3-0/4)Implement QoS on uplink ports; enable DHCP Option 82 for rate limiting; consider link aggregation

Advanced Options

For redundant uplink and load balancing, aggregate Gig 0/1-0/2:

configure terminal

# Create port channel 1
interface port-channel 1
switchport mode trunk
switchport trunk allowed vlan 1,500,100-200
switchport trunk native vlan 1
exit

# Assign Gig 0/1 to channel group
interface gigabitethernet 0/1
channel-group 1 mode active
switchport mode trunk
switchport trunk allowed vlan 1,500,100-200
exit

# Assign Gig 0/2 to channel group
interface gigabitethernet 0/2
channel-group 1 mode active
switchport mode trunk
switchport trunk allowed vlan 1,500,100-200
exit

exit

Verification:

show interface port-channel 1
show interface port-channel 1 status
show etherchannel summary

Option 2: Create Per-Customer VLAN with Rate Limiting

For individual customer isolation with guaranteed bandwidth:

configure terminal

# Create customer-specific line profile with rate limiting
profile dba id 100 name customer_1
type 3 assured 512 maximum 100000
exit

# Create line profile for customer
profile line id 100 name customer_vlan
tcont 1 name 1 dba 100
gemport 1 tcont 1 gemport_name 1
service customer_1 gemport 1 vlan 1050
service-port 1 gemport 1 uservlan 1050 vlan 1050
commit
exit

# Assign customer to PON port
interface gpon 0/1
onu 1 line-profile name customer_vlan
onu 1 srv-profile name main
exit

exit

Option 3: VLAN Translation (ONU to OLT Mapping)

Map ONU VLAN to different OLT VLAN (e.g., ONU VLAN 10 → OLT VLAN 150):

configure terminal

profile line id 4 name vlan_translate
tcont 1 name 1 dba 1024000
gemport 1 tcont 1 gemport_name 1
service INTERNET gemport 1 vlan 150
service-port 1 gemport 1 uservlan 10 vlan 150
commit
exit

exit

Option 4: Enable SNOOPING for Multicast/IPTV

Configure IGMP snooping to prevent multicast flooding:

configure terminal

# Enable IGMP snooping on GPON ports
interface gpon 0/1
ip igmp snooping enable
ip igmp snooping immediate-leave
exit

interface gpon 0/2
ip igmp snooping enable
ip igmp snooping immediate-leave
exit

exit

Option 5: Configure Split Ratio Monitoring

Monitor optical power and distance to detect ONU issues:

# Show optical power levels
show onu optical-power gpon 0/1

# Show ONU distance from splitter
show onu distance gpon 0/1

# Expected distances: 5-20 km depending on splitter architecture

Option 6: Create DBA Profile for Symmetric Traffic

For business customers requiring 50/50 upload/download:

configure terminal

profile dba id 200 name business_symmetric
type 3 assured 5120 maximum 10240
exit

# Apply to line profile
profile line id 200 name business
tcont 1 name 1 dba 200
gemport 1 tcont 1 gemport_name 1
service BUSINESS gemport 1 vlan 1100
service-port 1 gemport 1 uservlan 1100 vlan 1100
commit
exit

exit

Option 7: Implement VLAN-based Guest Network

Create separate VLAN for hotspot/guest access without affecting customer VLANs:

configure terminal

vlan 2000
description guest_hotspot
exit

profile line id 50 name guest
tcont 1 name 1 dba 511
gemport 1 tcont 1 gemport_name 1
service GUEST gemport 1 vlan 2000
service-port 1 gemport 1 uservlan 2000 vlan 2000
commit
exit

exit

Then configure on MikroTik:

/ip address add address=192.168.50.1/24 interface=VLAN2000
/ip dhcp-server add address-pool=guest_pool interface=VLAN2000 name=guest_dhcp
/ip firewall filter add action=drop chain=forward src-address=192.168.50.0/24 dst-address=192.168.1.0/24 disabled=no

Option 8: Configure Redundant NTP Servers

Ensure accurate time synchronization for billing/logging:

configure terminal

# Primary and secondary NTP servers
ntp server 203.177.21.122
ntp server 52.148.114.188
ntp server 91.189.92.4

# Set time zone
time zone +08:00

exit

Option 9: Enable OLT-to-MikroTik SNMP Monitoring

Monitor OLT health from MikroTik:

configure terminal

# SNMP trap target
snmp-server notify notify trap 192.168.9.1

# Enable SNMP logging
alarm oamlog critical-event enable
alarm oamlog dying-gasp enable
alarm oamlog link-fault enable

exit

Configure on MikroTik:

/snmp community add addresses=192.168.9.0/24 name=public read-access=yes write-access=no

Option 10: Create Backup OLT Configuration Export

Regular backups prevent data loss:

# Export configuration to text file
show run > /tftp/192.168.9.1/olt-backup-$(date +%Y%m%d).txt

# Export system information
show system > /tftp/192.168.9.1/system-info.txt

# Export all ONU details
show onu > /tftp/192.168.9.1/onu-list.txt

Option 11: Implement RADIUS Authentication for Customer Support

Integrate with RADIUS for centralized user management:

configure terminal

# RADIUS server configuration
radius-server host 192.168.9.50 key MyRadiusSecret

# Enable RADIUS for remote access
aaa authentication login default radius local
aaa authorization login default radius local

exit

Option 12: Enable Syslog for Centralized Logging

Forward OLT logs to syslog server for monitoring:

configure terminal

# Syslog server configuration
logging host 192.168.9.100 514
logging facility local0
logging trap informational

# Enable critical events logging
alarm oamlog critical-event enable
alarm oamlog organization-specific enable

exit

Integration with MikroTik Router

Once GPON ONUs are provisioned with VLAN 100-200 on OLT, configure MikroTik to route customer traffic:

# Create VLAN interfaces for each customer range
/interface vlan
add interface=ether1 name=VLAN100 vlan-id=100
add interface=ether1 name=VLAN101 vlan-id=101
add interface=ether1 name=VLAN150 vlan-id=150
add interface=ether1 name=VLAN200 vlan-id=200

# Add IP addresses
/ip address
add address=192.168.100.1/24 interface=VLAN100
add address=192.168.101.1/24 interface=VLAN101
add address=192.168.150.1/24 interface=VLAN150
add address=192.168.200.1/24 interface=VLAN200

# Add DHCP pools
/ip pool
add name=pool_100 ranges=192.168.100.50-192.168.100.254
add name=pool_101 ranges=192.168.101.50-192.168.101.254

# Add DHCP servers
/ip dhcp-server
add address-pool=pool_100 interface=VLAN100 name=dhcp_100 disabled=no
add address-pool=pool_101 interface=VLAN101 name=dhcp_101 disabled=no

# Add DHCP networks
/ip dhcp-server network
add address=192.168.100.0/24 gateway=192.168.100.1 dns-server=8.8.8.8
add address=192.168.101.0/24 gateway=192.168.101.1 dns-server=8.8.8.8

# Add firewall NAT
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.100.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.101.0/24


Configuration Complete! ✅ Your 4-port GPON OLT is now ready to provision ONUs with multi-VLAN support for DHCP, PPPoE, hotspot, and per-customer services. Monitor optical power and ONU registration regularly to maintain network quality.