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