VPN HOWTO

Matthew D. Wilson

Dec 1999

Revision History
Revision 2.02002-05-30Revised by: tab
Updated to Docbook 4.1 and applied GFDL per Matthew Wilson
Revision 1.01999-12-01Revised by: mdw
Initial release

Table of Contents
1. Introduction
1.1. Why I wrote this HOWTO
1.2. Acknowledgements and Thanks
1.3. Format of this document
1.4. Legal Information
1.5. Document History
1.6. Related Documents
2. Theory
2.1. What is a VPN?
2.2. But really, what IS a VPN?
2.3. So how does it work?
2.4. SSH and PPP
2.5. Alternative VPN Systems
3. Server
3.1. Security - keeping people out
3.2. User Access - letting people in
3.3. Restricting Users
3.4. Networking
4. Client
4.1. The Kernel
4.2. Bring up the link
4.3. Scripting
4.4. LRP - Linux Router Project
5. Implementation
5.1. Planning
5.2. Gather the tools
5.3. Server: Build the kernel
5.4. Server: Configure Networking
5.5. Server: Configure pppd
5.6. Server: Configure sshd
5.7. Server: Set up user accounts
5.8. Add vpn-users group
5.9. create the vpn-users home directory
5.10. The .ssh directory
5.11. Adding users
5.12. Server: Administration
5.13. Client: Build the kernel
5.14. Client: Configure Networking
5.15. Client: Configure pppd
5.16. Client: Configure ssh
5.17. Client: Bring up the connection
5.18. Client: Set the routes
5.19. Client: Scripting
6. Addenda
6.1. Pitfalls
6.2. Hardware and Software Requirements