n42n / n3n

Peer to Peer VPN
51 stars 6 forks source link

Traffic Restrictions on supernode? #23

Closed crazyvest closed 1 month ago

crazyvest commented 2 months ago

Thanks for the codes. Any way to config Traffic Restrictions on supernode server side? Traffic Restrictions could be configured in supernode or only edge?

hamishcoleman commented 2 months ago

The Supernode can control which community names and/or require a username and password to allow edges to join. However, once an edge has joined the network, it will try and send VPN traffic directly to its peers, so the supernode cannot be involved in filtering the regular traffic.

What are you trying to achieve? Perhaps we could suggest a way of doing it.

crazyvest commented 2 months ago

For security and bandwidth control, it is desirable to configure traffic restriction rules on supernode server, Send mandatory rules to edges. hope the traffic restriction commond "filter.rule" could be used in supernode.

hamishcoleman commented 2 months ago

That sounds like an interesting feature. There would be come caveats though as the edges are expected to be under the control of the person running them, so there wouldnt really be any way to make such rules mandatory.

starvpn commented 1 month ago

What he meant should be the inability to connect directly to P2P and the traffic restrictions when forwarding through supernode

hamishcoleman commented 1 month ago

If I understand you correctly, it sounds like you are looking for a way to turn off all P2P functionality and at the same time add a firewall rule engine to the supernode - is that correct?

You realise that those are some of the key differentiating features for this VPN compared to others?

crazyvest commented 1 month ago

yes, that's what sarvpn said.

hamishcoleman commented 1 month ago

One major technical barrier to implementing a normal firewall rule set in the supernode is that the supernode has no access to the packet contents - it just sees the encrypted data and the randomised MAC addresses.

NiKola-UE commented 1 month ago

Unfortunately, I'm not a programmer, but maybe Nymtech's Nym can be used for this, which I guess is exactly what it's for, i.e. prevents a decryption attempt.