Using Mikrotik in Docsis Provisioning
Using Mikrotik in Docsis Provisioning
Using Mikrotik in Docsis Provisioning
Provisioning
Case study showing how
to use a MikroTik router
to provision cable
modems
Vince Godinich
Harleton, Texas
903‐407‐6400
[email protected]
Certifications
Overview
In this case study I’ll demonstrate how I used a MikroTik router as a provisioning server for
cable modems.
ISSUES TO OVERCOME
I needed to be able to deploy high speed internet to a number of apartments over an
existing coax cable network.
Total end users would not exceed 200 per location
Rewiring the infrastructure with fiber and copper Ethernet was cost‐prohibitive.
Client had an existing coax network which he used to provide local broadcast TV
MikroTik CCR router added as edge router
CCR configured to replace the need for additional modem
provisioning servers
INTERNET
RB 2011 CMTS
CCR1009
LHG 60G LHG 60G
COAX
CMTS
COAX
CABLE MODEM OPERATION
Four Steps
1.Downstream Channel Search and Lock
Basically layer one establishment over the RF on coax cable
2.DHCP
IP address/mask /gateway
3.TOD ( Time of Day)
4.TFTP
Config File Download
Client Router Operation
Most “modems” are actually a combination of cable modem and client wifi router
Once Modem “side” is online and operational the router “side” must be given its
configuration
We accomplish this with a second ‘DHCP server’ to give out normal IP address, gateway,
mask, and DNS server
IP SUBNET STRUCTURE 10.11.0.0/24
CORE 1
10.11.1.0/24
10.11.0.0/21 MODEM 1
10.11.2.0/24
Router 2
CCR
10.11.10.0/24
CORE 2
10.11.11.0/24
10.11.8.0/21 MODEM 2
10.11.12.0/24
ROUTER 2
INTERNET
RB 2011 CMTS
CCR1009
LHG 60G LHG 60G
COAX
CMTS
COAX
MikroTik DHCP Server Config
We need to have the MikroTik router provide several parameters to the modem
1. IP address, mask, gateway
2. TFTP server address
3. Boot File Name
We also need to have the MikroTik provide parameters to the router
1. IP address
2. Subnet mask
3. Gateway
4. DNS server
IP DHCP SERVER
Set DHCP Options
Set DHCP Option Set
/IP DHCP SERVER/ NETWORK
for routers
/IP DHCP SERVER/ NETWORK
for modems
MikroTik TFTP SERVER Config
MikroTik IP TFTP Server
Put Modem Config File in /files
Modem Config Files
Docsis config files provide the info needed to configure the cable modem.
The config file we place in /files must be in “Docsis” binary format
You will need a config file editor
https://www.excentis.com/
Some basic items would be:
upstream max traffic flow
downstream max traffic flow
whether or not customer can access modem
SNMP community names
address of SNMP server
Config file editor
File to upload
One or many config files?
In this case study, one config file is used for all modems with up and
download speeds set at just over the maximum limits for the fastest service
being sold.
Actual user bandwidth is controlled using address lists containing IP
addresses of routers, not modems along with mangle rules and queue tree.
Another approach would be to control bandwidth at the modem with a
different config file uploaded to modem for each speed package sold.
Still another would be a different config file for VOIP customers which would
prioritize VOIP traffic at the modem.
Note that if you want to change a service by means of a different config file,
you must reboot the selected modem for the new config file to be uploaded.
Numerous Deployment Options
ALL Dynamic Assignments
Simple
All same type modems
All same services
Example would be a hotel or student housing
with modems behind Hotspot
Static Leases Assignments
Paid service
Different Speeds and services
Ability to suspend service for non payment
Separate Subnets for devices and services
Under all but the simplest dynamic deployment, you can separate device types and
services into separate subnets.
In this case study all modems are placed in subnet 1, and all routers into subnet 2.
You can also separate different service levels into separate subnets by placing all
routers with same bandwidth limit into one subnet and others with different
bandwidth limit into a second. Or all VOIP customers in same subnet.
The reason for this is to control which modem config file gets delivered to a specific
modem. Remember we have only one DHCP server per interface so config files are
specified in the DHCP networks section as well as the TFTP server address list. We also
need to write static dhcp leases.
It also becomes easier to control traffic flow based on subnet. For example you can
block internet access for all modem subnets if not needed, restrict modem access to
only what’s needed, or Netmap different router subnets to different public IP’s.
DHCP network and TFTP server
Dynamic Assignment
When all users have the same modems, service levels,
bandwidth limitations, etc...
Such as in hotels or student housing then just use IP pools
instead of static leases.
The options sets remain the same but the routers will
ignore what they don’t need. For example the TFTP server
address.
In the simplest case, the config file for the modem can rate
limit users without the need for queuing on main MikroTik
router.
Add IP pool to DHCP server
Static Lease Assignments
Various ways can be deployed to write static leases:
1. Manually enter the mac and IP address for each both
modem and router
2. Integration of third party billing platforms either local,
remote, or cloud based
3. Radius server ( MikroTik Usermanager)
Write Leases Manually
Add Modem
Add first modem’s mac address, IP
address, and option set
All Modem IP address will be issued
from one subnet
Add Router
Add first router’s mac address and IP
address,
All router IP addresses will be issued from
separate subnet
Third party cloud based
Mac addresses for both modem and
router are entered and associated with
a customer and IP addresses are
assigned.
A service is also associated with the
customer indicating bandwidth limits
Router is updated via API and static
leases are written as well as address
list entries
Enable API Service
Enable API service
Make sure to allow access only
from authorized IP address and
create certificate if using API‐SSL
Static Leases written
Address list updated
Mangle and Queue Tree Based on address lists
Redirect for non payment
Redirect for non payment
Inactive or Suspended
UserManager
We could use the built in Usermanager to
write static DHCP leases with mac address as
username then add profiles and limitations
Add User
Userman profile and limitation
Hotspot
Although not covered here we
could also use Hotspot
SUMMARY
The only real difference between a Docsis based
network and an Ethernet or wireless based
network other than the physical layer protocols
is the need to deliver config files to the
modems.
While there is a need for expensive Docsis
provisioning software and servers on large
complex networks this case study shows how to
build a working solution using only a MikroTik
edge router.