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

tinc.jpg
官方網(wǎng)站:https://www.tinc-vpn.org/
源碼地址:https://tinc-vpn.org/git/tinc
他還有其他幾大的特點(diǎn):
- 加密 / 認(rèn)證 / 壓縮
- 自動(dòng)全網(wǎng)狀路由
- 易于擴(kuò)展網(wǎng)絡(luò)節(jié)點(diǎn)
- 能夠進(jìn)行網(wǎng)絡(luò)的橋接
- 跨平臺(tái)支持
- IPv6 支持
安裝
Tinc 在各個(gè)發(fā)行版的倉庫中都可以找到,例如 Debian / Ubuntu / CentOS / macOS 等系統(tǒng)就可以通過下面的命令安裝:
apt-get install tinc
yum install tinc
brew install tinc
其他平臺(tái)下載:
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
這個(gè)網(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)閉時(shí)執(zhí)行的腳本tinc-up
本網(wǎng)絡(luò)啟動(dòng)時(shí)執(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
主機(jī)名稱Interface
隧道所使用的網(wǎng)卡名稱Mode
有三種模式,分別是 router
/ switch
/ hub
,相對應(yīng)我們平時(shí)使用到的路由、交換機(jī)、集線器 (默認(rèn)模式 router
)Compression
UDP 數(shù)據(jù)包壓縮級(jí)別。可選有 0 (關(guān)閉),1 (fast zlib) 至 9 (best zlib),10 (fast lzo) 和 11 (best lzo)Cipher
加密類型??蛇x aes-128-cbc
aes-256-cbc
等Digest
rsa 加密協(xié)議強(qiáng)度??蛇x sha128
sha1
等PrivateKeyFile
服務(wù)器私鑰的位置
修改tinc-up
和tinc-down
,用Windows
作為服務(wù)器無需這兩個(gè)文件
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é)點(diǎn)配置文件
Subnet=10.1.3.1/32
Address=149.129.88.238
Port=57734
Subnet
宣告的路由地址Address
服務(wù)器的外網(wǎng) IPPort
指定 tinc 連接端口(默認(rèn)端口655
)
生成私鑰和公鑰
tincd -n dock -K4096
公鑰自動(dòng)添加到hosts
文件夾內(nèi)的節(jié)點(diǎn)配置文件
客戶端配置
客戶端的tinc.conf
與服務(wù)器的參數(shù)基本上相同,只需要修改Name
在hosts
文件夾內(nèi)添加新的節(jié)點(diǎn)配置文件
Subnet=10.1.3.2/32
tinc-up
和tinc-down
跟服務(wù)器配置基本一樣,只需要修改tinc-up
的內(nèi)網(wǎng)ip,Windows
客戶端無需這兩個(gè)文件
生成私鑰和公鑰
tincd -n dock -K4096
將服務(wù)端的節(jié)點(diǎn)配置文件放到客戶端的hosts
文件夾內(nèi),并將客戶端的節(jié)點(diǎn)配置文件放到服務(wù)端的hosts
文件夾內(nèi)
運(yùn)行
后臺(tái)啟動(dòng)
Windows 端需要先安裝虛擬網(wǎng)卡,在 tinc 的安裝目錄下有虛擬網(wǎng)卡的驅(qū)動(dòng)安裝包,安裝完成后需要將虛擬網(wǎng)卡名稱改為與tinc.conf
文件中的Interface
名稱相同,并且手動(dòng)設(shè)置虛擬網(wǎng)卡的 IP 地址和子網(wǎng)掩碼,然后進(jìn)入到tinc
的安裝目錄下再以管理員的身份運(yùn)行,運(yùn)行后會(huì)自動(dòng)創(chuàng)建系統(tǒng)服務(wù),需要停止的時(shí)候在 Windows 系統(tǒng)服務(wù)管理中停止服務(wù)
tincd -n dock
tincd.exe -n dock
停止運(yùn)行,該命令在 Windows 端會(huì)停止運(yùn)行并刪除系統(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 編輯過