VPN解决方案-tinc
2014-06-12 10:17:25 阿炯

tinc 是一个开源的VPN解决方案。


VPN(Virtual PrivateNetwork)虚拟专用网,是指利用公用电信网络为用户提供专用网的所有各种功能。由于采用了“虚拟专用网”技术,即用户实际上并不存在一个独立专用的网络,用户既不需要建设或租用专线,也不需要装备专用的设备,就能组成一个属于用户自己专用的电信网络。

虚拟专用网是利用公用电信网组建起来的功能性网络,不同类型的公用网络,通过网络内部的软件控制就可以组建不同种类的虚拟专用网。例如:利用公用电话网可以构建“虚拟专用电话网”。


Tinc 工作在用户空间 - 使用 tun/tap 设备,以 mesh 的形式进行工作
尝试对每个节点都进行直接链接如果链接失败会通过节点进行中传
Tinc 支持 Route 或 Switch 工作模式,默认使用 Route,分别工作在 3 层和 2 层,Switch 模式性能比 Route 性能差一点
单线程工作 - 性能受限于单核心 CPU 能力,在1.8 GHz 单核能做到 300M 的转发峰值
Tinc 的通信默认都是加密的,默认端口为 655

TincVPN是一个P2PVPN,即两端可以直接通信,虚拟局域网内只需要一台机器(VPS)能够有外网访问的能力即可,一旦两端建立起连接,流量就不会再经过VPS。




tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and encryption to create a secure private network between hosts on the Internet. tinc is Free Software and licensed under the GPLv2 or later. Because the VPN appears to the IP level network code as a normal network device, there is no need to adapt any existing software. This allows VPN sites to share information with each other over the Internet without exposing any information to others. In addition, tinc has the following features:

Encryption, authentication and compression
All traffic is optionally compressed using zlib or LZO, and OpenSSL is used to encrypt the traffic and protect it from alteration with message authentication codes and sequence numbers.

Automatic full mesh routing
Regardless of how you set up the tinc daemons to connect to each other, VPN traffic is always (if possible) sent directly to the destination, without going through intermediate hops.

Easily expand your VPN
When you want to add nodes to your VPN, all you have to do is add an extra configuration file, there is no need to start new daemons or create and configure new devices or network interfaces.

Ability to bridge ethernet segments
You can link multiple ethernet segments together to work like a single segment, allowing you to run applications and games that normally only work on a LAN over the Internet.

Runs on many operating systems and supports IPv6
Currently Linux, FreeBSD, OpenBSD, NetBSD, MacOS/X, Solaris, Windows 2000, XP, Vista and Windows 7 and 8 platforms are supported. See our section about supported platforms for more information about the state of the ports. tinc has also full support for IPv6, providing both the possibility of tunneling IPv6 traffic over its tunnels and of creating tunnels over existing IPv6 networks.

加密,身份验证和压缩
可选择使用zlib或LZO压缩所有流量,并使用LibreSSL或OpenSSL对流量进行加密,并使用消息验证代码和序列号保护流量不被更改。

自动全网状路由
无论您如何设置tinc守护进程以相互连接,VPN流量始终(如果可能)直接发送到目标,而不通过中间跃点。

NAT遍历
只要VPN中的一个节点允许公共IP地址上的传入连接(即使它是动态IP地址),tinc就能够进行NAT遍历,允许对等体之间的直接通信。

轻松扩展
当想要向VPN添加节点时,只需添加一个额外的配置文件,无需启动新的守护进程或创建和配置新设备或网络接口。

能够桥接以太网段
可以将多个以太网段链接在一起以像单个段一样工作,从而允许运行通常仅通过Internet在LAN上运行的应用程序。

多操作系统运行并支持IPv6


最新版本:1.0
此版本更新内容如下:
默认启用各种编译器 hardening flags
更新对 Solaris 的支持,允许在 Solaris11 转换模式
可以从 conf.d 目录查看配置,接收到 SIGALRM 之后会尝试重载 /etc/resolv.conf
修复了使用 IndirectData 或者 TCPOnly,发送 broadcast packets 时潜在的 routing 循环问题
改进了常数时间 memcmp 的安全性,更严格的使用 OpenSSL 的 RNG 函数
修复了所有 Coverity 发现的问题

官方主页:http://www.tinc-vpn.org/