After some days of work, I finally have a preview of new OpenVPN tunnels (net2net).
The main goal of this refactor is to simplify the creation of tunnels to connect 2 remote networks using a VPN.
Scenario: one company named Sauron Inc with two offices: Mordor and Barad-dûr.
We designed the web interface for this workflow:
The goblin accesses the firewall of the head office (Mordor, of course), and creates a new tunnel server:
The goblin must enter:
- the network of the VPN (must not be used inside the system)
- a free port where the server will listens for incoming connections
- the public address of the server which will be used from the client
- a list of local (server-side) and remote (client-side) networks to connect
The goblin then clicks the “Download button” and saves the client configuration on its own computer
As final step, the goblin accesses the secondary Barad-dûr and clicks on “Upload” button
Done, Sauron Inc will be happy because the goblin did his job very quickly!
Tunnel status is displayed inside the page configuration page:
OpenVPN feature has been split in two pages:
Selection of cipher and protocols
Tunnel client can be now enabled and disabled
Client and server configuration are now templates and can be easily customized using template custom
- There is a new client prop called
WanPriorities to allow the selection of a preferred red interface used for VPN connection (@davidep will help me to create a nice UI widget for it)
- Davide proposes to remove the “Server” tab from the roadwarrior page and include a new “Server” button which displays the content of the actual tab
- Should the goblin be able to see the tunnel status under the “Status” section from a new “OpenVPN tunnel status” page?
I hope to have your feedback to improve current implementation before moving to QA.
/cc @dj_marian @sharpec @kelevra @filippo_carletti
Please @alefattorini feel free to shout for someone else!
Thanks to @davide_marini for the original design.