Nebula 的 launchd.plist 用于实现 macOS 上开机自动启动 Nebula - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
242.17D
524.57D
V2EX    Nebula

Nebula 的 launchd.plist 用于实现 macOS 上开机自动启动 Nebula

  •  1
     
  •   Livid
    PRO
    2019 年 12 月 13 日 11581 次点击
    这是一个创建于 2295 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Nebula 是 Slack 开源的一款用于搭建 overlay network 的工具,在开源之前已经在 Slack 内部使用了两年多。

    t/621442

    最近用了一段时间,觉得非常好用。所以研究了一下怎么样让它在 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 内容进行调整。

    第 1 条附言    2019 年 12 月 17 日
    这个方法似乎在 Catalina 上无效。在 Catalina 上 sudo launchctl load 似乎不会保存下来。
    第 2 条附言    2020 年 1 月 4 日

    在 macOS 10.15 Catalina 上,这个启动文件需要放在 /Library/LaunchDaemons 下,并且:

    • owner/group 是 root/wheel
    • 权限是 644

    然后用 sudo launchctl load -w 加载。

    18 条回复    2019-12-25 17:22:24 +08:00
    wzw
        1
    wzw  
       2019 年 12 月 13 日 via iPhone
    什么情况下需要用这类工具,想不到使用场景呀。
    Livid
        2
    Livid  
    MOD
    OP
    PRO
       2019 年 12 月 13 日
    @wzw 我这里的场景是需要从外面的网络安全地连到内网的开发服务器上。这个方案比 VPN 好。
    hronro
        3
    hronro  
       2019 年 12 月 15 日
    可以给 Homebrew 提一个 PR 啊!
    Livid
        4
    Livid  
    MOD
    OP
    PRO
       2019 年 12 月 15 日
    @hronro 这个包应该迟早会有官方 maintainer 的,吧?
    hronro
        5
    hronro  
       2019 年 12 月 15 日   1
    @Livid #4 感觉 Homebrew 不像是每个 Formulae 都有固定 maintainer 的,应该是谁都可以去提 PR 的。我查了一下,貌似现在还没有 Nenula 的 PR。https://github.com/Homebrew/homebrew-core
    wzw
        6
    wzw  
       2019 年 12 月 16 日
    @Livid #2 周末试一下, 有一个台服务器用来当 lighthouse, 其他没有公网 ip.

    结果是: 有些成功,有些不成功.
    Seymer
        7
    Seymer  
       2019 年 12 月 17 日 via iPhone
    @Livid #2 请问可以说得更详细些吗,或是您使用过程中总结出一些最佳实践什么的,期待您的分享及回复。
    Livid
        8
    Livid  
    MOD
    OP
    PRO
       2019 年 12 月 17 日   1
    @Seymer 比如假设你需要访问两台位于不同的云里面的服务器。这些服务器为了安全本身做了各种限制访问的规则。

    之前如果要连这些服务器,可能需要使用 IPsec VPN 或者跳板机。而现在有了像 Nebula 这样的基于 PKI 的方案,那么基本上我开机之后,什么都不用做,就可以直接访问到这些服务器,还足够安全。
    wzw
        9
    wzw  
       2019 年 12 月 18 日 via iPhone
    @Livid 机器十台,有内外网,zerotier 组网正常使用,
    但是尝试 nebula,效果只能能 ping 通……

    所以继续用 zerotier
    psirnull
        10
    psirnull  
       2019 年 12 月 18 日 via iPhone
    n2n 不是更简单
    whitegerry
        11
    whitegerry  
       2019 年 12 月 23 日
    @wzw tinc/n2n/zerotier 长期使用,最近内网只在一台机器配置 nebula,跨网段组网也成功了,稳定使用。
    wzw
        12
    wzw  
       2019 年 12 月 23 日
    @whitegerry #11 我以前都用 frp,
    现在尝试了 nebula, 发现不成功后.
    尝试 zerotier, 发现挺好用, 搭建了自己的 moon

    有多个公网服务器+多个内网终端
    如果让你选 zerotier/nebula/tinc/n2n , 你选哪个, 根据你使用经验, 我就不一一尝试了
    whitegerry
        13
    whitegerry  
       2019 年 12 月 25 日
    @wzw

    frp 只临时用,zero/tinc/n2n 都能通的话 nebula 也没问题的,moon 用过一段时间,没有明显益处,现在还用 zerotier 只因为有 ios 端。

    也是多个公网服务器内网多个终端,多服务器当然还是用 nebula 建多个 lighthouse 了,跟内网有多少个终端没什么关系。
    wzw
        14
    wzw  
       2019 年 12 月 25 日
    @whitegerry #13 nebula 只能 ping 通, 其他都不行呀...
    whitegerry
        15
    whitegerry  
       2019 年 12 月 25 日 via iPhone
    proto: icmp,icmp 要改成 any
    whitegerry
        16
    whitegerry  
       2019 年 12 月 25 日 via iPhone
    @wzw proto: icmp,icmp 要改成 any
    wzw
        17
    wzw  
       2019 年 12 月 25 日
    @whitegerry #16 , 尴尬, 没有注意到. 改成 any/tcp 应该会好很多.
    wzw
        18
    wzw  
       2019 年 12 月 25 日
    @whitegerry #15 我先继续用 zerotier, 等一等 nebula 的生态.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5372 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 09:17 PVG 17:17 LAX 02:17 JFK 05:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86