Ist es prinzipiell möglich, einen VPN-Server, der eine Authentifizierung einer getunnelten Verbindung ermöglicht, unter Linux einzurichten? Wenn ja, was braucht man dazu und wie wird er konfiguriert?

Ist es prinzipiell möglich, einen VPN-Server, der eine Authentifizierung einer getunnelten Verbindung ermöglicht, unter Linux einzurichten? Wenn ja, was braucht man dazu und wie wird er konfiguriert?
Was entstehen denn für Kosten, wenn man eine Linux-Distribution benutzt? Außerdem ist doch eine VPN-Lösung auch wieder ein Punkt wo man spart, da man sich über einen Provider einwählen kann.