---
title: "TUN 网络隧道解救强国程序员"
date: 2022-11-29T15:37:30.000Z
author: Z.SHINCHVEN
tags: [TUN]
canonical: https://atlassc.net/2022/11/29/tun-to-cush-the-wall
---
## 前言

IDE 里插件下载不动？终端里开源库安报错？GitHub 仓库 clone 不下来？试试 TUN 网络隧道代理模式，让你的开发工作更加高效、顺畅。它你用的软件里面都有，点一下就行了。

## 什么是TUN模式？

TUN 模式，也被称为网络隧道模式（Network Tunnel Mode），是一种先进的网络配置方法，它在操作系统层面创建一个虚拟的网络接口，通过这个接口管理和重定向计算机的所有出站网络流量。无论使用何种应用程序，比如浏览器、IDE 或终端，TUN 模式都能确保这些应用的网络活动自动通过代理服务器。

TUN/TAP 接口最早是在 Linux 内核中开发的，用于虚拟网络设备的实现。这些接口首次出现在 Linux 内核的2.1.x系列中，大约是在1999年。TUN（网络隧道）和 TAP（网络桥接）接口是用于用户空间程序与虚拟网络接口之间通信的内核网络设备，它们允许在用户空间创建网络接口，从而实现例如VPN（虚拟私人网络）等功能。

## TUN 模式的工作原理

1. **虚拟网络设备**：TUN模式通过创建一个虚拟网络层设备来工作。这个设备让计算机似乎直接连接到另一个网络，尽管实际上连接是通过一个加密隧道实现的。
2. **数据封装和解封装**：经过这个虚拟设备的所有数据都会被封装并加密，然后发送到远端代理服务器。在代理服务器端，这些数据会被解封装和解密。
3. **路由调整**：TUN 模式会修改系统的路由表，确保所有需要通过代理的网络流量都通过这个虚拟接口进行传输。
4. **加强隐私与安全**：这个模式的一个关键优势是提高了数据传输的隐私和安全性。加密隧道确保数据传输过程中的安全，减少被截获或篡改的风险。

## TUN 模式的应用和优势

- **全局代理**：TUN 模式为所有类型的应用程序提供了一种全局代理解决方案，无论这些应用是否原生支持代理配置。
- **性能与兼容性**：它通常提供良好的性能，并且兼容大多数网络环境和操作系统。
- **适用性广泛**：TUN 模式特别适合需要绕过网络限制或加强网络隐私的场景。

## 使用 TUN 模式时的注意事项

- **配置要求**：由于涉及到系统级的网络配置，使用 TUN 模式可能需要一定的系统配置权限。
- **对系统影响**：修改系统网络配置可能会影响计算机上的其他网络功能。

## 与普通代理模式的比较

### 普通代理模式

- **应用级别**：普通代理模式通常在应用程序级别上进行配置，如设置 Web 浏览器的代理。
- **有限的影响范围**：仅影响那些被配置为使用代理的应用程序。如果某些应用程序（如某些命令行工具或 IDE）没有被设置为使用代理，它们就无法通过代理服务器访问网络。
- **适用于特定情况**：这种模式适用于普通用户，特别是那些主要通过浏览器进行网络访问的用户。

### 普通代理与 TUN 模式的区别

1. **影响范围**：普通代理模式仅影响个别配置了代理的应用程序，而 TUN 模式影响整个系统的所有网络活动。
2. **配置层次**：普通代理模式在应用层配置，而 TUN 模式在系统层配置。
3. **网络流量处理**：TUN 模式通过虚拟网络接口处理所有出站流量，提供全局的网络接入解决方案，而普通代理模式仅处理特定应用的网络流量。
4. **适用性**：TUN 模式更适合需要全局网络代理的高级用户和特定场景（如绕过网络限制或加强网络隐私），而普通代理模式适用于只需要部分应用程序代理的普通场景。

## 结语

当你开启 TUN 模式后，IDE 和终端中的所有网络请求都会通过这个代理。这不仅大幅提高了访问国际服务器的速度，还能解决由于网络限制导致的无法访问某些资源的问题。无论是下载一个新的 IDE 插件，还是从 GitHub 拉取代码，甚至是更新你的 npm 包，TUN 模式都能提供一个更加流畅和快速的网络体验。

TUN 模式无疑是程序员的福音，特别是对于在网络限制环境下工作的强国程序员来说。开启 TUN 模式意味着你可以告别那些下载缓慢、访问受限的烦恼，让你的开发工作更加高效、顺畅。所以，如果你还没有尝试过TUN模式，现在就是时候了！
