- ⚡ FastAPI for the Python backend API.
- 🚀 React for the frontend.
- 🐋 Docker Compose for development and production.
- Features:
- Switches: get system information. Support: Cisco, Juniper
- Interfaces: show running config, configure interface mode access|trunk (Juniper view only)
- Collect information: MAC, ARP, IP Interfaces and tracking first seen, last seen.
- Apply config multiple switches via nornir-netmiko: Group Config features
Netconsole Demo: https://youtu.be/HtHIZleYdnw
git clone https://github.com/thangphan205/netconsole
- Enter into the directory:
cd netconsole
You can then update configs in the .env
files to customize your configurations.
Before deploying it, make sure you change at least the values for:
SECRET_KEY
FIRST_SUPERUSER_PASSWORD
POSTGRES_PASSWORD
You can (and should) pass these as environment variables from secrets.
Read the deployment.md docs for more details.
Some environment variables in the .env
file have a default value of changethis
.
You have to change them with a secret key, to generate secret keys you can run the following command:
python -c "import secrets; print(secrets.token_urlsafe(32))"
Copy the content and use that as password / secret key. And run that again to generate another secure key.
In the netconsole directory
docker compose build
docker compose up -d
Web access: http://localhost
API Docs: http://localhost/docs
DB admin: http://localhost:8080
traefik dashboard: http://localhost:8090
docker compose down
Switch configuration to work with netconsole.
- Cisco IOS: Tested WS-C3750G-48T
username netconsole privilege 15 secret changethis
- Cisco Nexus
role name netconsole
rule 4 permit read-write feature interface
rule 3 permit read-write feature copy
rule 2 permit read
rule 1 permit command show running-config *
username netconsole password changethis role netconsole
- Juniper JUNOS
set system login class read-only-all permissions view
set system login class read-only-all permissions view-configuration
set system login user netconsole class read-only-all
set system login user netconsole authentication plaintext <changethis>