So if I want to use openvpn, I need to maintain a openvpn snap myself. How about other vpn, such l2tp pptp ipsec and GRE tunnel？ Can I control them via networkmanager?
The network-manager snap does not currently allow this. Note that what NM has is plugins for some VPN types that help you control the VPN connections from nmcli/GUI, but you still need the VPN service client, like ipsec or pptp.
Adding support for this in the snap would require:
- Creating a new snap for the VPN client of interest
- Adding the respective plugin to the NM snap
- Add permissions to current interfaces or maybe a new interface that allows interoperation between the NM and the VPN client snaps
So it is possible, but requires some work. Another option would be to create a new snap using the current NM snap as base that includes the VPN client - you might still need to propose changes in interface permissions. Either case, you can start from the NM snap sources in case you want to give it a go.
So, as you see, you would still have to maintain a new snap in any case.