Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vycontrol/vycontrol
vyos frontend
https://github.com/vycontrol/vycontrol
bgp django firewall firewall-configuration firewall-management frontend gui ipsec nat openvpn python vpn vyatta vyos
Last synced: 3 months ago
JSON representation
vyos frontend
- Host: GitHub
- URL: https://github.com/vycontrol/vycontrol
- Owner: vycontrol
- License: mit
- Created: 2020-04-22T22:25:03.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-02-09T11:55:43.000Z (12 months ago)
- Last Synced: 2024-02-14T21:13:43.788Z (11 months ago)
- Topics: bgp, django, firewall, firewall-configuration, firewall-management, frontend, gui, ipsec, nat, openvpn, python, vpn, vyatta, vyos
- Language: Python
- Size: 484 KB
- Stars: 232
- Watchers: 15
- Forks: 29
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
VyControl is web frontend interface to manage a single or multiple VyoS servers. It is developed in Python/Django using VyOS API.
# Future Roadmap
VyControl currently is deprecated since VyOS will bring a new 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
* [VyOS](https://www.vyos.io/) linux firewall website (only compatible with rolling release / 1.3 VyOS)
* [Reddit](https://www.reddit.com/r/vycontrol/)# Plan to use VyControl?
- [ ] Add new enhancement requests at https://github.com/vycontrol/vycontrol/issues# Install instructions
* download [VyOS](https://www.vyos.io/) 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/vycontroldownload 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 compose
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?
- [ ] Solve Issues at https://github.com/vycontrol/vycontrol/issues
- [ ] Forks and pull requests are welcome!
- [ ] Discussion VyControl at VyOS forum https://forum.vyos.io/t/vycenter-alpha-stage-announcement-vyos-web-interface/5221/4# changelog
- [x] create/read/update/delete users
- [x] create/read/update/delete groups
- [x] create/read/update/delete DNS Resolver
- [x] create/read/update/delete email/password in user profile
- [x] create/read/update/delete interfaces and vlans
- [x] lost password recovery using external SMTP server
- [x] create/read/update/delete NTP Serrves
- [x] create/read/update/delete zone based firewall
- [x] improve firewall UI and error returns to end users
- [x] working firewall
- [x] 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
* https://docs.vyos.io/en/latest/appendix/http-api.html
* https://forum.vyos.io/t/http-api-for-show/3922
* https://blog.vyos.io/vyos-rolling-release-has-got-an-http-api
* https://www.facebook.com/vycontrol# screenshoots
## Install VyControl
![Install VyControl](https://storage.googleapis.com/vycontrol/screenshoots/20.05.01/install.png)## List Users
![List Users](https://storage.googleapis.com/vycontrol/screenshoots/20.05.01/list_users.png)## List VyOS Instances
![List VyOS Instances](https://storage.googleapis.com/vycontrol/screenshoots/20.05.01/list_instances.png)## Add VyOS Instances
![Add VyOS Instances](https://storage.googleapis.com/vycontrol/screenshoots/20.05.01/add_instance.png)
## List Interfaces
![List Interfaces](https://storage.googleapis.com/vycontrol/screenshoots/20.05.01/list_instances.png)## List Firewall
![List Dashboard](https://storage.googleapis.com/vycontrol/screenshoots/20.05.01/list_firewall.png)## Add Firewall Rule
![Add Firewall Rule](https://storage.googleapis.com/vycontrol/screenshoots/20.05.01/add_firewall_rule.png)## List Static Routes
![List Static Routes](https://storage.googleapis.com/vycontrol/screenshoots/20.05.01/list_static.png)# Sponsoring
* VyControl is being tested at [Under](https://under.com.br) a Brazilian provider of Cloud Computing and Datacenters.