Chocolately Multipass Twingate Connector on Windows 10x64 LTSC

I tried everything and spent days trying to install this Hyper-V bloated (>1GB) choco multipass twingate-connector on Windows 10.

What is this demon spawn hoisted upon me by the likes of chocolatey, microsoft (hyper-v) & ubuntu (multipass)!?

I’ve followed all the twingate guides / combed the knowledge base, endlessly searched google and forums, etc. to no avail.

At first I thought, this looks like a small footprint practical alternative to docker (boy was I wrong).

I’ve installed the beastly stack of TwingateWindowsInstaller.exe (v2023.318.428.0) + choco 2.2.2 + multipass 1.12.2 on Windows.

Then from powershell, running the choco install twingate-connector (from my memory) following Twingate’s Deploy Connector on Windows with Chocolatey guide, after entering connector name, tokens, twingate URL, the multipass (Hyper-V) ubuntu-22.04-server-cloudimg-amd64.img download (642MB) gets to 99% and times out with no resume option… On previous attempts it timed out at less that 60% with a hash check error, then I have rerun the script and start the download all over from the beginning (no resume option, which is a problem in India where my Internet connection is limited to prepaid mobile data plan).

I tried a clean install multiple times on both Windows 10 Enterprise computers, after uninstalling the twingate & tap adapter + multipass from Windows Add/Remove Programs and also deleted the C:\ProgramData\chocolatey directories.

The installation does not go smoothly like in this video (where Emrul says, “and there you go” - yea sure!):

Firstly, multipass has a persistent issue, where it doesn’t install with the choco twingate-connector script properly until after rebooting Windows, then it appears in the system tray and works fine (the complete script fails without rebooting because multipass isn’t fully installed and running yet).

Another problem is when you reload the choco twingate-connector powershell script, it wants to uninstall multipass instead of recognizing it’s already installed. But I figured I can just close the two uninstaller windows that pop up and then the script continues and prompts for connector name, tokens, twingate url. After entering the URL sometimes it just errors out (see the full pastebin log in this post) but I’ve had the choco twingate script get past that point where multipass downloads the ubuntu hyper-v image but I’ve NEVER had it get past 99%, even after multiple attempts.

But as I’ve mentioned already, even after hanging up at 99% the choco twingate-connector powershell script does install the virtual machine properly. Here’s a snippit from the choco log:

Retrieving image: 99%e[2Ke[0Ae[0E
ERROR: The running command stopped because the preference variable “ErrorActionPreference” or common parameter is set to Stop: launch failed: The following errors occurred:
The install of twingate-connector was NOT successful.
Error while running ‘C:\ProgramData\chocolatey\lib\twingate-connector\tools\chocolateyinstall.ps1’.
See log for details.

Chocolatey installed 2/4 packages. 2 packages failed.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Failures

  • multipass (exited 2) - Error while running ‘C:\ProgramData\chocolatey\lib\multipass\tools\chocolateyinstall.ps1’.
    See log for details.
  • twingate-connector (exited -1) - Error while running ‘C:\ProgramData\chocolatey\lib\twingate-connector\tools\chocolateyinstall.ps1’.
    See log for details.

Full log here - choco-twingate - Pastebin.com

The multipass app icon in the windows system tray & the hyper-v manager console in windows both show the virtual machine is running, it was automatically created & given the connector name by the powershell choco install twingate-connector script.

From the Networks | Admin Twingate website ( mytenantsubdomain.twingate.com) under Active Devices, both my windows laptops show active but resources show disconnected and my connector still shows “not yet connected”…

From powershell (admin), I ran the command multipass shell myconnector-name plus the linux script with my tokens from my connector page and it runs but then errors out:

0curl: (6) Could not resolve host: binaries.twingate.com

Why can’t I ping or dig twingate.com (or any other external FQDN?) from the multipass shell under the vm connector name? I can ping & dig localhost but not my local windows hostname (netbios name).

I tried a clean install of chocolatey, multipass and the twingate connector on two different computers, one with a clean install of the latest W10 x64 LTSC (on vPro CPU), Hyper-V fully working. I was able to open powershell and multipass shell into my twingate connector on Windows but there are dns issues with systemd, can’t reach the twingate server or ping outside… I’m on a private network (as per guide), defender firewall disabled…

This is just a fantastic way to spend new years; have you ever seen a funambulating bear on a unicycle? That’s me right now; enjoy!

What a steaming pile; is there any help?

P.S.
I’m currently traveling abroad and simply need to connect my Windows laptop here in India as a VPN client to my Windows Laptop in the USA running as an Endpoint VPN Server.

I’m not trying to setup any other resources. Just a simple self-hosted VPN to show that I’m using my residential home IP even if I’m traveling in another country (where many services are blocked).

#choco #windows #enterprise #multipass #twingate #alphatesting #connector

powershell (admin), I type the command: multipass shell my_vmconnector_name
ping: twingate.com: Temporary failure in name resolution
ping 3.33.186.135 (twingate.com IP) and get replies

So it’s a DNS issue with Hyper-V/Multipass (as I suspected and mentioned in my original post).

My solution (works even after reboot of Windows):
powershell (admin): multipass shell my_vmconnector_name
sudo netplan set ethernets.eth0.nameservers.addresses=[1.1.1.1,1.0.0.1]
sudo netplan apply

See: “Multipass for Windows instance cannot resolve hostnames” -

Then I copied and pasted the linux script into the multipass shell after generating my connector tokens (provided by selecting the linux deploy option on Twingate’s connector token generator webpage):
curl “https://binaries.twingate.com/connector/setup.sh” | sudo TWINGATE_ACCESS_TOKEN=“mytoken1” TWINGATE_REFRESH_TOKEN=“mytoken2” TWINGATE_LOG_ANALYTICS=“v2” TWINGATE_NETWORK=“mytenantname” bash

Now the connector and remote network is showing online (on the twingate website for my tenant subdomain).

Ping doesn’t resolve NetBIOS names (local windows hostnames) but the Twingate Client can access private DNS addresses without having access to the private DNS resolver according to the docs.
Re: How DNS Works with Twingate | Docs