https://github.com/priyabug/virtual-private-network---ip-tunneling-and-routing
Virtual Private Network (VPN) enables secure communication over public or untrusted networks by encrypting traffic and routing it through a secure tunnel exploring VPN implementations, IP tunneling techniques, and routing mechanisms, demonstrating how VPNs establish secure connections and how traffic is managed across different network environments
https://github.com/priyabug/virtual-private-network---ip-tunneling-and-routing
router routing tunneling vpn vpn-client vpn-server
Last synced: 2 months ago
JSON representation
Virtual Private Network (VPN) enables secure communication over public or untrusted networks by encrypting traffic and routing it through a secure tunnel exploring VPN implementations, IP tunneling techniques, and routing mechanisms, demonstrating how VPNs establish secure connections and how traffic is managed across different network environments
- Host: GitHub
- URL: https://github.com/priyabug/virtual-private-network---ip-tunneling-and-routing
- Owner: Priyabug
- Created: 2024-08-16T05:30:19.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-02-21T05:36:07.000Z (3 months ago)
- Last Synced: 2025-02-21T06:26:34.426Z (3 months ago)
- Topics: router, routing, tunneling, vpn, vpn-client, vpn-server
- Language: Python
- Homepage:
- Size: 5.41 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Virtual Private Network - IP Tunneling and Routing
Description
• A private network constructed on top of a public network, typically the Internet, is called a virtual private network, or VPN. Even though their communication may pass through a public network, computers inside a VPN can connect securely, exactly like if they were on a true private network that is physically isolated from the outside world. With the use of a VPN, staff members may safely access their company's intranet while on the go. Businesses can also use VPNs to extend their private networks domestically and internationally.
• The goal of this lab implementation is to understand how a VPN operates. We concentrate on a particular kind of VPN (the most popular one), which is constructed on top of the transport layer. We are going to construct a basic VPN from the ground up.

Lab topics covered
- Network Setup.
- Create and Configure TUN Interface
2.a: Name of the Interface
2.b: Set up the TUN Interface
2.c: Read from the TUN Interface
2.d: Write to the TUN Interface
- Send the IP Packet to VPN Server Through a TunnelShell scripts commands
- `./dc-build.sh` - Build the docker images, it can take one additional parameter to be used in the build process.
- `./dc-up.sh` - Start the docker containers in the foreground.
- `./dc-up-d.sh` - Start the docker containers in the background.
- `./dc-stop.sh` - Stop the docker containers, it can take one additional parameter to be used in the stop process.
- `./dc-down.sh` - Stop and remove the docker containers, it can take one additional parameter to be used in the stop and remove process.
- `./dc-unittest.sh` - Utility script to aid in running a specific unit test class.Program walk-through:
This lab provides hands-on experience with the foundational concepts of VPNs, including TUN/TAP interfaces, tunneling, and routing. By implementing both unidirectional and bidirectional tunnels,- Virtual Private Network:
• The TUN/TAP virtual interface
• IP tunneling
• Routing