Skip to content
Web-GUI to configure switches (via SSH)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
fonts
img
js
lang
maps
php
style
LICENSE.txt
README.md
foot.inc.php
head.inc.php
index.php
intmatrix.php
intstatuslist.php
lang.php
login.php
map.php
maps.php
menu.inc.php
password.php
search.php
switchlist.example.php

README.md

Switchconfig

Web application for managing cisco switches via SSH

Features

  • assign description, VLAN and VoIP-capability to a switchport
    • trunk ports are hidden by default to avoid accidentally changes on those ports
  • webserver connects to switches via SSH
  • create maps with the position of your switches
  • overview over the usage of your switch using the port matrix or port list
  • mac address search
  • bulk password change for one user account on all switches
  • optimized for mobile devices
  • dark mode!!

Dependencies

  • Server
    • linux-based operating system (Debian/Ubuntu recommended)
    • apache2 webserver
    • PHP 5 or 7 with php-ssh2 package
  • Client
    • Browser with JavaScript enabled
    • Chromium or Firefox recommended
    • Internet Explorer is not supported

Setup

  1. Install packages (example for Debian): apt install apache2 php php-ssh2
  2. Copy all files into your webserver directory
  3. Make sure "AllowOverride All" is set in your Apache config for the webserver directory, in order to deny access to the "maps" directory for non-authenticated users (see .htaccess file in this directory).
  4. Create/Edit the config file switchlist.php (please refer to the explanation and example in the file switchlist.example.php)
    • add the vlans you need to the array VISIBLE_VLAN
    • add the switches you want to manage to the array SWITCHES (at least one)
    • (optional) set the VOICE_VLAN (integer)
    • (optional) enable the password change feature
    • (optional) create maps using the array MAPS
  5. Open index.php in your browser, log in with an SSH account on your switch and your LDAP account if configured.

Hardening Recommendations

  • Please only use HTTPS (except you are accessing the site only via localhost). Redirect all HTTP requests to HTTPS.
  • Keep your server always up to date.
  • Limit the access (via Apache config) to IP addresses that really need it.
  • Do not make this webapp availabe on the internet (to avoid brute force attacks) - configure your Apache and/or firewall to only serve this page inside your internal network.

Other Recommendations

  • LDAP Authentication: You can configure your switches to ask a RADIUS server (which can for example authenticate against an LDAP/AD server) for authenticating the SSH connections.

Compatibility Note

This application parses the SSH response from your switch. Therefore, your switch has to produce output in a specific format as shown in docs/Example-SSH-Output.txt in order to be compatible with this application. Please check if your switch supports the necessary commands (and syntax) in the example file and if it produces similar output.

Feedback

I'm interested if your switch model is compatible (or not) with this application. Please let me know on Github (make an Issue) or via email. Thanks!

Screenshots

Main Page Port List Port Matrix MAC search

Third-Party Components

License

GPL v3, see LICENSE.txt

You can’t perform that action at this time.