ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    ZeroTier Review

    IT Discussion
    vpn review zerotier
    10
    107
    66.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dafyreD
      dafyre
      last edited by dafyre

      I recently discovered a VPN-like service called ZeroTier (http://www.zerotier.com) that works similar to Hamachi or maybe Pertino (never used Pertino though!). Basically, it builds out a network within the internet... Each client would get an IP address in the IP space you specify (Private IPs, a la 192.168 or 172.16, et al). And each device in that network will be able to communicate with other devices that are connected and authorized.

      The Technical FAQ on their site (https://www.zerotier.com/tech_faq.shtml) does a better job of explaining the way the nodes communicate than I can off the top of my head. The way the connection setups and everything works kinda reminds me of a P2P type application.

      If you create an account on their web site and use their Controllers, the setup is quick and easy; their system provides networks that are free for up to 10 devices. You can also pay them a monthly fee of $4 per month per Network of more than 10 devices. There are currently clients for Windows (7 and up, including Server Editions), Mac, and Linux. It should also work on BSD based OSes as well, but you will have to compile it yourself. An Android version is in the works, but I am not sure about iDevices.

      The software itself is open source, and you can build your own controller and create networks as large or small as you want. However, they do not offer a GUI by which to do this yet for self-hosted controllers, so you are left using the REST API for configuring the networks.

      As an example, my current network runs on a hosted Linux VM as the controller, and it has my laptop, my office machine, and two other VMs connected to it. Each machine has an IP address of 192.168.y.z/24 The underlying OS sees those as actual network interfaces... IE: on my linux controller, it is listed as ztX, and in Windows, it shows up as another ethernet devie in Network & Sharing Center; I don't have a Mac to test on at the moment. You can also specify which subnet you want to use for your ZT Network, as long as it is not a publicly routable network, you should be fine.

      They do have a gateway capability built in, but I have not tested it yet. It appears that you can have one of your client VMs provide access to the subnet behind it (equivalent of site to site VPN).

      You can configure a network to be public or private. With the public, as the name suggests, no authorization is required and anybody that joins up will be granted an IP address. In a private network, each device that joins has to be manually authorized before it is issued an IP address on the network.

      Using my own controller at the moment, things seem rather snappy. I get an average 45 - 50 ms ping time between one node and another. (I get a similar ping time using the public IP addresses between the two networks). I Copied a 2 megabyte file from SystemA to SystemB in ~3 seconds (would have been faster...but Windows...).

      I did have to write my own PHP scripts for creating networks, deleting neteworks and authorizing devices (Not sure how to handle JSON in BASH / Shell scripting).

      So far, it looks to be a secure VPN package with some nice level of controls. They are laying the groundwork for allowing rules (ACLs, if you will) so you can specify which devices can communicate to where, and in a true security first setup, unless you have a specific accept (allow) rule, the traffic is dropped.

      The following screenshot is the admin dashboard on their site. Everything should be self explantory, but if you don't know what a setting is for ,the help menu along the right hand side provides a good enough bit of information to help.

      upload-274ea3eb-e13c-4ec9-a9c6-d289785b600d

      Edit: Posted the dashboard screenshot, and fixed a few typos.

      Update 8/31/2015 I got the Bridging feature that will let a ZeroTier Client become a bridge for the network that it sits in front of working. This effectively provides site-to-site or client-to-site VPN funcitonality. This feature has to be enabled for the devices using the server-side CLI if you are using your own controller.

      IE: My home Network has a ZeroTier IP of 192.168.251.250, and my internal IP addresses are 192.168.10.1-254... So on my client, I add a route to 192.168.10.0/24 via my client's ZeroTier IP address... On my Linksys at home, I add a route for 192.168.251.0 via 192.168.10.10 (the LAN IP address of the ZeroTier client inside of my home network).

      scottalanmillerS 1 Reply Last reply Reply Quote 6
      • scottalanmillerS
        scottalanmiller @dafyre
        last edited by

        @dafyre said:

        However, they do not offer a GUI by which to do this yet, so you are left using the Rest (?) API for configuring the networks.

        REST API. All acronym.

        dafyreD 1 Reply Last reply Reply Quote 0
        • dafyreD
          dafyre @scottalanmiller
          last edited by

          @scottalanmiller Fixed. 🙂

          1 Reply Last reply Reply Quote 0
          • W
            WingCreative
            last edited by

            Thanks for writing this up, I just learned about them this week myself and have been trying to think of a good project to test it out with! Glad to hear it seems to work as well as they say it does.

            dafyreD 1 Reply Last reply Reply Quote 0
            • dafyreD
              dafyre @WingCreative
              last edited by

              @WingCreative If you are just going to use it for you or if you are certain it won't go over 10 devices, use their website... Unless you really just want to tinker.

              1 Reply Last reply Reply Quote 1
              • scottalanmillerS
                scottalanmiller
                last edited by

                It's amazing how quickly you can go over ten devices!

                1 Reply Last reply Reply Quote 0
                • scottalanmillerS
                  scottalanmiller
                  last edited by

                  What end point platforms does it work on?

                  1 Reply Last reply Reply Quote 0
                  • dafyreD
                    dafyre
                    last edited by dafyre

                    To connect as devices, it runs on Windows, Mac, and Linux. There's an Android device in the works.

                    For the controllers, I'm not sure. You do have to compile it yourself if you want to run a controller, so I know that the controller bits work at least on Ubuntu 14.04.

                    1 Reply Last reply Reply Quote 0
                    • scottalanmillerS
                      scottalanmiller
                      last edited by

                      No FreeBSD? No Solaris?

                      1 Reply Last reply Reply Quote 0
                      • dafyreD
                        dafyre
                        last edited by

                        Packages are available for Windows 7 , Mac OS, and Linux .

                        If you want to use FreeBSD, then you'll need to compile it yourself. I see nothing about Solaris on their site, though.

                        1 Reply Last reply Reply Quote 0
                        • scottalanmillerS
                          scottalanmiller
                          last edited by

                          Not even Windows servers or the last three versions? Is the project still current?

                          dafyreD 1 Reply Last reply Reply Quote 0
                          • dafyreD
                            dafyre @scottalanmiller
                            last edited by

                            @scottalanmiller lol. Windows 7 and up. 🙂 (Keep commenting, and I'll keep editing the post, lol).

                            1 Reply Last reply Reply Quote 0
                            • scottalanmillerS
                              scottalanmiller
                              last edited by

                              Oh that is a bit better.

                              1 Reply Last reply Reply Quote 0
                              • dafyreD
                                dafyre
                                last edited by dafyre

                                And very much a current project, lol. I got help with an issue via the Github Issue tracker, lol. And got emails from them about screenshotting for the write up. 🙂

                                1 Reply Last reply Reply Quote 0
                                • dafyreD
                                  dafyre
                                  last edited by

                                  See updates above... Client-To-Site VPN is now working... sadly, I don't have a second site that I could hijack ^W use for testing... Yet. I feel a visit to family coming on, lol.

                                  1 Reply Last reply Reply Quote 0
                                  • stacksofplatesS
                                    stacksofplates
                                    last edited by

                                    I must be dense. To set up the controller you compile the same zerotierone package but pass make ZT_ENABLE_NETWORK_CONTROLLER=1 first?

                                    dafyreD 1 Reply Last reply Reply Quote 0
                                    • dafyreD
                                      dafyre @stacksofplates
                                      last edited by

                                      @johnhooks Yeah. When you build it with the controller enabled, it also builds the client too, so there's just one install to manage... I just discovered a shortcut to the rigamarole I went through before to initially get the installer...

                                      cd /path/to/ztsource
                                      make ZT_ENABLE_NETWORK_CONTROLLER=1 installer
                                      

                                      Will correctly build the controller bits in, as well as generate the installer script.

                                      sudo ./ZeroTierOneInstaller-linux-x64-1_0_5
                                      

                                      Will install it in /var/lib/zerotier-one, and install the init.d files (or the systemd files, whatever the going rate is these days)...

                                      You can check to see if you have the controller in stalled correctly by doing this:

                                      root@yourserver:~# zerotier-cli /controller
                                      {
                                              "controller": true,
                                              "apiVersion": 1,
                                              "clock": 1441048250252,
                                              "instanceId": "#####################"
                                      }
                                      

                                      If it is installed correctly with the controller bits enabled, it should look like that.

                                      If it did not install with the controller bits, then you'll get a 404 error.

                                      stacksofplatesS 1 Reply Last reply Reply Quote 0
                                      • stacksofplatesS
                                        stacksofplates @dafyre
                                        last edited by

                                        @dafyre Thanks!

                                        1 Reply Last reply Reply Quote 0
                                        • dafyreD
                                          dafyre
                                          last edited by

                                          Hey @johnhooks ,

                                          Havae you tried to get the Site-To-Site working yet?

                                          stacksofplatesS 1 Reply Last reply Reply Quote 0
                                          • stacksofplatesS
                                            stacksofplates @dafyre
                                            last edited by

                                            @dafyre said:

                                            Hey @johnhooks ,

                                            Havae you tried to get the Site-To-Site working yet?

                                            I got everything installed, but I got stuck at creating a network haha.

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 1 / 6
                                            • First post
                                              Last post