Tinc VPN 是一个网状结构的虚拟局域网软件,基于P2P的技术,可以实现流量直接到达目标机器,而不像传统 VPN 那样必须经过中间的服务端。适合连接的两个机器速度快于到服务器的速度的情况。比如你有个国外的慢速VPS,Tinc 可以让你从家流畅地连接到公司内网的机器,这个外网VPS在连接成功后就不再有流量通过(?)。 与 Tinc 类似地还有比较有名的 ZeroTier,是个商业软件,不用安装服务器端,直接使用,免费连接100个机器。

# centos7 

直接上步骤

yum install -y tinc
mkdir -p /etc/tinc/dock/hosts/
cd /etc/tinc/

# 服务端
vi dock/tinc.conf
Name=test1
ConnectTo=aliyun
Interfce=dock
Mode=switch
Port=655
PrivateKeyFile=/etc/tinc/dock/rsa_key.priv

# 客户端
vi dock/hosts/aliyun
Compression=9
Subnet=0.0.0.0/0
#公网ip
Address=39.106.74.115
Port=655

vi /etc/tinc/dock/tinc-up
#!/usr/bin/env bash
#ifconfig dock 192.168.100.1 netmask 255.255.255.0
ip link set $INTERFACE up
ip addr add 192.168.100.1/32 dev $INTERFACE
ip route add 192.168.100.0/24 dev $INTERFACE

vi /etc/tinc/dock/tinc-down
#!/usr/bin/env bash
#ifconfig dock 192.168.100.1 netmask 255.255.255.0
ip route del 192.168.100.0/24 dev $INTERFACE
ip addr del 192.168.100.1/32 dev $INTERFACE
ip link set $INTERFACE down

chmod 755 /etc/tinc/dock/tinc-{up,down}
tincd -n dock -K

cat /lib/systemd/system/tinc@.service
systemctl enable tinc@dock.service --now

#可以让tinc -D直接运行,而不fork进程,方便查看日志,确定两边能够正常连接后,可以继续添加更多节点了
tincd -n dock -D

配置说明

Name 主机名称
Interface 隧道所使用的网卡名称
Mode 有三种模式,分别是 router / switch / hub ,相对应我们平时使用到的路由、交换机、集线器 (默认模式 router)
Compression UDP 数据包压缩级别。可选有 0 (关闭),1 (fast zlib) 至 9 (best zlib),10 (fast lzo) 和 11 (best lzo)
Cipher 加密类型。可选 aes-128-cbc aes-256-cbc 等
Digest rsa 加密协议强度。可选 sha128 sha1 等
PrivateKeyFile 服务器私钥的位置