otunnel - 对称的安全隧道工具


MIT
跨平台
Google Go

软件简介

otunnel 是一款对称的安全隧道工具。特点及优势:

  • 单二进制程序 :otunnel 为一个独立的二进制程序,可以作为 server 和 client 端。

  • 支持多操作系统平台 :支持GNU/Linux, Unix-like, Mac, Windows,其他如 ddwrt 等 arm 平台。

  • 无需配置文件 :命令行使用

  • 对称设计 :同时支持 正、反向代理 (端口映射)

  • 安全加密 :支持 AES 对称加密

简明 otunnel 使用方法

前提:

  1. 假设 server 的地址为 example.com

  2. 从 client 能访问 server ( client 与 server 无需在同一个网络 )

注意 提供不同的运行参数,otunnel 程序可以作为 server 角色或 client 角色

快速上手

server 端

./otunnel listen :10000 -s longlongsecret

client 端

反向代理

举例:将 client 可以访问的 192.168.1.3:22 映射到 server 上的 10022 端口:

./otunnel connect example.com:10000 \
     -s longlongsecret \
     -t 'r:192.168.1.3:22::10022'

现在访问 example.com:10022 即等于访问了 client 内网的 192.168.1.3:22

正向代理

举例:假设 example.com 的 127.0.0.1 网络有 3128 端口(你懂的),在 client 执行:

./otunnel connect example.com:10000 \
     -s longlongsecret \
     -t 'f::20080:127.0.0.1:3128'

现在 client 上的任何程序访问 20080 等于访问了 example.com 上的本地 3128 端口。

选项详解

-t 格式

包含多个字段信息,以 : 隔开(为空的字段也不能省略:)。

代理类型:本地地址:本地端口:远程地址:远程端口
字段 含义
代理类型 r 表示反向代理; f 表示正向代理
本地地址 IP或域名
本地端口 整数
远程地址 IP或域名
远程端口 整数

说明

  1. 本地地址远程地址 如果为空,表示所有网口

  2. otunnel 命令行可以包含多个 -t 选项,同时指定多条隧道规则