說明:Tinc與N2N、PeerVPN以及ZeroTier等屬于一類,是一款輕量型的 GNU 協(xié)議下的開源軟件,通過隧道以及加密技術在互聯(lián)網點與點之間建立隧道。其實Tinc可以代替ZeroTier,雖然ZeroTier免費版也足夠用,但用著ZeroTier的公共Moon/WEB面板,總感覺差了點意思。而Tinc就是全部資源都歸自己管,并且可以像普通的網絡設備那樣,不需要去適配其他已經存在的軟件。所以他就可以很安全的在點與點之間傳輸數(shù)據(jù),相對安全。
tinc.jpg
官方網站:https://www.tinc-vpn.org/
源碼地址:https://tinc-vpn.org/git/tinc
他還有其他幾大的特點:
- 加密 / 認證 / 壓縮
- 自動全網狀路由
- 易于擴展網絡節(jié)點
- 能夠進行網絡的橋接
- 跨平臺支持
- 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官方下載地址
配置
目錄結構
/etc/tinc
└── dock
├── hosts
│ ├── Server
│ └── Client
├── rsa_key.priv
├── tinc.conf
├── tinc-down
└── tinc-up
/etc/tinc/dock
目錄下的文件都屬于dock
這個網絡/etc/tinc/dock/hosts
目錄是存放其他用戶或者說是其他網絡的public key
以及他們的 ip 地址rsa_key.priv
本網絡的私鑰tinc.conf
本網絡的配置文件tinc-down
本網絡關閉時執(zhí)行的腳本tinc-up
本網絡啟動時執(zhí)行的腳本
服務端配置
首先開啟 Linux 轉發(fā),在/etc/sysctl.conf
設置net.ipv4.ip_forward = 1
,并通過sysctl -p
來應用配置。
修改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
隧道所使用的網卡名稱Mode
有三種模式,分別是 router
/ switch
/ hub
,相對應我們平時使用到的路由、交換機、集線器 (默認模式 router
)Compression
UDP 數(shù)據(jù)包壓縮級別。可選有 0 (關閉),1 (fast zlib) 至 9 (best zlib),10 (fast lzo) 和 11 (best lzo)Cipher
加密類型。可選 aes-128-cbc
aes-256-cbc
等Digest
rsa 加密協(xié)議強度??蛇x sha128
sha1
等PrivateKeyFile
服務器私鑰的位置
修改tinc-up
和tinc-down
,用Windows
作為服務器無需這兩個文件
tinc-up
#!/bin/shifconfig $INTERFACE <內網ip> netmask 255.255.255.0
tinc-down
#!/bin/shifconfig $INTERFACE down
添加執(zhí)行權限
chmod +x tinc-*
在hosts
文件夾內添加節(jié)點配置文件
Subnet=10.1.3.1/32
Address=149.129.88.238
Port=57734
Subnet
宣告的路由地址Address
服務器的外網 IPPort
指定 tinc 連接端口(默認端口655
)
生成私鑰和公鑰
tincd -n dock -K4096
公鑰自動添加到hosts
文件夾內的節(jié)點配置文件
客戶端配置
客戶端的tinc.conf
與服務器的參數(shù)基本上相同,只需要修改Name
在hosts
文件夾內添加新的節(jié)點配置文件
Subnet=10.1.3.2/32
tinc-up
和tinc-down
跟服務器配置基本一樣,只需要修改tinc-up
的內網ip,Windows
客戶端無需這兩個文件
生成私鑰和公鑰
tincd -n dock -K4096
將服務端的節(jié)點配置文件放到客戶端的hosts
文件夾內,并將客戶端的節(jié)點配置文件放到服務端的hosts
文件夾內
運行
后臺啟動
Windows 端需要先安裝虛擬網卡,在 tinc 的安裝目錄下有虛擬網卡的驅動安裝包,安裝完成后需要將虛擬網卡名稱改為與tinc.conf
文件中的Interface
名稱相同,并且手動設置虛擬網卡的 IP 地址和子網掩碼,然后進入到tinc
的安裝目錄下再以管理員的身份運行,運行后會自動創(chuàng)建系統(tǒng)服務,需要停止的時候在 Windows 系統(tǒng)服務管理中停止服務
tincd -n dock
tincd.exe -n dock
停止運行,該命令在 Windows 端會停止運行并刪除系統(tǒng)服務
tincd -n dock -k
tincd.exe -n dock -k
調試模式
tincd -n dock -D -d 3
tincd.exe -n dock -D -d 3
最后
抓包可以看出,我本地與服務器之間的連接已經數(shù)據(jù)傳輸是加密的,而如果你對數(shù)據(jù)的傳輸有興趣的話,只需要將抓包的網卡設置成上面設置的網卡(tinc)即可,在 tinc 傳輸?shù)臄?shù)據(jù)已經是經過解密的了,因此抓包可以很好的復原傳輸?shù)倪^程。
該文章在 2021/3/26 0:48:54 編輯過