[點(diǎn)晴永久免費(fèi)OA]Tinc VPN 大局域網(wǎng)實(shí)現(xiàn)備忘錄
隨著公網(wǎng) IPv4 地址的匱乏,如今各處上網(wǎng)大部分都處于寬帶商大內(nèi)網(wǎng)當(dāng)中,互連和便捷成了最大問(wèn)題。為了實(shí)現(xiàn)單位、家里、手機(jī)等設(shè)備的無(wú)縫連接,較長(zhǎng)時(shí)間以來(lái),我一直在苦苦追尋和試用相關(guān) VPN ,譬如 ZeroTier 、n2n 、Tinc 等。我的要求很簡(jiǎn)單,就是單位電腦和家里電腦可以互連和訪問(wèn),手機(jī)可以隨時(shí)隨地連接單位和家里電腦,眾多設(shè)備之間最好可以 Peer-to-Peer 。ZeroTier 需要第三方節(jié)點(diǎn)支持,不受控,n2n 雖說(shuō)可以 P2P ,但是v1、v2版本又不兼容,實(shí)際使用沒(méi)那么順暢。Tinc 可以 P2P ,雖然配置繁瑣一點(diǎn),但沒(méi)那么復(fù)雜,又多平臺(tái)支持,經(jīng)過(guò)一段時(shí)間試用,基本滿足日常需求,實(shí)現(xiàn)私人大內(nèi)網(wǎng)。下面記錄相關(guān)實(shí)現(xiàn)過(guò)程。 一、Tinc 介紹詳細(xì)介紹和說(shuō)明請(qǐng)參閱官網(wǎng):(https://www.tinc-vpn.org/),此處粘貼相關(guān)介紹如下: Tinc VPN 是一個(gè)網(wǎng)狀結(jié)構(gòu)的虛擬局域網(wǎng)軟件,基于P2P的技術(shù),可以實(shí)現(xiàn)流量直接到達(dá)目標(biāo)機(jī)器,而不像傳統(tǒng) VPN 那樣必須經(jīng)過(guò)中間的服務(wù)端。適合連接的兩個(gè)機(jī)器速度快于到服務(wù)器的速度的情況。 有如下優(yōu)點(diǎn): 1.加密,身份驗(yàn)證和壓縮 可選擇使用zlib或LZO壓縮所有流量,并使用LibreSSL或OpenSSL對(duì)流量進(jìn)行加密,并使用消息驗(yàn)證代碼和序列號(hào)保護(hù)流量不被更改。 2.自動(dòng)全網(wǎng)狀路由 無(wú)論您如何設(shè)置 tinc 守護(hù)進(jìn)程以相互連接,VPN流量始終(如果可能)直接發(fā)送到目標(biāo),而不通過(guò)中間躍點(diǎn)。 3.NAT遍歷 只要VPN中的一個(gè)節(jié)點(diǎn)允許公共IP地址上的傳入連接(即使它是動(dòng)態(tài)IP地址),tinc就能夠進(jìn)行NAT遍歷,允許對(duì)等體之間的直接通信。 4.輕松擴(kuò)展您的VPN 當(dāng)您想要向VPN添加節(jié)點(diǎn)時(shí),您只需添加一個(gè)額外的配置文件,無(wú)需啟動(dòng)新的守護(hù)進(jìn)程或創(chuàng)建和配置新設(shè)備或網(wǎng)絡(luò)接口。 5.能夠橋接以太網(wǎng)段 您可以將多個(gè)以太網(wǎng)段鏈接在一起以像單個(gè)段一樣工作,從而允許您運(yùn)行通常僅通過(guò)Internet在LAN上運(yùn)行的應(yīng)用程序和游戲。 6.多操作系統(tǒng)運(yùn)行(支持平臺(tái):https://www.tinc-vpn.org/platforms/)并支持IPv6。 二、安裝PC端各系統(tǒng)版本在(https://www.tinc-vpn.org/download/)下載安裝, Android 平臺(tái)在(https://tincapp.pacien.org/)下載安裝, iOS 平臺(tái)在(https://www.tinc-vpn.org/packages/cydia/)下載安裝。 以下我的系統(tǒng)環(huán)境 Debian 示例,其他平臺(tái)請(qǐng)?jiān)敿?xì)閱讀官方說(shuō)明文檔。 Debian 系統(tǒng)下,可在終端直接輸入命令 三、規(guī)劃Tinc 有三種工作模式:路由器Route、交換機(jī)Switch及集線器Hub。默認(rèn)模式是路由器模式。沒(méi)什么特殊要求的話就直接采用默認(rèn)模式。 確定 Tinc 專(zhuān)項(xiàng)局域網(wǎng)網(wǎng)絡(luò)名稱(chēng):liTinet,根據(jù)自己喜好改。 確定 Tinc 專(zhuān)項(xiàng)局域網(wǎng)網(wǎng)絡(luò)網(wǎng)段:10.0.7.0/24 確定好各節(jié)點(diǎn)名稱(chēng)和IP。 我的網(wǎng)絡(luò)拓?fù)浼案鞴?jié)點(diǎn)配置具體如下: ![]() 四、詳細(xì)配置所有節(jié)點(diǎn)(不包含移動(dòng)設(shè)備如Android手機(jī))在安裝好 tinc 后,均需手動(dòng)或自動(dòng)在系統(tǒng) /etc/tinc/ 文件夾下建立和產(chǎn)生如下目錄和文件: 每個(gè)節(jié)點(diǎn)的hosts文件夾內(nèi)容相同,不同的是外面的文件,nets.boot 文件可以不用改動(dòng)。 以下僅以節(jié)點(diǎn)lipc1、lipc7、lipc10為例說(shuō)明具體文件的內(nèi)容: (一)節(jié)點(diǎn)lipc11.設(shè)置 tinc.conf 文件2.編輯 hosts/lipc1 文件3.執(zhí)行命令:為lipc1 生成 RSA 公鑰和私鑰,這將在 /etc/tinc/liTinet 下創(chuàng)建私鑰文件 rsa_key.priv ,并自動(dòng)追加公鑰到上一步創(chuàng)建的 hosts/lipc1 文件,打開(kāi) hosts/lipc1 文件,末尾已經(jīng)添加了公鑰。 4.編輯 tinc-up 文件5.編輯 tinc-down 文件為 tinc-up 文件的逆向命令。 6.更改 tinc-up、tinc-down 文件權(quán)限(二)節(jié)點(diǎn)lipc7步驟整體同上,細(xì)節(jié)不同,因?yàn)?lipc7 沒(méi)有公網(wǎng),且在內(nèi)網(wǎng)當(dāng)中。 1.tinc.conf 文件2.hosts/lipc7 文件3.tinc-up 文件4.tinc-down 文件(三)節(jié)點(diǎn)lipc10步驟整體同上,lipc10 沒(méi)有公網(wǎng),也處于內(nèi)網(wǎng)當(dāng)中,但此處不暴露關(guān)聯(lián)所在內(nèi)網(wǎng)。 1.tinc.conf 文件2.hosts/lipc10文件3.tinc-up 文件4.tinc-down 文件五、啟動(dòng)和關(guān)閉各節(jié)點(diǎn)一樣。 各節(jié)點(diǎn)在以排錯(cuò)方式啟動(dòng)后,如無(wú)錯(cuò)誤,均能 ping 通對(duì)方,則表示配置成功,可以設(shè)置成為引導(dǎo)時(shí)啟動(dòng)。 設(shè)置為引導(dǎo)時(shí)啟動(dòng): 至此,Tinc 大局域網(wǎng)搭建完成。 六、Android 節(jié)點(diǎn)配置Android 節(jié)點(diǎn)端配置些許不同,具體見(jiàn) App 使用說(shuō)明。 1.下載安裝 Tinc App 后,啟動(dòng): 選擇“生成節(jié)點(diǎn)配置和密鑰”,設(shè)置網(wǎng)絡(luò)名同上為 liTinet ,節(jié)點(diǎn)名為 liad6 ,密碼為空或隨意。 2.修改配置目錄下 network.conf 文件 增加修改如下兩處即可,其他內(nèi)容根據(jù)實(shí)際需要修改: 3.修改配置目錄下 tinc.conf 文件 4.在配置目錄下 hosts/liad6 文件末尾添加 其他默認(rèn)。 將 liad6 文件拷貝至其他節(jié)點(diǎn) hosts 目錄下,其他節(jié)點(diǎn)相應(yīng)的文件也要拷貝到 Android 手機(jī)配置目錄 hosts 目錄下。 所有節(jié)點(diǎn)重啟服務(wù),則可互相訪問(wèn)。 七、相關(guān)使用經(jīng)驗(yàn)1.如上配置后,除 lipc7 外其他節(jié)點(diǎn)八九成是不能直接訪問(wèn)和 ping 通 10.1.12.1 和 10.1.12.6 兩臺(tái)內(nèi)網(wǎng)主機(jī)的,此時(shí)可以嘗試在路由器 10.1.12.1 上設(shè)置經(jīng) 10.1.12.7 到 10.0.7.0/24 網(wǎng)段的靜態(tài)路由。 2.如出現(xiàn)以下錯(cuò)誤: 則可能相應(yīng)節(jié)點(diǎn)宕機(jī)了,嘗試重啟服務(wù)。 3.原本處于同一物理網(wǎng)絡(luò)的節(jié)點(diǎn),直接 ping 時(shí)延較低,但 ping tinc節(jié)點(diǎn)IP時(shí)時(shí)延較長(zhǎng),此時(shí)Tinc網(wǎng)絡(luò)正在協(xié)商路由,過(guò)一段時(shí)間后再嘗試發(fā)現(xiàn)時(shí)延與直接 ping 相差無(wú)幾,證明 Tinc 是支持 P2P 的。 一分鐘不到的 ping 值: 該文章在 2021/3/26 0:44:38 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |