A. OpenWRT安裝Zerotier
Openwrt 漢化
opkg update
opkg install luci-i18n-base-zh-cn
安裝zerotier
第一步:
opkg install nano
opkg update && opkg install zerotier
第二步:
配置zerotier
nano /etc/config/zerotier
將option enabled '0'的0改為1,list join '**********'改為你自己的Network ID。
第二步:
重啟路由器
第三步:
到官網管理中心勾選對應路由器的【Auth】項
第四步:
添加路由表
第五步:
路由器防火牆設置,在【網路】→【防火牆】→【自定義規則】中添加如下規則,【重啟防火牆】
iptables -I FORWARD -i 123 -j ACCEPT
iptables -I FORWARD -o 123 -j ACCEPT
iptables -t nat -I POSTROUTING -o 123 -j MASQUERADE
其中的「123」在不同的路由器中不一樣,你可以在路由器ssh環境中用zerotier-cli listnetworks查詢
B. docker安裝zerotier設置tup
步驟如下:
1.安裝DOCKER
在雲伺服器上安裝DOCKER,簡單一點的可以先安裝寶塔面板,在寶塔面板市場里搜索DOCKER,這個幾個docker管理器都可以用,關於如何安裝寶塔可以自行網路一下,一天命令,非常簡單。
2.部署moon服務
安裝dockerzerotier-moon服務打開寶塔終端工具,輸入命令dockerpullseedgou/zerotier-moon,在docker上部署zerotier服務dockerrun--namezerotier-moon-d--restartalways-p9993:9993/udp-v/home/zerotier-moon:/var/lib/zerotier-oneseedgou/zerotier-moon-410.0.0.1。運行之後可以在docker面板里看到正常運行的moondocker服務。
注意:在寶塔面板安全里開放9993埠,如果是騰訊雲或者其他雲伺服器記得在防火牆里開放9993埠服務。把剛剛掛載的目錄里自動生成moons.d文件夾下載到本地備用
3.配置win客戶端
Windows客戶端加入moon自建節點將moons.d文件夾整個復制到ZeroTier安裝目錄下默認路徑為:C:ProgramFiles(x86)ZeroTierOne,打開WindowsPowershell,輸入命令zerotier-cliorbitxxxxxxxxxxxxxxxxxxxx,將xxxxxxxxxx替換為你的moonid,在伺服器終端面板里運行下面命令查看moonid,dockerlogszerotier-moon,WindowsPowershell顯示提示200orbitok表示添加moon節點成功此後重啟zerotier,完畢。
4.測試服務
查看是否成功加入moon伺服器節點,查看節點信息命令zerotier-clilistpeers,當你看到某一行後面帶有moon字樣,就證明已經加入到moon自建節點中其中PLANET為官方的根伺服器。
C. 科研軟體QA: 安裝ZeroTier後,打開網頁卡頓
對於「遠程SSH連接伺服器」,通常採用以下兩種方案:
在個人電腦部署ZeroTier後經常會出現,瀏覽網頁卡頓的情況,打開網頁,總感覺會卡幾秒,然後迅速打開。
鏈接:Win10無法調整網卡順序
繼續找辦法……
點擊「高級」→「高級設置」
PS:這個網卡根據你們實際使用的網卡名,自己選擇即可。
D. 在Truenas中搭建Zerotier內網穿透
提到內網穿透,我了解的免費或者性價比高的方案有frp、nps、Ngrok、蒲公英、Zerotier。大部分方案都有限流、不穩定、部署難度大等問題。其中Zerotier各方面表現良好,部署難度低,客戶端兼容三大主流平台、兩大手機系統、常見NAS系統、路由器、Docker(WINDOWS、MAC OS、APPLE IOS、ANDROID、LINUX (DEB/RPM)、FREE BSD、Synology、QNAP、WD MyCloud、 Community OpenWRT Port 、 DOCKER ),個人認為是覆蓋日常家用的全場景。而且在國內使用的場景通過搭建Zreotier moon,可以大幅度降低延遲。
但是用Turenas或者Freenas用戶應該會有這樣的煩惱,版本11.2-RELEASE之後,Zerotier在系統自帶命令行、Jail環境下都部署失敗,或者出現難以解決的BUG。
翻閱大量資料都沒有Truenas或Freenas系統成功解決問題的方案。機緣巧合下看到司波圖的視頻。嘗試通過Truenas安裝docker環境,然後docker部署Zerotier實現內網穿透,自建虛擬區域網。
最後發現該方案實現難度低、系統運行穩定。通過Zerotier,將虛擬區域網內24H運行的機器作為網關,順利使用(手機電腦平板)外網連接家裡區域網上任意主機(路由器、NAS、PC)。
這里引用知乎 Lulus 的教程
https://zhuanlan.hu.com/p/83849371
https://my.zerotier.com/
(1)Advanced中添加區域網網段。待Turenas或其它主機安裝完Zerotier客戶端後,添加對應Zeroyier分配的具體的主機ip(本地區域網網段 via Zerotier分配主機ip)
(2)Zerotier分配主機ip需要打開Allow Ethernet Bridging
Truenas裡面安裝CentOS 7 docker環境。
這里引用B站司波圖的教程。一步步安裝完CentOS 7及Portainer
https://www.bilibili.com/video/BV1JN411R7Gs
通過FinalShell,登錄到CentOS7。安裝zerotier-one-docker dockers應用
這里用Github里 henrist / zerotier-one-docker 提供的命令行
https://github.com/henrist/zerotier-one-docker
docker run \ -d \ --restart unless-stopped \ --name zerotier-one \ --device /dev/net/tun \ --net host \ --cap-add NET_ADMIN \ --cap-add SYS_ADMIN \ -v /var/lib/zerotier-one:/var/lib/zerotier-one \ henrist/zerotier-one
docker exec zerotier-one zerotier-cli status
docker exec zerotier-one zerotier-cli join NETWORK-ID
docker exec zerotier-one zerotier-cli listnetworks
寫入內核
vi /etc/sysctl.conf
添加 net.ipv4.ip_forward = 1
sysctl -p
CentOS 7防火牆放通轉發
iptables -I FORWARD -i 網卡名 -j ACCEPT
iptables -I FORWARD -o 網卡名 -j ACCEPT
iptables -t nat -I POSTROUTING -o 網卡名 -j MASQUERADE
#網卡名可以在CentOS7中用 docker exec zerotier-one zerotier-cli listnetworks 或者 ifconfig 查詢zt開頭的網卡名
iptables -I FORWARD -j ACCEPT
iptables -A FORWARD -d 本地區域網網段 -j ACCEPT
iptables -t nat -A POSTROUTING -s 本地區域網網段 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 本地區域網網段 -j MASQUERADE
#添加本地區域網網段(192.168.1.0/24)
iptables -A FORWARD -d ZeroTier分配網段 -j ACCEPT
#添加 ZeroTier分配網段到iptables(10.147.17.0/24)
iptables-save
#保存iptables配置到文件,否則重啟規則會丟失
待續
參考鏈接:
https://zhuanlan.hu.com/p/83849371
https://www.bilibili.com/video/BV1JN411R7Gs
https://github.com/henrist/zerotier-one-docker
E. Koolshare之Openwrt上安裝zerotier
Koolshare二次開發的Openwrt路由系統有很多豐富實用的軟體,很值得推薦和使用。這里介紹下zerotier的安裝和使用。
1、打開酷軟中心,安裝zerotier軟體。
2、登錄zerotier官網,注冊賬號,創建私人區域網,獲取Network ID。
3、打開酷軟中心已經安裝好的zerotier軟體,填入Network ID,點擊「開始運行」。
4、修改/etc/config/zerotier配置文件(若ssh中運行zerotier-cli join ID出錯就直接修改並保存此配置文件),將option enabled 『0』的0改為1。
Tip:可以先刪除文件,然後將修改好的zerotier配置文件通過上傳的方式完成修改。
同時在zerotier個人中心將該設備加入到對於的虛擬區域網中。
5、查詢選擇zerotier介面
6、配置防火牆,防火牆都選擇接受,添加自定義規則:
iptables -I FORWARD -i 虛擬介面名稱 -j ACCEPT
iptables -I FORWARD -o 虛擬介面名稱 -j ACCEPT
iptables -t nat -I POSTROUTING -o 虛擬介面名稱 -j MASQUERADE
示例:
iptables -I FORWARD -i ztrfybhxfe -j ACCEPT
iptables -I FORWARD -o ztrfybhxfe -j ACCEPT
iptables -t nat -I POSTROUTING -o ztrfybhxfe -j MASQUERADE
7、重啟防火牆,重啟路由器,重新打開zerotier軟體,選擇zerotier介面,保存並應用。
8、測試通過,收工!
最後附上常用命令:
加入網路 zerotier-cli join ****
節點查看 zerotier-cli peers
命令查詢 zerotier-cli -h