Comments (3)
(added email reply to issue thread for tracking purposes)
Hi Ashish,
Yes, please send a pull request for the first change (adding TCP ports to the firewall script).
As for managing the TCP / UDP ports configured in the firewall, can you please provide a little more detail as to how you envision that working (e.g. pseudocode)?
In the future I would like to extend the vpnservers XML schema to include an optional 'serverprotocol' element which will allow users to switch between servers using different transport protocols (e.g. server A using TCP on port 443, server B using UDP on port 53). The schema currently supports an optional 'serverport' element which, if present, is used by the change_server function to update the port value in server.conf. I envision the 'serverprotocol' element being used in the same way; if it is present in the vpnserver element, change_server will use its value to update server.conf accordingly.
My concern with locking down the ports during the installation process based on the current setting in server.conf is that this may limit the ability to switch between servers using different transport protocols after the installation is complete.
Perhaps a mid-ground solution would be to have the user choose a VPN provider during the installation process, and based on that choice the install script could open the appropriate set of UDP/TCP ports supported by that provider. In this way the number of outbound open ports could be limited to some degree, but without impacting the ability to switch between servers using different transport protocols.
Chris
from vpn_client_gateway.
Coming back to this after some time. Have submitted the pull for the simple change
Will experiment with the next steps as mentioned in the pull request. Repeating here for continuity of the discussion:
In current state, the VPN switch does not change the protocol at all, so it remains whatever was chosen in the original server.conf, so my guess is anyone using this currently is locked to a single choice of protocol and switching servers within that protocol
As a first subsequent step, I will test if the FW script can be applied to discover protocol and ports from the current server.conf after every switch and tweak a user-defined chain based on that. If that works, the FW config can be isolated from switching step. As an additional step, then the vpnserves config can be enhanced to optionally include the protocol per server, which can then be used to rewrite the servers.conf
I will try out this when I get some downtime, and follow up on this thread
from vpn_client_gateway.
Closing issue due to lack of activity, if you are working on this enhancement please let me know, I'll re-open this issue.
from vpn_client_gateway.
Related Issues (20)
- 2 Clients connecting HOT 2
- Can't run the vpncgw service HOT 6
- 'Gateway status' section of the management web page does not update HOT 1
- Service unavailable Attempting to contact server... HOT 4
- VPN Client Gateway Stuck on Requesting HOT 23
- nordvpn update HOT 2
- [SUGGESTION] Alternative to "sudo pip install lxml" HOT 1
- Get IP address geolocation - All fields undefined HOT 1
- vpncgw_monitor.py spams Pi-Hole with DNS queries for www.example.com HOT 3
- Gateway Status Stuck on Loading After Pihole Update HOT 1
- Have to "sudo service nginx restart" on every reset HOT 5
- Private Internet Access migration to Next Generation Network servers: patch your installations before October 31st 2020
- can not start vpncgw service (Debian 10) HOT 2
- migration of newshosting VPN to privado / new config-files HOT 2
- Requesting data... issue HOT 3
- TORGUARD?? HOT 1
- nordvpn.sh not generating vpncgw.conf at correct location HOT 3
- write UDP: Operation not permitted (code=1) HOT 1
- Stuck on Requesting Data (2022) HOT 6
- SOCKS5 Proxy and Iptables.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vpn_client_gateway.