tinc 简介
tinc 是一个组建虚拟专用网络(VPN)的工具,以 GNU 协议发布,通过隧道及加密技术在互联网上点与点之间创建专有网络。tinc 在网络层工作,因此无需对现有软件进行修改和配置。您可以使用 tinc 搭建专属的低延迟、高带宽、可扩展的 P2P VPN。其数据通讯经过加密和压缩,能避免敏感数据和隐私的泄露。
无论何时何地,只要能连入互联网,就可以安全的访问 VPN。
具体技术细节和功能不多说了,参见官网。对于我来说,选择 tinc 有以下几个理由:
开源,截止目前还在不断更新完善;
分布式网状路由,避免单点高负载和故障;
可运行多个实例来接入多个VPN;
通过虚拟网卡通讯,无需对现有应用软件进行修改和配置;
通讯支持 加密/认证/压缩,并支持参数选择;
支持常见的操作系统和网络拓扑,适用场景广泛;
序言抄自:https://github.com/Chanix/TincCookbook
tinc需要有公网ip,但是ipv6不实用
在mt7621CPU中速度只跑到12M左右
[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 二进制运行法
#Address = 192.168.60.3
#Port = 665
##没有公网ip上面两行不用写
Subnet = 10.0.0.3/32
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
#!/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
ifconfig $INTERFACE down
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
./tinc/tincd -c ./tinc/tincnet -D --debug=3/tmp/tinc/tincd -c /tmp/tinc/tincnet -D --debug=3killall tinc注意
tincd -c ./tincnet -K/tmp/tinc/tinc -c /tmp/tinc/tincnet generate-rsa-keys/tmp/tinc/tinc -c /tmp/tinc/tincnet generate-ed25519-keysAddress = 服务地址Port = 665/tmp/tinc/tincd -c /tmp/tinc/tincnet -D --debug=3相关资料
tinc 源码
tinc 官网
使用 tinc 搭建虚拟局域网
搭建tinc实现异地构建局域网
OpenWRT结合tinc组自己的SDLAN
用 tinc 组建局域网其实也简单
使用 Tinc 组建大内网