整個過程涉及三個主機
一個是家里的台式機 home 內網ip為192.168.69.101
一個是公司的筆記本 mac
一個是有公網ip的服務器 server
雲存儲在家里和home在同一個內網,IP地址為192.168.69.100
最終效果是,我在mac上可以直接訪問到雲存儲192.168.69.100的smb服務,而且有nat穿透,同一個城市能達到個位數的延遲
nebula下載地址
https://github.com/slackhq/nebula/releases
第一步,生成證書
./nebula-cert ca -name "Myorganization, Inc" ./nebula-cert sign -name "server" -ip "192.168.91.1/24" ./nebula-cert sign -name "home" -ip "192.168.91.2/24" ./nebula-cert sign -name "mac" -ip "192.168.91.3/24"
第二步,修改配置文件
先下載配置文件模版 https://github.com/slackhq/nebula/blob/master/examples/config.yml
1 server上的配置文件需要
修改pki下的ca,cert,key路徑為真實路徑
修改static_host_map為"192.168.91.1": ["server真實公網ip地址:4242"]
修改lighthouse下am_lighthouse: true
修改lighthouse下hosts為
hosts: - "192.168.91.1"
修改punchy下punch和response為true
修改firewall下outbound和inbound全部為any
2 home下的配置文件
修改pki下的ca,cert,key路徑為真實路徑
修改static_host_map為"192.168.91.1": ["server真實公網ip地址:4242"]
修改lighthouse下hosts為
hosts: - "192.168.91.1"
修改punchy下punch和response為true
修改firewall下outbound和inbound全部為any
3 mac下的配置文件
修改pki下的ca,cert,key路徑為真實路徑
修改static_host_map為"192.168.91.1": ["server真實公網ip地址:4242"]
修改lighthouse下hosts為
hosts: - "192.168.91.1"
修改punchy下punch和response為true
修改firewall下outbound和inbound全部為any
第三步,啟動nebula及轉發端口
在三台機器上各自啟動nebula
./nebula -config config.yml
下載gost https://github.com/ginuerzh/gost/releases
把pc的4445端口轉發到雲存儲的445端口
在pc上執行
./gost -L tcp://:4445/192.168.69.100:445
第四步,訪問smb共享即可
注意mac上需要訪問 \\192.168.91.2:4445\你自己的那串數字