tun2socks (tunnel to socks) 是一种将 tunnel 流量转发到 socks 代理的工具,欧博通常可以用来进行全局流量代理,也可以配合路由表设置,进行一些特定网段的流量代理。 简介在介绍 tun2socks 之前,皇冠需要先了解一些基本概念的含义: tunnel:来自于 TUN/TAP,其中的 TUN 表示 tunnel,可以理解为三层代理,DG游戏而 TAP 可以被理解为二层代理。 socks:一种应用层代理技术,将进入其中的流量代理到远端服务器。 虚拟网卡:由 TUN/TAP 实现的,操作系统创建的虚拟网络设备,欧博注册可以像普通网卡一样处理应用程序的流量。 tunnel2socks:连通虚拟网卡和 socks 服务的工具。 以下是 xjasonlyu/tun2socks 项目中的功能介绍,后续的示例中我们也会使用该项目作为例子: 环境为了方便理解,介绍一下笔者所在的网络环境,欧博代理和本次实验相关的设备共有 3 台: 笔记本: windows系统 地址 192.138.34.17/24 网关 192.168.34.1,网关是一台普通路由器 有互联网连接 内网服务器: linux系统 地址 192.168.34.197/24 网关为 192.168.34.1 有互联网连接 运行着一个 socks5 服务,服务地址为 0.0.0.0:1080,socks5 服务和远端服务器已连接 外网服务器: linux系统 地址为 xx.xx.xx.xx,负责处理通过内网服务器 socks5 服务发来的流量 测试接下来的测试按照 xjasonlyu/tun2socks 项目提供的 示例 进行。 下载 wintunwintun 是一个在 windows 系统中创建三层 TUN 的库,只需下载 dll 文件并放在 tun2socks 同文件夹下。 创建虚拟网卡并设置代理tun2socks -device wintun -proxy socks5://192.168.34.197:1080 -interface “以太网” 以上命令会开启 tun2socks 进程,创建名为 wintun 的虚拟网卡,并将通过此网卡的流量通过指定的 socks5 服务器代理,通过原有 以太网 网卡转发。 配置虚拟网卡在新的命令行窗口中键入命令,进行虚拟网卡配置: netsh interface ipv4 set address name=”wintun” source=static addr=192.168.123.1 mask=255.255.255.0 netsh interface ipv4 set dnsservers name=”wintun” static address=8.8.8.8 register=none validate=no 上述两条命令设置网卡的地址、掩码、DNS 服务器,让他看起来像一个正常的网卡。 配置默认路由netsh interface ipv4 add route 0.0.0.0/0 “wintun” 192.168.123.1 metric=1 通过上述命令添加一条经过虚拟网卡的默认路由,之后全局流量都会通过虚拟网卡转发。 问题测试时使用了一个不支持 UDP 的 socks5 代理,导致 DNS 解析功能受阻,如果想使用完整全局代理功能,需要另选 socks5 代理软件。 后来使用支持 udp_over_tcp 的代理套了一层,解决了惯用 socks 代理不能代理 UDP 的问题。 (责任编辑:) |