TincVPN是一个P2PVPN,即两端可以直接通信,虚拟局域网内只需要一台机器(VPS)能够有外网访问的能力即可,一旦两端建立起连接,流量就不会再经过VPS。
其实TincVPN可以代替ZeroTier,虽然ZeroTier免费版也足够用,但用着ZeroTier的公共Moon/WEB面板,总感觉差了点意思。而TincVPN就是全部资源都归自己管,当然部署起来也就会麻烦许多。
在Debian10(VPS)上安装配置TincVPN(用作服务端):
apt -y install tinc net-tools
开启IPv4转发:
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p
创建一个名为imlala的虚拟网络(目录):
mkdir -p /etc/tinc/imlala && mkdir -p /etc/tinc/imlala/hosts
新建tinc.conf配置文件:
nano /etc/tinc/imlala/tinc.conf
网络名就是imlala,网卡接口名,使用switch模式,以及如下的加密方式:
Name=imlala
Interface=
Mode=switch
Cipher=aes-256-cbc
Digest=sha512
新建hosts文件,这个文件名必须和tinc.conf内的Name一致:
nano /etc/tinc/imlala/hosts/imlala
写入如下配置:
Address = 你的VPS公网IP
Subnet = 10.0.0.1/32
完成之后生成密匙对:
tincd -n imlala -K4096
按两下回车全部保持默认配置,生成完成之后,对应的文件路径:
/etc/tinc/imlala/rsa_key.priv # 私钥
/etc/tinc/imlala/hosts/imlala # 公钥
配置虚拟网卡tinc-up:
nano /etc/tinc/imlala/tinc-up
写入:
#!/bin/sh
ifconfig $INTERFACE 10.0.0.1 netmask 255.255.255.0
配置虚拟网卡tinc-down:
nano /etc/tinc/imlala/tinc-down
写入:
#!/bin/sh
ifconfig $INTERFACE down
给执行权限:
chmod +x /etc/tinc/imlala/tinc-*
启动:
systemctl start tinc@imlala
systemctl enable tinc@imlala
在第二台Debian10上(我这边还是VPS)上安装配置TincVPN(用作客户端)
安装和之前一模一样:
apt -y install tinc net-tools
同样和之前一样新建一个imlala的目录以及hosts目录:
mkdir -p /etc/tinc/imlala && mkdir -p /etc/tinc/imlala/hosts
新建tinc.conf配置文件: