A collection of Bicep templates, PowerShell scripts and shell scripts for working with a personal network in Azure.
Control scripts are stored in the scripts
directory.
This project has dependencies upon Powershell, the Azure CLI and the sshpass utility.
Several dependencies required by this project are built only with Intel x86 instruction sets. As a result, if you are using a workstation based on Apple Silicon processors, Rosetta 2 needs to be installed. Use the following command to install the Rosetta binary translator to your workstation.
softwareupdate --install-rosetta
Install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install the Azure CLI:
brew update && brew install azure-cli
Install PowerShell:
brew update && brew install --cask powershell
Install the sshpass utility:
cd dependencies
./install-sshpass.sh
The virtual machines created in this project utilize the Azure Encryption at Host subscription feature to provide encryption between the virtual machine and managed disk storage. This feature may not be registered for your subscription. Use the following command to register the feature using the Azure CLI.
az feature register --namespace Microsoft.Compute --name EncryptionAtHost
It will take several minutes for the feature to be registered. Run the following
command to check registration status. Once the state
property in the output
shows Registered
, the feature will be ready to use and deployments of
virtual machines using it will succeed.
az feature show --namespace Microsoft.Compute --name EncryptionAtHost
Two varieties of local SSH keys will be required in this project: an RSA key pair and a ED25519 key pair. The RSA key is required for the Linux virtual machine workflows and the ED22519 key is required for the Windows Server virtual machine workflows. The sections below provide the commands necessary to create these keys if your workstation does not already have them in place.
This project requires the use of a RSA SSH key. If one has not yet been generated for your workstation, create one using the following command.
ssh-keygen -b 4096 -t rsa
This project requires the use of ED25519 SSH keys. If one has not yet been generated for your workstation, create one using the following command:
ssh-keygen -t ed25519 -C "username@domain.com"
Install Tunnelblick for macOS.
To create a basic personal network with a Samba Server configured for compatibility with macOS Time Machine follow this guide.