Skip to content

A collection of Bicep templates, PowerShell scripts and shell scripts for working with a personal network in Azure.

License

Notifications You must be signed in to change notification settings

jpfulton/azure-personal-network

Repository files navigation

azure-personal-network

License Visitors

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.

Prerequisites

This project has dependencies upon Powershell, the Azure CLI and the sshpass utility.

Install Rosetta if using Apple Silicon

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 Dependencies on macOS

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

Install Azure Subscription Features

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

Create SSH Keys

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.

Create a RSA SSH Key

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

Create a ED25519 SSH Key

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 a Native OpenVPN Client

Install Tunnelblick for macOS.

Next Steps

To create a basic personal network with a Samba Server configured for compatibility with macOS Time Machine follow this guide.

About

A collection of Bicep templates, PowerShell scripts and shell scripts for working with a personal network in Azure.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks