VPN原理浅谈
VPN 原理浅谈
VPN 的应用场景
-
保护隐私: VPN 通过加密通信,确保你的互联网连接是安全的。这对于在公共 Wi-Fi 网络上浏览互联网时尤其重要,因为公共网络通常更容易受到黑客攻击。
-
绕过地理限制: 有些网站或服务在特定地区可能不可用,或者内容受到地理限制。使用 VPN 可以改变你的 IP 地址,使你能够绕过这些地理限制,访问受限制的内容。
-
保护公司内部网络: 公司可以使用 VPN 来建立安全的远程访问通道,员工可以通过 VPN 连接到公司内部网络,以便在远程地点安全地访问公司资源。
-
匿名上网: VPN 可以隐藏你的真实 IP 地址,提高上网的匿名性。这对于那些希望在互联网上保持相对匿名的用户来说很有用。
-
绕过审查: 在一些国家,互联网审查可能会限制对特定网站或服务的访问。使用 VPN 可以绕过这些审查,让用户能够自由地访问互联网。
-
安全远程办公: 对于远程工作者或分布式团队来说,VPN 提供了一个安全的通信渠道,使他们能够远程连接到公司网络并访问必要的资源。
-
防止数据被窃取: 在使用不安全的网络时,VPN 可以加密你的数据流,防止敏感信息被窃取,确保通信的机密性。
-
游戏加速: 一些玩家可能使用 VPN 来连接到特定地区的游戏服务器,以获得更好的游戏性能或访问特定地区的游戏内容。
VPN 的工作原理
-
涉及到的底层技术
- tun/tap: 用于创建虚拟网卡,用于接收和发送数据包, 主要的操作就是在此实现的
- iptables: 用于实现数据包的转发
- iproute2: 用于实现路由表的管理
-
tun/tap 概述:
-
tun 设备: TUN设备是一种虚拟网络设备,用于在用户空间和内核空间之间传递网络数据。TUN代表“网络隧道”(Network TUNnel),它允许用户空间的程序通过标准的网络套接字接口发送和接收IP数据包,同时内核会处理网络协议的部分。TUN设备通常用于创建虚拟私有网络(VPN)和其他网络隧道,以在用户空间中运行的程序与内核之间传递网络流量。这对于实现网络隔离、虚拟专用网络、安全隧道等应用场景非常有用。一般来说,使用TUN设备的流程如下:
- 用户空间程序通过TUN设备发送IP数据包。
- 内核将接收到的数据包从TUN设备中读取。
- 用户空间程序可以通过标准的套接字接口监听和处理这些数据包。
-
tap 设备:TAP设备(Tap虚拟网卡)是一种虚拟网络设备,与TUN设备类似,也用于在用户空间和内核空间之间传递网络数据。TAP代表“网络透明适配器”(Network TAP),与TUN设备不同的是,TAP设备在数据链路层(OSI模型的第二层)工作,而TUN设备在网络层(第三层)工作。主要区别在于:
-
TAP设备:它以太网设备的形式存在,可以处理链路层的数据包。因此,TAP设备可以传输以太网帧,包括处理MAC地址等。TAP设备通常用于需要在二层进行操作的场景,比如虚拟局域网(VLAN)的实现、桥接网络、以太网隧道等。
-
TUN设备:与TAP不同,TUN设备是在网络层工作的,只能传输IP数据包。TUN设备通常用于实现虚拟私有网络(VPN)等应用,它只关心IP层的数据,而不涉及链路层的细节。
-
-
在使用TAP设备时,用户空间程序可以像处理真实的网络接口一样处理TAP设备,包括发送和接收以太网帧。
- iptables 简单使用:
|
|
- iproute2 简单使用
|
|