Cisco Meraki - API VPN Map
Using Cisco Meraki and Google Maps API's, plot MX's on world map and draw lines between Spokes and Hubs to show VPN paths. Use the VPN Checker Tool for IP reachability across your VPNs.
Features
Demo
View live demo: https://vpn-map.herokuapp.com.

Installation
Clone the source locally:
$ git clone https://github.com/benbenbenbenbenbenbenbenbenben/meraki-vpn-map.git
$ cd meraki-vpn-map
Install npm and nodejs:
$ sudo apt-get install npm nodejs
Install project dependencies:
Add your Meraki api key and your organization ID values to src/config-default.js. Rename to config.js
Add Google Maps api key to templates/views/index.hbs
https://maps.googleapis.com/maps/api/js?key=YOURKEYGOESHERE&callback=initMap&sensor=false&libraries=geometry,places&ext=.js
Start the nodejs server:
Open web browser and go to:
http://localhost:3000/
VPN Checker Tool
Check source and destination IP Addresses for vpn reachability across your Meraki VPN estate.
Usage
Enter source and destination IP addresses and select check connectivity to run 4 tests:
- Check both IPs exist in a subnet
- Check subnets are not on the same router
- Check subnets are enabled for VPN
- Check IPs are not blocked by VPN Firewall
If all checks pass VPN paths will highlight in green!
Otherwise user will be alerted on failed check.
Note
This tool only checks device/dashboard configuration and does not check if MX is online or VPN tunnel is up and passing traffic.
API Flow
Get Org VPN firewall rules:
- add to new vpn rules array
Get DeviceStatuses:
- Returns list of all devices's, sort those with WAN1IP property
Get Device details:
- append lat, lng, address and model to MX array
Get Perf score for each online MX:
Get VPN Details for each MX:
Dependencies
- Express
- Hbs
- Bottleneck
- Axios
- JSON-Bigint
Built with
License
MIT © Ben 2019