Geen omschrijving

Roberto Berto 12855bec1b add dev.py 4 jaren geleden
.github 624aafd71c Create dependabot.yml 5 jaren geleden
vycontrol 12855bec1b add dev.py 4 jaren geleden
.dockerignore b927f53f93 docker 5 jaren geleden
.gitignore 12855bec1b add dev.py 4 jaren geleden
Dockerfile 12855bec1b add dev.py 4 jaren geleden
LICENSE 1d0c199366 fixed license 5 jaren geleden
README.md 3e91bd43df fixed docker 4 jaren geleden
docker-compose.yml 3e91bd43df fixed docker 4 jaren geleden
requirements.txt ae4f21766b deploy working 4 jaren geleden

README.md

VyControl

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

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

your configuration will be mounted on Docker to /etc/vycontrol/production.py

mkdir /etc/vycontrol
cd /etc/vycontrol
wget https://raw.githubusercontent.com/vycontrol/vycontrol/master/vycontrol/vycontrol/settings/production.py
````

now edit production.py:
* 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


now 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.

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


### setup initial database

source env/bin/activate cd vycontrol 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.