标签: coredns

  • WireGuard部署及NAT打洞

    主要参考文档:

    wireguard文档
    相关中文翻译
    – https://blog.51cto.com/u_15077562/4574884
    – https://icloudnative.io/posts/wireguard-docs-theory/
    nat穿透
    相关中文翻译
    – https://xie.infoq.cn/article/3f68cde0163b359b13fa1a8f0
    – https://icloudnative.io/posts/wireguard-endpoint-discovery-nat-traversal/

    总结

    • nat穿透的时候需要NAT后的节点共同连到一个有公网IP的节点上
    • 在nat背后的两个节点相连的时候需要至少一个是全椎形NAT,或者双方都为限制椎形
    • coredns部署在具有公网IP的节点上
    • wgsd_client需要在nat背后的节点上定时运行,可以5分钟或10分钟一次
    • wgsd的代码可以自己编译,尤其在windows上只能自己编译,在对应目录中运行go build就可以了
    • nat状态表的过期时间一般为2分钟,所以keepalive周期最好在1分钟以内
    • nat后节点不需要与公网节点能正常通信,只需要能向公网节点发起连接就行,所以coredns最好在公网开放端口,这样在不能与公网节点通信时也能用
    • 运营商级NAT都不是全椎形
    • nat类型探测工具
      https://github.com/HMBSbige/NatTypeTester
    • nat类型介绍
      https://support.huawei.com/hedex/hdx.do?docid=EDOC1100331440&id=ZH-CN_CONCEPT_0183792552
      https://zhuanlan.zhihu.com/p/657998085

    Views: 805