Giter Club home page Giter Club logo

vycontrol's Introduction

VyControl

VyControl is web frontend interface to manage a single or multiple VyoS servers. It is developed in Python/Django using VyOS API.

Future Roadmap

If you are interested on future of VyControl, please check VyControl v2 Roadmap.

Use Cases:

VyControl can be a web gui for one single VyOS installation, but it requires a separeted webserver from VyOS to a single network admin user or a TI department from a company

VyControl can be a web gui for multiple VyOS installation in a same enterprise, to a single network admin user or a TI department from a company

VyControl can be a web gui for multiple VyOS installation in a datacenter. Each of datacenter customer have a VyControl user to manage their own VyOSes (each user can manage several VyOS).

Main links

  • VyControl website
  • VyOS linux firewall website (only compatible with rolling release / 1.3 VyOS)
  • Reddit

Plan to use VyControl?

Install instructions

  • download VyOS Rolling Release, since VyControl needs the latest VyOS API.
  • configure VyOS-API according VyOS documentation

Docker

latest VyControl is being autobuilt at dockerhub https://hub.docker.com/r/robertoberto/vycontrol

download latest docker image:

docker pull robertoberto/vycontrol

run docker:

docker run -p 8000:8000 -t robertoberto/vycontrol

now you can access http://127.0.0.1:8000

by docker composer

Right now we are using db.sqlite3, you can edit composer and to change to mySQL/PostgreSQL if needed.

find vycontrol | grep migrations | xargs rm -rf
docker-compose build
docker-compose up

manual install instructions

setup virtual env and pip requirements

virtualenv env
source env/bin/activate
pip3 install -r requirements.txt

create your own configuration

cp -a vycontrol/vycontrol/settings_example/ /vycontrol/vycontrol/settings_available/

edit according your needs:

  • ALLOWED_HOSTS currently 127.0.0.1 is ok for tests
  • for tests you don't need to edit EMAIL settings, but forget password will not work
  • sqlite is ok for tests, but you can change to MySQL/PostgreSQL.
  • SECRET_KEY edit to anything random, you can use openssl for example:
openssl rand -hex 32

setup initial database

source env/bin/activate
cd vycontrol
python3 manage.py makemigrations config --settings=vycontrol.settings_available.production 
python3 manage.py makemigrations --settings=vycontrol.settings_available.production 
python3 manage.py migrate --settings=vycontrol.settings_available.production 

run webserver

source env/bin/activate
cd vycontrol
python3 manage.py runserver --settings=vycontrol.settings_available.production 0.0.0.0:8000

access webpage

http://127.0.0.1:8000/

setup vyos new instance

  • click on Add new instance
  • configure vyos services like explained here https://docs.vyos.io/
  • click on List Instances
  • click on Test Connection

setup email provider

VyControl send email to users when they click on Forget Password. So you need to setup a email provider to be able to use this features.

  • edit vycontrol/settings/production.py
  • change according your mail provider, you can use gmail accounts, sendergrid, amazon ses, mailgun etc
EMAIL_HOST = 'email-smtp.us-east-1.amazonaws.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'user'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_USE_TLS = True

Plan to help develop VyControl?

changelog

  • create/read/update/delete users
  • create/read/update/delete groups
  • create/read/update/delete DNS Resolver
  • create/read/update/delete email/password in user profile
  • create/read/update/delete interfaces and vlans
  • lost password recovery using external SMTP server
  • create/read/update/delete NTP Serrves
  • create/read/update/delete zone based firewall
  • improve firewall UI and error returns to end users
  • working firewall
  • version created to start project framework, organize permission systems and concept test with some firewall and interface functions and statics routes

roadmap

vpn services

  • openvpn
  • ipsec

basic router configuration

  • ssh service
  • logins
  • hostname
  • domain-name
  • timezone

dynamic routing

  • OSPF
  • BGP

addons features

  • FastNetMon integration
  • save/commit/load
  • s3 backup scheduler

IPV6

  • ipv6

references

screenshoots

Install VyControl

Install VyControl

List Users

List Users

List VyOS Instances

List VyOS Instances

Add VyOS Instances

Add VyOS Instances

List Interfaces

List Interfaces

List Firewall

List Dashboard

Add Firewall Rule

Add Firewall Rule

List Static Routes

List Static Routes

Sponsoring

  • VyControl is being tested at Under a Brazilian provider of Cloud Computing and Datacenters.

vycontrol's People

Contributors

dependabot[bot] avatar jibaku avatar robertoberto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.