對於開發者而言,包括一些計算機愛好者在內,經常會需要自己的專屬服務器;
一般而言,可以從雲服務器廠商租借,免去硬件設備維護的一切煩惱,同時具有公網ip可供訪問;
另一種可選的方案是將一些老舊設備裝上linux服務器系統,相當於擁有了包括軟硬件在內的整體服務器系統,但是這種方式經常會因為沒有公網ip而煩惱,在ipv4的資源越來越緊俏的情況下,申請到公網ip也是越來越困難;
如果服務器只在局域網訪問,則無需公網ip;倘若客戶端多變,即有不同網段的設備需要訪問服務器,則需要解決服務器的網絡連接問題。
說到這,“內網穿透”一詞就呼之欲出了,見名知義,就是讓在局域網之外的終端,可以進入局域網內部,從而訪問局域網內部的設備。
zerotier解決方案
當然,“內網穿透”已經成為一些公司的特有服務了,即一些企業已經在依靠這項服務賺錢了;
那么,對於個人用戶而言,在“白嫖”傳統的指引下,有沒有免費的解決手段呢?(當然,既然是免費,這種解決方案自然會有質量不高、時常出問題的狀況,肯定比不上花錢買服務)
zerotier產品則是其中之一
虛擬局域網
zerotier的本質是構建虛擬局域網,使得處於虛擬局域網內的設備能夠互聯互通。
-
在注冊zerotier賬號(可以正常訪問,但由於服務器在境外因此速度並不快)后,可以創建虛擬局域網(即獲得一個網絡id),一般的注冊用戶可以創建50個虛擬局域網;
-
對於需要進入虛擬局域網的設備,則要在每個設備上下載客戶端;比如手頭有一台私人服務器、一個筆記本電腦、一個台式機,則需要在服務器、筆記本、台式機上分別安裝客戶端;目前zerotier支持的操作系統包括windows、linux、MacOs、Android等多個平台。
-
每個設備安裝好客戶端后,開啟客戶端並在對應位置輸入虛擬局域網id,驗證通過后,這個虛擬局域網會為進入到這個網絡中的每一台設備分配一個局域網ip(設備的管理等功能在網頁端操作);例如在上述例子中,私人服務器得到的虛擬局域網ip為192.168.133.100,筆記本得到的虛擬局域網ip為192.168.133.101,台式機得到的虛擬局域網ip為192.168.133.102
-
得到上述信息后,便可以像訪問公網ip那樣,直接將每台設備的虛擬局域網ip當作公網ip使用;例如上例中筆記本通過ssh協議登陸私人服務器:ssh root@192.168.133.100;
-
注意:使用時每台設備都需要聯網,但不需要設備的真實ip都在一個局域網下;
例如,私人服務器部署在公司,筆記本連的是手機熱點,台式機接的是家庭路由器,顯然三台設備的真實ip不屬於同一個網段;
例如私人服務器的真實ip為192.168.10.188/24,zerotier虛擬局域網ip為192.168.133.100;
例如筆記本電腦的真實ip為192.168.20.126/24,zerotier虛擬局域網ip為192.168.133.101;
例如台式機電腦的真實ip為192.168.30.135/24,zerotier虛擬局域網ip為192.168.133.102;
但是在zerotier看來,這三台設備在同一個創建好的虛擬局域網中,因此可以使用虛擬局域網ip互聯互通。