<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ZeroTier</title>
    <description>The latest articles on DEV Community by ZeroTier (@zerotier).</description>
    <link>https://dev.to/zerotier</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F4500%2F2bb7defe-a4f7-4500-b3f0-628b1e99f42a.png</url>
      <title>DEV Community: ZeroTier</title>
      <link>https://dev.to/zerotier</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zerotier"/>
    <language>en</language>
    <item>
      <title>Introducing ZeroTier Webhooks</title>
      <dc:creator>joy larkin</dc:creator>
      <pubDate>Thu, 02 Nov 2023 20:30:30 +0000</pubDate>
      <link>https://dev.to/zerotier/introducing-zerotier-webhooks-177i</link>
      <guid>https://dev.to/zerotier/introducing-zerotier-webhooks-177i</guid>
      <description>&lt;p&gt;We have a special treat for all of the network administrators out there for Halloween this year: Webhooks!&lt;/p&gt;

&lt;p&gt;Now our paid customers can receive notifications from ZeroTier Central in the form of a webhook for many actions performed on our UI and/or API so you can log or react to things happening in your ZeroTier networks. Actions that will call out to webhooks include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A new machine joins a network&lt;/li&gt;
&lt;li&gt;An administrator authorizes or deauthorizes a network member&lt;/li&gt;
&lt;li&gt;An administrator changes the network configuration&lt;/li&gt;
&lt;li&gt;An administrator changes a member configuration&lt;/li&gt;
&lt;li&gt;An administrator creates or deletes a network&lt;/li&gt;
&lt;li&gt;An administrator deletes a member&lt;/li&gt;
&lt;li&gt;A new user is invited to, removed from, or accepts/rejects an invite to join your organization.&lt;/li&gt;
&lt;li&gt;A user performs an SSO login to your network&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This new feature requires some initial work on your end to set up an endpoint to receive hooks from us. Read on for more details.&lt;/p&gt;

&lt;h3&gt;
  
  
  Configuring Webhooks
&lt;/h3&gt;

&lt;p&gt;There’s a new spot for paid accounts on the &lt;a href="https://my.zerotier.com/account"&gt;ZeroTier Central account page&lt;/a&gt; to configure webhooks.&lt;/p&gt;

&lt;p&gt;The Endpoint URL field is the URL to your hook receiver where we will send the requests. This URL must be accessible from the internet and should preferably be secured with https. The description is optional. Event Types lets you select which event(s) you want to receive callbacks for. You can also configure multiple webhook receivers, each with their own list of events to receive.&lt;/p&gt;

&lt;h3&gt;
  
  
  Standing Up a Webhook Receiver
&lt;/h3&gt;

&lt;p&gt;If you just want to test things out and see how they work, you can test things with &lt;a href="https://zapier.com"&gt;Zapier&lt;/a&gt;. For example, if you want to receive an email every time a new member tries to join your network you can configure the “Webhooks by Zapier” action to receive the webhook.&lt;/p&gt;

&lt;p&gt;Make sure you select “Catch Raw Hook” as the event so you have access to the POST body in the next step of the workflow&lt;/p&gt;

&lt;p&gt;Next add a “Send Outbound Email” step with your email address and attach the Raw Body output of the previous step to the email body.&lt;/p&gt;

&lt;p&gt;Finally, make sure to grab the webhook URL that Zapier generates for you. On your account page on ZeroTier Central, create a new webhook and paste that for your hook URL and select “Network Join” as the event type. Save and publish your webhook configuration and Zapier workflow, and you’ll now receive an email every time a new member tries to join your networks!&lt;/p&gt;

&lt;h3&gt;
  
  
  Something A Little More Advanced
&lt;/h3&gt;

&lt;p&gt;Zapier is nice for getting something going quickly, but you may already have existing systems you want to integrate with. We’re giving you some additional tools to do just that.&lt;/p&gt;

&lt;p&gt;First is a &lt;a href="https://github.com/zerotier/ztchooks"&gt;Go library&lt;/a&gt; released under the Mozilla Public License Version 2.0 with structs for deserializing the hook into easier objects to work with, and also validating hook calls. We’ve also provided a simple example to get you started with the Go library.&lt;/p&gt;

&lt;p&gt;There is also a &lt;a href="https://github.com/zerotier/ztchooks-ts"&gt;TypeScript library&lt;/a&gt; for validating hooks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Verifying Your Webhooks
&lt;/h3&gt;

&lt;p&gt;Hooks are great and all, but since the endpoint calling out to is public, you need a way to make sure the calls to it are actually from us, and not some random person/bot on the internet trying to fool you. We’ve added Webhook Signing Secrets for just that purpose.&lt;/p&gt;

&lt;p&gt;Once you generate a secret, all outgoing calls to your webhook endpoint will be signed with that secret in the &lt;em&gt;X-ZTC-Signature&lt;/em&gt; HTTP header. Examples are given in the repositories for both the Go and TypeScript libraries, as well as on &lt;a href="https://docs.zerotier.com/webhooks/"&gt;our documentation site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can have multiple signing secrets active at the same time to give you time to rotate your webhook receivers. When multiple secrets are present, the hook will be signed by all active secrets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let Us Know What You Think
&lt;/h3&gt;

&lt;p&gt;Talk with us on &lt;a href="https://social.zerotier.com/@zerotier"&gt;Mastodon&lt;/a&gt; or The Site Formerly Known as &lt;a href="https://twitter.com/zerotier"&gt;Twitter&lt;/a&gt; and let us know what you think. Have any issues with the libraries? Open an issue and let us know. Feeling extra ambitious and want to add another language? Open a Pull Request! Make something really cool with this feature? Show us!&lt;/p&gt;

&lt;p&gt;We hope these webhooks will give you a new tool in your tool box for managing your ZeroTier networks.&lt;/p&gt;

&lt;p&gt;Happy Halloween from the ZeroTier team!&lt;/p&gt;

</description>
      <category>zerotier</category>
      <category>networking</category>
      <category>webhooks</category>
      <category>developers</category>
    </item>
    <item>
      <title>The ZeroTier DNS Story</title>
      <dc:creator>joy larkin</dc:creator>
      <pubDate>Mon, 11 Apr 2022 19:32:34 +0000</pubDate>
      <link>https://dev.to/zerotier/the-zerotier-dns-story-hdc</link>
      <guid>https://dev.to/zerotier/the-zerotier-dns-story-hdc</guid>
      <description>&lt;p&gt;Let’s start with the basics, a summary of what is in this post:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to enable DNS in ZeroTier, and what it gets you…&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/zerotier/zeronsd/releases/tag/v0.4.2"&gt;ZeroNSD&lt;/a&gt; — the flagship DNS implementation for ZeroTier — version 0.4.2 is out, with tons of new features, which we’ll talk about below. We’ll cover the differences from the 0.1 series forward.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/zeronsd/zerotier-systemd-manager"&gt;zerotier-systemd-manager&lt;/a&gt; is here to make your lives easier on Linux with split-horizon DNS, which ZeroTier needs to behave like an adult on your device. We’ll cover setup and how it works under the hood.&lt;/li&gt;
&lt;li&gt;If you don’t have or can’t use systemd, you’re good if you’re on OS X or Windows. Otherwise, you may want to consider the &lt;a href="https://github.com/erikh/polyresolver"&gt;polyresolver&lt;/a&gt; project which works a lot like systemd-resolved. We’ll cover setup of polyresolver in those situations.&lt;/li&gt;
&lt;li&gt;Finally, some thanks to the community who has made this possible, notably Benjamin Fry and the &lt;a href="https://github.com/bluejekyll/trust-dns"&gt;trust-dns&lt;/a&gt; team, what most of this work is based on. And &lt;a href="https://www.rust-lang.org/"&gt;rust&lt;/a&gt;, of course.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But most importantly, I’d like to thank the rest of the team at ZeroTier for being so generous with time allocation and understanding as this project has matured. Proper DNS support has been nearly a year in the making at ZeroTier at this point, and without that, it probably would have failed miserably.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why DNS?
&lt;/h3&gt;

&lt;p&gt;So some of you who have been using ZeroTier for a while may be wondering “why bother with DNS?”. This part isn’t for the rest of you. &lt;/p&gt;

&lt;p&gt;Notably, DNS enables portable names for your addresses. While ZeroTier has the notion of identities that are independent from IP addresses, the IP stack must still be traversed for you to reach your host, and that means using an address. ZeroNSD enables floating and re-assignable IP addresses within 30 seconds or less from IP change, so if you do need to change things, you won’t break everyone.&lt;/p&gt;

&lt;p&gt;Additionally, TLS certs are extremely dependent on DNS, something that will become more and more crucial in a world full of security issues — ones that ZeroTier is designed to prevent, but alas, cannot mitigate completely by itself.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to enable DNS in ZeroTier
&lt;/h3&gt;

&lt;p&gt;For GUI users, the solution is as simple as checking the “Allow DNS” flag in ZeroTier’s GUI:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8FwVXkI---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.zerotier.com/wp-content/uploads/2022/04/dns-1-1024x648.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8FwVXkI---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.zerotier.com/wp-content/uploads/2022/04/dns-1-1024x648.jpg" alt="ZeroTier Allow DNS Configuration" width="800" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_9jPaLxl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.zerotier.com/wp-content/uploads/2022/04/dns-2-1024x862.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_9jPaLxl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.zerotier.com/wp-content/uploads/2022/04/dns-2-1024x862.png" alt="ZeroTier Control Panel" width="800" height="673"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For OS X and Windows CLI users, you must set the &lt;code&gt;allowDNS&lt;/code&gt; flag to &lt;code&gt;true&lt;/code&gt; in the CLI.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ zerotier-cli set &amp;lt;network id&amp;gt; allowDNS=true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you see a bunch of JSON output, you’ve done the right thing.&lt;/p&gt;

&lt;p&gt;You must rejoin your network for changes to take effect (&lt;code&gt;leave&lt;/code&gt; then &lt;code&gt;join&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;For Linux users, we provide &lt;a href="https://github.com/zerotier/zerotier-systemd-manager"&gt;zerotier-systemd-manager&lt;/a&gt; which just needs to be installed to work in most instances. See how to do more with it in further sections below.&lt;/p&gt;

&lt;h3&gt;
  
  
  Serving DNS over ZeroTier
&lt;/h3&gt;

&lt;p&gt;Fundamentally, ZeroTier just provides an IP and you can run any DNS server against it by listening on its IP address(es). Nothing is keeping you from running BIND9 or Unbound against a ZeroTier network.&lt;/p&gt;

&lt;p&gt;However, this way you’re stuck editing DNS names in one spot and configuring ZeroTier IP infrastructure at another. &lt;a href="https://github.com/zerotier/zeronsd"&gt;ZeroNSD&lt;/a&gt; syncs your ZeroTier node names in &lt;a href="https://my.zerotier.com/"&gt;ZeroTier Central&lt;/a&gt; as DNS names in the service so they can be resolved by your DNS resolver. This allows for a one-stop place to edit all the infrastructure on your ZeroTier network. ZeroNSD relies on the &lt;a href="https://github.com/bluejekyll/trust-dns"&gt;trust-dns&lt;/a&gt; framework of libraries to provide DNS instead of rolling its own implementation, allowing for maximum robustness when it comes to your DNS needs.&lt;/p&gt;

&lt;h3&gt;
  
  
  What’s happened to ZeroNSD since 0.1.0?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://dev.to/joylarkin/zeronsd-unicast-dns-resolution-for-zerotier-now-in-alpha-59ji-temp-slug-9586934"&gt;Our last blog post on ZeroNSD&lt;/a&gt; was posted almost a year ago, promoting it in alpha. A lot has happened since then!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PTR record support for IPv6.&lt;/li&gt;
&lt;li&gt;Easier methods of supervision (&lt;code&gt;zeronsd supervise&lt;/code&gt;); supports systemd and OS X.&lt;/li&gt;
&lt;li&gt;Better docker support.&lt;/li&gt;
&lt;li&gt;Good support for Alpine, Windows, and Homebrew (OS X).&lt;/li&gt;
&lt;li&gt;RFC4193 &amp;amp; 6Plane support.&lt;/li&gt;
&lt;li&gt;Wildcard domains support.&lt;/li&gt;
&lt;li&gt;Robust Logging with levels.&lt;/li&gt;
&lt;li&gt;Robust Testing Framework.&lt;/li&gt;
&lt;li&gt;Name coercion: if you have a non-DNS name in the names field in Central, it’ll be transformed into a DNS name (like Mac OS).&lt;/li&gt;
&lt;li&gt;Can be embedded as a rust library.&lt;/li&gt;
&lt;li&gt;Multiple Listening Addresses if the ZeroTier instances is assigned more than one.&lt;/li&gt;
&lt;li&gt;IPv6 listener support.&lt;/li&gt;
&lt;li&gt;Firewall Punching for Windows (installer-only).&lt;/li&gt;
&lt;li&gt;Better support for forwarding records to an upstream DNS provider in situations where the TLD does not match.&lt;/li&gt;
&lt;li&gt;Configuration files instead of just CLI arguments.&lt;/li&gt;
&lt;li&gt;Using the DNS-standard &lt;code&gt;home.arpa.&lt;/code&gt; as the default domain.&lt;/li&gt;
&lt;li&gt;DNS-over-TLS support!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We use it internally, I use it at home for my family to make life easier for them to get at zerotier-enabled services I run in the home. We have many other users contributing to the project through bug reports and patches. If you were on the fence about its stability, you should give it a shot.&lt;/p&gt;

&lt;h3&gt;
  
  
  Getting AllowDNS on Linux – zerotier-systemd-manager
&lt;/h3&gt;

&lt;p&gt;If you’re a Linux user, you may have noticed that the &lt;code&gt;allowDNS&lt;/code&gt; flag doesn’t do much on it. This is because Linux doesn’t have a canonical way of doing split-horizon DNS, or the notion that some domains will direct to some nameservers, and other domains to other nameservers. &lt;a href="https://github.com/zerotier/zerotier-systemd-manager"&gt;zerotier-systemd-manager&lt;/a&gt; enables this by injecting a small systemd timer that runs a program that populates &lt;code&gt;/etc/systemd/network.d&lt;/code&gt; with configuration that points your ZeroTier configured domains to the DNS server of choice.&lt;/p&gt;

&lt;p&gt;Note, that you do not need to use ZeroNSD to leverage zerotier-systemd-manager, just a DNS server that’s populated in the &lt;a href="https://my.zerotier.com/"&gt;ZeroTier Central&lt;/a&gt; UI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Don’t have systemd, OS X, or Windows?
&lt;/h3&gt;

&lt;p&gt;If you don’t have systemd, OS X, or Windows, you have two (major) options for split-horizon DNS at the client:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can direct everything at ZeroNSD — it will act as a backup forwarding plane for your root-level DNS server in a pinch.&lt;/li&gt;
&lt;li&gt;Try the &lt;a href="https://github.com/erikh/polyresolver"&gt;polyresolver&lt;/a&gt; project, a new project to provide systemd-resolved functionality without systemd. Just point &lt;code&gt;/etc/resolv.conf&lt;/code&gt; at it and add configuration files to a directory as your system brings interfaces up.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Some final words
&lt;/h3&gt;

&lt;p&gt;Thanks to all of those who made this project possible. &lt;/p&gt;

</description>
      <category>dns</category>
      <category>zerotier</category>
      <category>networking</category>
    </item>
    <item>
      <title>ZeroTier Technical Talks at Networking Field Day 27</title>
      <dc:creator>joy larkin</dc:creator>
      <pubDate>Wed, 09 Feb 2022 20:50:32 +0000</pubDate>
      <link>https://dev.to/zerotier/zerotier-technical-talks-at-networking-field-day-27-55h0</link>
      <guid>https://dev.to/zerotier/zerotier-technical-talks-at-networking-field-day-27-55h0</guid>
      <description>&lt;p&gt;On January 27, 2022, Founder Adam Ierymenko gave a technical talk about the high-level concepts behind &lt;a href="https://www.zerotier.com"&gt;ZeroTier networking&lt;/a&gt; at NFD27. Here are the official videos from the three-part presentation.&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;h3&gt;
  
  
  ⏁ Part I: ZeroTier The Planetary Data Center
&lt;/h3&gt;

&lt;p&gt;What is a planetary data center? Is ZeroTier a VPN, an SD-WAN, or a network overlay? What are ZT’s main features, integrations, and use cases? Is ZeroTier Zero Trust?&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=T2BbrqpnMAE"&gt;https://www.youtube.com/watch?v=T2BbrqpnMAE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/T2BbrqpnMAE"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  ⏁ Part II: ZeroTier Networking Demo
&lt;/h3&gt;

&lt;p&gt;Telnet, ping, network traffic sniffing, using mDNS/Avahi, accessing a Cockroach DB cluster, playing Hunt the Wumpus. Yes, these are all things you can do with ZeroTier.&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=iAITDB24KKg"&gt;https://www.youtube.com/watch?v=iAITDB24KKg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/iAITDB24KKg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  ⏁ Part III: ZeroTier Technical Deep Dive
&lt;/h3&gt;

&lt;p&gt;Learn how ZeroTier’s layered architecture approach enables both a “Planetary Wire Closet” and “Secure Wide Area VLANs” all in one robust networking service.&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=VhQ30bVF3_s"&gt;https://www.youtube.com/watch?v=VhQ30bVF3_s&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/VhQ30bVF3_s"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;...... &lt;/p&gt;

</description>
      <category>networking</category>
      <category>vpn</category>
      <category>p2p</category>
      <category>iot</category>
    </item>
    <item>
      <title>ZeroTier Central now integrates with HashiCorp Terraform</title>
      <dc:creator>joy larkin</dc:creator>
      <pubDate>Wed, 20 Oct 2021 18:23:11 +0000</pubDate>
      <link>https://dev.to/zerotier/new-zerotier-central-now-integrates-with-hashicorp-terraform-bdn</link>
      <guid>https://dev.to/zerotier/new-zerotier-central-now-integrates-with-hashicorp-terraform-bdn</guid>
      <description>&lt;p&gt;Configure multi-cloud zero trust network access for up to 9 different cloud providers with our quickstart guide.&lt;/p&gt;

&lt;p&gt;Learn more:  &lt;a href="https://www.zerotier.com/2021/10/14/zerotier-central-now-integrates-with-hashicorp-terraform/"&gt;https://www.zerotier.com/2021/10/14/zerotier-central-now-integrates-with-hashicorp-terraform/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>cloud</category>
      <category>networking</category>
    </item>
    <item>
      <title>ZeroTier makes running private cloud storage more accessible and easier to use</title>
      <dc:creator>joy larkin</dc:creator>
      <pubDate>Wed, 28 Jul 2021 21:42:13 +0000</pubDate>
      <link>https://dev.to/zerotier/zerotier-makes-running-private-cloud-storage-more-accessible-and-easier-to-use-28nb</link>
      <guid>https://dev.to/zerotier/zerotier-makes-running-private-cloud-storage-more-accessible-and-easier-to-use-28nb</guid>
      <description>&lt;p&gt;Today we’re going to replace our cloud storage on our mobile and desktop devices with Seafile, inside of docker-compose, to run at home.&lt;/p&gt;

&lt;p&gt;Read More: &lt;a href="https://www.zerotier.com/2021/07/20/zerotier-makes-running-private-cloud-storage-more-accessible-and-easier-to-use/"&gt;https://www.zerotier.com/2021/07/20/zerotier-makes-running-private-cloud-storage-more-accessible-and-easier-to-use/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>zerotier</category>
      <category>networking</category>
      <category>zerotrust</category>
      <category>cloud</category>
    </item>
  </channel>
</rss>
