
Nebula 是 Slack 开源的一款用于搭建 overlay network 的工具,在开源之前已经在 Slack 内部使用了两年多。
最近用了一段时间,觉得非常好用。所以研究了一下怎么样让它在 macOS 上自动启动,目前在 Homebrew 里还没有包。
这是一个可以让 Nebula 在 macOS 上开机就自动启动的 launchd.plist 脚本。
sudo vi /Library/LaunchDaemons/com.slack.nebula.plist
内容:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.slack.nebula</string> <key>KeepAlive</key> <true/> <key>RunAtLoad</key> <true/> <key>ProgramArguments</key> <array> <string>/usr/local/bin/nebula</string> <string>-config</string> <string>/usr/local/etc/nebula.yaml</string> </array> <key>StandardErrorPath</key> <string>/dev/null</string> <key>StandardOutPath</key> <string>/dev/null</string> </dict> </plist> 然后在这个目录下 sudo launchctl load com.slack.nebula.plist,因为增加用户态网卡需要 root 权限,所以需要用 sudo 执行。如果你的 Nebula 配置文件不在 /usr/local/etc/nebula.yaml 这个位置那么就根据实际情况对 plist 内容进行调整。
在 macOS 10.15 Catalina 上,这个启动文件需要放在 /Library/LaunchDaemons 下,并且:
然后用 sudo launchctl load -w 加载。
1 wzw 2019 年 12 月 13 日 via iPhone 什么情况下需要用这类工具,想不到使用场景呀。 |
3 hronro 2019 年 12 月 15 日 可以给 Homebrew 提一个 PR 啊! |
5 hronro 2019 年 12 月 15 日 @Livid #4 感觉 Homebrew 不像是每个 Formulae 都有固定 maintainer 的,应该是谁都可以去提 PR 的。我查了一下,貌似现在还没有 Nenula 的 PR。https://github.com/Homebrew/homebrew-core |
8 Livid MOD OP PRO @Seymer 比如假设你需要访问两台位于不同的云里面的服务器。这些服务器为了安全本身做了各种限制访问的规则。 之前如果要连这些服务器,可能需要使用 IPsec VPN 或者跳板机。而现在有了像 Nebula 这样的基于 PKI 的方案,那么基本上我开机之后,什么都不用做,就可以直接访问到这些服务器,还足够安全。 |
9 wzw 2019 年 12 月 18 日 via iPhone |
10 psirnull 2019 年 12 月 18 日 via iPhone n2n 不是更简单 |
11 whitegerry 2019 年 12 月 23 日 @wzw tinc/n2n/zerotier 长期使用,最近内网只在一台机器配置 nebula,跨网段组网也成功了,稳定使用。 |
12 wzw 2019 年 12 月 23 日 @whitegerry #11 我以前都用 frp, 现在尝试了 nebula, 发现不成功后. 尝试 zerotier, 发现挺好用, 搭建了自己的 moon 有多个公网服务器+多个内网终端 如果让你选 zerotier/nebula/tinc/n2n , 你选哪个, 根据你使用经验, 我就不一一尝试了 |
13 whitegerry 2019 年 12 月 25 日 @wzw frp 只临时用,zero/tinc/n2n 都能通的话 nebula 也没问题的,moon 用过一段时间,没有明显益处,现在还用 zerotier 只因为有 ios 端。 也是多个公网服务器内网多个终端,多服务器当然还是用 nebula 建多个 lighthouse 了,跟内网有多少个终端没什么关系。 |
14 wzw 2019 年 12 月 25 日 @whitegerry #13 nebula 只能 ping 通, 其他都不行呀... |
15 whitegerry 2019 年 12 月 25 日 via iPhone proto: icmp,icmp 要改成 any |
16 whitegerry 2019 年 12 月 25 日 via iPhone @wzw proto: icmp,icmp 要改成 any |
17 wzw 2019 年 12 月 25 日 @whitegerry #16 , 尴尬, 没有注意到. 改成 any/tcp 应该会好很多. |
18 wzw 2019 年 12 月 25 日 @whitegerry #15 我先继续用 zerotier, 等一等 nebula 的生态. |