×

/tinc/

1 个文件夹 6 个文件 总计 1.3 MiB
列表 网格
名称
大小 更新时间
返回上级目录
tincnet/
README.md
7.9 KiB
tinc_aa节点.zip
4.2 KiB
tinc_bb节点.zip
4.1 KiB
tinc_cc节点.zip
4.2 KiB
tinc_mipsel
649 KiB
tincd_mipsel
686 KiB

tinc for padavan

tinc 简介

tinc 是一个组建虚拟专用网络(VPN)的工具,以 GNU 协议发布,通过隧道及加密技术在互联网上点与点之间创建专有网络。tinc 在网络层工作,因此无需对现有软件进行修改和配置。您可以使用 tinc 搭建专属的低延迟、高带宽、可扩展的 P2P VPN。其数据通讯经过加密和压缩,能避免敏感数据和隐私的泄露。

无论何时何地,只要能连入互联网,就可以安全的访问 VPN。
具体技术细节和功能不多说了,参见官网。对于我来说,选择 tinc 有以下几个理由:
开源,截止目前还在不断更新完善;
分布式网状路由,避免单点高负载和故障;
可运行多个实例来接入多个VPN;
通过虚拟网卡通讯,无需对现有应用软件进行修改和配置;
通讯支持 加密/认证/压缩,并支持参数选择;
支持常见的操作系统和网络拓扑,适用场景广泛;

序言抄自:https://github.com/Chanix/TincCookbook


tinc需要有公网ip,但是ipv6不实用
在mt7621CPU中速度只跑到12M左右

iperf3测速
[root@Kwrt:05:03 PM ~] # iperf3 -c 10.0.0.2
Connecting to host 10.0.0.2, port 5201
[  5] local 10.0.0.1 port 44444 connected to 10.0.0.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1.62 MBytes  13.6 Mbits/sec    0   28.2 KBytes
[  5]   1.00-2.00   sec  1.62 MBytes  13.6 Mbits/sec    0   33.5 KBytes
[  5]   2.00-3.00   sec  1.25 MBytes  10.5 Mbits/sec    0   44.2 KBytes
[  5]   3.00-4.00   sec  1.62 MBytes  13.6 Mbits/sec    0   40.2 KBytes
[  5]   4.00-5.00   sec  1.62 MBytes  13.6 Mbits/sec    0   5.36 KBytes
[  5]   5.00-6.00   sec  1.50 MBytes  12.6 Mbits/sec    0   13.4 KBytes
[  5]   6.00-7.00   sec  1.50 MBytes  12.6 Mbits/sec    0   22.8 KBytes
[  5]   7.00-8.00   sec  1.50 MBytes  12.6 Mbits/sec    0   22.8 KBytes
[  5]   8.00-9.00   sec  1.38 MBytes  11.5 Mbits/sec    0   16.1 KBytes
[  5]   9.00-10.00  sec  1.62 MBytes  13.6 Mbits/sec    0   13.4 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  15.2 MBytes  12.8 Mbits/sec    0             sender
[  5]   0.00-10.01  sec  15.1 MBytes  12.6 Mbits/sec                  receiver

iperf Done.
[root@Kwrt:05:03 PM ~] # iperf3 -c 10.0.0.2 -R
Connecting to host 10.0.0.2, port 5201
Reverse mode, remote host 10.0.0.2 is sending
[  5] local 10.0.0.1 port 50294 connected to 10.0.0.2 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  1.50 MBytes  12.6 Mbits/sec
[  5]   1.00-2.00   sec  1.50 MBytes  12.6 Mbits/sec
[  5]   2.00-3.00   sec  1.75 MBytes  14.7 Mbits/sec
[  5]   3.00-4.00   sec  1.62 MBytes  13.6 Mbits/sec
[  5]   4.00-5.00   sec  1.75 MBytes  14.7 Mbits/sec
[  5]   5.00-6.00   sec  1.50 MBytes  12.6 Mbits/sec
[  5]   6.00-7.00   sec  1.62 MBytes  13.6 Mbits/sec
[  5]   7.00-8.00   sec  1.75 MBytes  14.7 Mbits/sec
[  5]   8.00-9.00   sec  1.50 MBytes  12.6 Mbits/sec
[  5]   9.00-10.00  sec  1.38 MBytes  11.5 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec  17.0 MBytes  14.2 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  15.9 MBytes  13.3 Mbits/sec                  receiver

iperf Done.

速度不快,我不把它作为备用vpn,所以放到临时目录中,测试一下,可直接删除
春节前后折腾了两天

有大佬言:
速度不行,还复杂
折腾tinc 不如gnb了
所以放弃了 没必要花费精力折腾了

  • 一是年久失修
  • 二是体积大
  • 三是配置及其复杂不便捷

tinc 二进制运行法

  1. 在/tmp 新建目录:/tinc
  2. 进入/tinc,新建一个自定义目录,这个自定义的目录/tincnet,以后就是你的虚拟网络名称。
  3. 下载二进制文件,tincd和tinc,并赋予运行权限。
    tinc二进制下载地址(tinc 1.1pre15)
  4. 进入/tincnet目录中,新建三个文件和一个目录/hosts
  • /hosts目录,里面放一是“cc”名的文件,它与tinc.conf配置文件中“name = cc”的“cc”对应。
  • /hosts/cc节点信息:
cc节点文件内容:
#Address = 192.168.60.3
#Port = 665
##没有公网ip上面两行不用写
Subnet = 10.0.0.3/32
  • tinc.conf 配置文件
点击展开
Name = cc
## 自定义节点名称:cc
#AddressFamily = ipv4
BindToAddress = * 665
## 监听端口
Interface = tinctun0
## 虚拟网卡名称
Device = /dev/net/tun
#Mode = <router|switch|hub> (router)
#TCPOnly = yes
##强制使用tcp
#UDPOnly = yes
##强制使用udp
Cipher = aes-128-ecb
##加密类型,默认的是blowfish,较慢。
#Digest = sha1
## 
Mode = switch
#ConnectTo = aa
  • tinc-up 脚本文件,并赋予运行权限
点击展开
#!/bin/sh

ip link set $INTERFACE up
ip addr add 10.0.0.99/24 dev $INTERFACE
# ip route add 192.168.99.0/24 via 10.0.0.99 dev tinc src 10.0.0.88 onlink
  • tinc-down 脚本文件,并赋予运行权限
点击展开
ifconfig $INTERFACE down
  1. 创建密钥
cd /tmp/tinc
# 进入/tinc目录
./tinc -c ./tincnet generate-rsa-keys
./tinc -c ./tincnet generate-ed25519-keys

或者直接

/tmp/tinc/tinc -c /tmp/tinc/tincnet generate-rsa-keys
/tmp/tinc/tinc -c /tmp/tinc/tincnet generate-ed25519-keys

之后,在/tincnet目录中了两个priv文件:ed25519_key.priv和rsa_key.priv
同时将公钥插入到cc文件:

点击展开
#Address = 192.168.60.30
#Port = 665
Subnet = 10.0.0.30/32
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEApnZvLGyL+ifXGJtgEgfFVhgw1moE5QsZ3n6Y69pMvdBEamhRRVvD
pMKVvPK3uTkSTR/AoIDUHOp4hWzuGMJav0ZKXaSMj/dvco3iNXbhzG6nGjCNHVle
uRc60xktrZ/XYIoxjD12ysmd6lGqo3uWlilkCy+FVEDG39G4ho7P1dz04t9NMpiW
erGgD7koypKBmoR21NgXr4LxdD7ZwlWS8UvkkYqdHLE1GDyjhdDJ0fuGsy10st8N
LHu4mWAaRPoaxm5C/tnPROP1DS2PLHbNhUF9XLPDRI4KYLVxaDG8KNpLGd9LbggN
V/D57wqUpHUTw/yn71ehutj6sMqzloXp/wIDAQAB
-----END RSA PUBLIC KEY-----
Ed25519PublicKey = dbg8E3qSVv5AKZOsOEv8FkRR1+ENPix4QxqZWe4C6tG
  1. 交换密钥
    将cc文件拷贝到对端的hosts目录中,有公网的节目中
  2. 运行
    ./tinc/tincd -c ./tinc/tincnet -D --debug=3
    或者:
    /tmp/tinc/tincd -c /tmp/tinc/tincnet -D --debug=3
  3. 停止
    killall tinc

注意

  • 1.1 以下版本只有一个tincd文件
    所以创建密钥
    tincd -c ./tincnet -K
  • 1.1 以上的版本有两个文件(tincd和tinc)
    创建密钥:
    /tmp/tinc/tinc -c /tmp/tinc/tincnet generate-rsa-keys
    /tmp/tinc/tinc -c /tmp/tinc/tincnet generate-ed25519-keys
  • 也可以用我的三个打包好的配置,分别放在三台机器上,同时只修改节点bb文件中的服务地址即可: Address = 服务地址
    Port = 665
    运行!
    /tmp/tinc/tincd -c /tmp/tinc/tincnet -D --debug=3

相关资料
tinc 源码
tinc 官网
使用 tinc 搭建虚拟局域网
搭建tinc实现异地构建局域网
OpenWRT结合tinc组自己的SDLAN
用 tinc 组建局域网其实也简单
使用 Tinc 组建大内网