求:想要在公司訪問家里內網NAS,或是在家里訪問公司服務
有固定的公網IP或動態的公網IP:常見的方案動態域名解析做端口轉發方式等
無公網IP:常見的實現方案向日葵、teamviewer、ngrok、frp等
有公網地址的情況下,我這里還是推薦端口轉發方式,速度最理想!!!另外條件允許還是優先考慮frp做內網穿透,速度根據自己情況可控,最理想的方案!!!
本文主要講解一個無公網IP的情況,通過ZeroTier實現內網穿透,而且配置起來非常容易
ZeroTier設備支持:
免費用戶可以支持100個設備,支持Windows、macOS、Linux、IOS、Android、Synology、QNAP、Western Digital MyCloud NAS等等。
ZeroTier原理:
ZeroTier虛擬了一個網段,網段為192.147.17.0/24,公司和家里分別安裝ZeroTier客戶端,客戶端會虛擬出一個網絡並加入192.147.17.0/24這個網段,在家即可訪問192.147.17.22地址,反之同理。
1、注冊賬號並創建一個網段
2、下載客戶端並加入這個網段
開始部署:
1、創建賬號
2、創建網絡
進入https://my.zerotier.com/network點擊Create創建網絡
3、點擊進入已創建的網絡
此時可以看到Network ID,后續添加設備都會需要這個ID。
我這里說下Access Control,默認是Certificate (Private Network),選擇此模式表示每次在添加新的主機時,需要手動勾選是否允許連接,如果選擇None (Public Network)模式,表示加入網絡后自動分配IP並允許連接,從安全性來說建議使用默認選項Certificate (Private Network),方便性來看None (Public Network)更方便,不用每次加入網絡后手動勾選。
另外根據個人情況你也可以自由設置網段,此處不做過多說明
好了,一個中轉的ZeroTier就配置完成了,接下來只需要在其他設備安裝所對應的客戶端,然后加入到這個網絡中就可以了。
Windows客戶端安裝
下載zerotier windos客戶端
https://download.zerotier.com/dist/ZeroTier%20One.msi
安裝后點擊Log In登陸,登陸成功后會看到當前創建的網絡,點擊Join加入
或者右鍵點擊zerotier圖標,點擊Join Network加入
然后在https://my.zerotier.com/network頁面所創建的網絡中刷新即可看到,剛剛加入的主機,如果使用的是Certificate (Private Network)模式,需要在頁面中手動勾選一下允許加入網絡。
Centos7客戶端安裝
1、編輯添加yum源
1
|
vi /etc/yum.repos.d/zerotier.repo
|
1
2
3
4
5
|
[zerotier]
name=ZeroTier, Inc. RPM Release Repository
baseurl=http://download.zerotier.com/redhat/el/$releasever
enabled=1
gpgcheck=0
|
2、安裝zerotier
1
2
|
yum clean all
yum install zerotier-one
|
3、啟動服務
1
|
zerotier-one -d
|
4、查看服務狀態
1
|
zerotier-cli status
|
看到200 info 596811110b 1.2.12 ONLINE表示服務正常
可以使用netstat命令看到所啟動的服務端口(這里192.168.1.162是centos本機的IP)
5、加入網絡(后面是你自己的ID號)
1
|
zerotier-cli join Network ID
|
加入后會提示200 join OK
進入https://my.zerotier.com/network
刷新幾次頁面即可看到新加入的主機,然后在前面勾選即可,勾選后Version會變成版本號,並且會分配出一個IP地址
6、主機驗證
回到centos7主機上通過ifconfig命令即可看到,此處又多了一個內網IP,此內網IP和zerotier一致,表示配置完成
附:加入、離開、列出網絡狀態
1
2
3
|
zerotier-cli join Network ID
zerotier-cli leave Network ID
zerotier-cli listnetworks
|