說明:Tinc與N2N、PeerVPN以及ZeroTier等屬于一類,是一款輕量型的 GNU 協(xié)議下的開源軟件,通過隧道以及加密技術(shù)在互聯(lián)網(wǎng)點與點之間建立隧道。其實Tinc可以代替ZeroTier,雖然ZeroTier免費版也足夠用,但用著ZeroTier的公共Moon/WEB面板,總感覺差了點意思。而Tinc就是全部資源都歸自己管,并且可以像普通的網(wǎng)絡(luò)設(shè)備那樣,不需要去適配其他已經(jīng)存在的軟件。所以他就可以很安全的在點與點之間傳輸數(shù)據(jù),相對安全。

tinc.jpg
官方網(wǎng)站:https://www.tinc-vpn.org/
源碼地址:https://tinc-vpn.org/git/tinc
他還有其他幾大的特點:
- 加密 / 認(rèn)證 / 壓縮
- 自動全網(wǎng)狀路由
- 易于擴展網(wǎng)絡(luò)節(jié)點
- 能夠進行網(wǎng)絡(luò)的橋接
- 跨平臺支持
- IPv6 支持
安裝
Tinc 在各個發(fā)行版的倉庫中都可以找到,例如 Debian / Ubuntu / CentOS / macOS 等系統(tǒng)就可以通過下面的命令安裝:
apt-get install tinc
yum install tinc
brew install tinc 
其他平臺下載:
Android:Tinc App ;IOS(需越獄):Cydia packages;Windows官方下載地址
配置
目錄結(jié)構(gòu)
/etc/tinc
└── dock
    ├── hosts
    │   ├── Server
    │   └── Client
    ├── rsa_key.priv
    ├── tinc.conf
    ├── tinc-down
    └── tinc-up
- /etc/tinc/dock目錄下的文件都屬于- dock這個網(wǎng)絡(luò)
- /etc/tinc/dock/hosts目錄是存放其他用戶或者說是其他網(wǎng)絡(luò)的- public key以及他們的 ip 地址
- rsa_key.priv本網(wǎng)絡(luò)的私鑰
- tinc.conf本網(wǎng)絡(luò)的配置文件
- tinc-down本網(wǎng)絡(luò)關(guān)閉時執(zhí)行的腳本
- tinc-up本網(wǎng)絡(luò)啟動時執(zhí)行的腳本
服務(wù)端配置
首先開啟 Linux 轉(zhuǎn)發(fā),在/etc/sysctl.conf設(shè)置net.ipv4.ip_forward = 1,并通過sysctl -p來應(yīng)用配置。
修改tinc.conf配置文件
Name = Server
Interface = tinc
Mode = switch
Compression=9
Cipher  = aes-256-cbc
Digest = sha256
PrivateKeyFile=/etc/tinc/dock/rsa_key.priv
- Name主機名稱
- Interface隧道所使用的網(wǎng)卡名稱
- Mode有三種模式,分別是- router/- switch/- hub,相對應(yīng)我們平時使用到的路由、交換機、集線器 (默認(rèn)模式- router)
- CompressionUDP 數(shù)據(jù)包壓縮級別??蛇x有 0 (關(guān)閉),1 (fast zlib) 至 9 (best zlib),10 (fast lzo) 和 11 (best lzo)
- Cipher加密類型。可選- aes-128-cbc- aes-256-cbc等
- Digestrsa 加密協(xié)議強度??蛇x- sha128- sha1等
- PrivateKeyFile服務(wù)器私鑰的位置
修改tinc-up和tinc-down,用Windows作為服務(wù)器無需這兩個文件
tinc-up
#!/bin/shifconfig $INTERFACE <內(nèi)網(wǎng)ip> netmask 255.255.255.0
tinc-down
#!/bin/shifconfig $INTERFACE down
添加執(zhí)行權(quán)限
chmod +x tinc-*
在hosts文件夾內(nèi)添加節(jié)點配置文件
Subnet=10.1.3.1/32
Address=149.129.88.238
Port=57734
- Subnet宣告的路由地址
- Address服務(wù)器的外網(wǎng) IP
- Port指定 tinc 連接端口(默認(rèn)端口- 655)
生成私鑰和公鑰
tincd -n dock -K4096
公鑰自動添加到hosts文件夾內(nèi)的節(jié)點配置文件
客戶端配置
客戶端的tinc.conf與服務(wù)器的參數(shù)基本上相同,只需要修改Name
在hosts文件夾內(nèi)添加新的節(jié)點配置文件
Subnet=10.1.3.2/32
tinc-up和tinc-down跟服務(wù)器配置基本一樣,只需要修改tinc-up的內(nèi)網(wǎng)ip,Windows客戶端無需這兩個文件
生成私鑰和公鑰
tincd -n dock -K4096
將服務(wù)端的節(jié)點配置文件放到客戶端的hosts文件夾內(nèi),并將客戶端的節(jié)點配置文件放到服務(wù)端的hosts文件夾內(nèi)
運行
后臺啟動
Windows 端需要先安裝虛擬網(wǎng)卡,在 tinc 的安裝目錄下有虛擬網(wǎng)卡的驅(qū)動安裝包,安裝完成后需要將虛擬網(wǎng)卡名稱改為與tinc.conf文件中的Interface名稱相同,并且手動設(shè)置虛擬網(wǎng)卡的 IP 地址和子網(wǎng)掩碼,然后進入到tinc的安裝目錄下再以管理員的身份運行,運行后會自動創(chuàng)建系統(tǒng)服務(wù),需要停止的時候在 Windows 系統(tǒng)服務(wù)管理中停止服務(wù)
tincd -n dock
tincd.exe -n dock
停止運行,該命令在 Windows 端會停止運行并刪除系統(tǒng)服務(wù)
tincd -n dock -k
tincd.exe -n dock -k
調(diào)試模式
tincd -n dock -D -d 3
tincd.exe -n dock -D -d 3
最后
抓包可以看出,我本地與服務(wù)器之間的連接已經(jīng)數(shù)據(jù)傳輸是加密的,而如果你對數(shù)據(jù)的傳輸有興趣的話,只需要將抓包的網(wǎng)卡設(shè)置成上面設(shè)置的網(wǎng)卡(tinc)即可,在 tinc 傳輸?shù)臄?shù)據(jù)已經(jīng)是經(jīng)過解密的了,因此抓包可以很好的復(fù)原傳輸?shù)倪^程。
	
	
該文章在 2021/3/26 0:48:54 編輯過