diff options
author | aslanvyos <a.hajiyev@vyos.io> | 2025-01-03 13:17:40 +0000 |
---|---|---|
committer | aslanvyos <a.hajiyev@vyos.io> | 2025-01-03 13:17:40 +0000 |
commit | 9d49c609bebc636d96c7d3767f3a76c3303444f7 (patch) | |
tree | a9b6c2f59458d8597e7ddb5538fed8f99bd06fe8 | |
parent | b4b1832af96cc7c2d20c215a190934abeecf73d6 (diff) | |
download | vyos-documentation-9d49c609bebc636d96c7d3767f3a76c3303444f7.tar.gz vyos-documentation-9d49c609bebc636d96c7d3767f3a76c3303444f7.zip |
Rewrited VyOS deployment for Azure
51 files changed, 395 insertions, 34 deletions
diff --git a/docs/_static/images/cloud-aws-01.png b/docs/_static/images/cloud-aws-01.png Binary files differdeleted file mode 100644 index cda6542f..00000000 --- a/docs/_static/images/cloud-aws-01.png +++ /dev/null diff --git a/docs/_static/images/cloud-aws-02.png b/docs/_static/images/cloud-aws-02.png Binary files differdeleted file mode 100644 index 639d42fa..00000000 --- a/docs/_static/images/cloud-aws-02.png +++ /dev/null diff --git a/docs/_static/images/cloud-aws-03.png b/docs/_static/images/cloud-aws-03.png Binary files differdeleted file mode 100644 index 92d3e63b..00000000 --- a/docs/_static/images/cloud-aws-03.png +++ /dev/null diff --git a/docs/_static/images/cloud-aws-04.png b/docs/_static/images/cloud-aws-04.png Binary files differdeleted file mode 100644 index 3ae4fb2a..00000000 --- a/docs/_static/images/cloud-aws-04.png +++ /dev/null diff --git a/docs/_static/images/cloud-aws-05.png b/docs/_static/images/cloud-aws-05.png Binary files differdeleted file mode 100644 index fa3521a6..00000000 --- a/docs/_static/images/cloud-aws-05.png +++ /dev/null diff --git a/docs/_static/images/cloud-aws-06.png b/docs/_static/images/cloud-aws-06.png Binary files differdeleted file mode 100644 index c8f88ded..00000000 --- a/docs/_static/images/cloud-aws-06.png +++ /dev/null diff --git a/docs/_static/images/cloud-aws-07.png b/docs/_static/images/cloud-aws-07.png Binary files differdeleted file mode 100644 index d9f934ac..00000000 --- a/docs/_static/images/cloud-aws-07.png +++ /dev/null diff --git a/docs/_static/images/cloud-aws-08.png b/docs/_static/images/cloud-aws-08.png Binary files differdeleted file mode 100644 index db3030a0..00000000 --- a/docs/_static/images/cloud-aws-08.png +++ /dev/null diff --git a/docs/_static/images/cloud-azure-01.png b/docs/_static/images/cloud-azure-01.png Binary files differdeleted file mode 100644 index 2c7b1adb..00000000 --- a/docs/_static/images/cloud-azure-01.png +++ /dev/null diff --git a/docs/_static/images/cloud-azure-02.png b/docs/_static/images/cloud-azure-02.png Binary files differdeleted file mode 100644 index 286b8689..00000000 --- a/docs/_static/images/cloud-azure-02.png +++ /dev/null diff --git a/docs/_static/images/cloud-azure-03.png b/docs/_static/images/cloud-azure-03.png Binary files differdeleted file mode 100644 index 4661a1fb..00000000 --- a/docs/_static/images/cloud-azure-03.png +++ /dev/null diff --git a/docs/_static/images/cloud-azure-04.png b/docs/_static/images/cloud-azure-04.png Binary files differdeleted file mode 100644 index af12d337..00000000 --- a/docs/_static/images/cloud-azure-04.png +++ /dev/null diff --git a/docs/_static/images/cloud-azure-05.png b/docs/_static/images/cloud-azure-05.png Binary files differdeleted file mode 100644 index c5a32d2e..00000000 --- a/docs/_static/images/cloud-azure-05.png +++ /dev/null diff --git a/docs/_static/images/cloud-azure-06.png b/docs/_static/images/cloud-azure-06.png Binary files differdeleted file mode 100644 index 1cc7cbf1..00000000 --- a/docs/_static/images/cloud-azure-06.png +++ /dev/null diff --git a/docs/_static/images/cloud-azure-nic-01.png b/docs/_static/images/cloud-azure-nic-01.png Binary files differnew file mode 100755 index 00000000..80109a69 --- /dev/null +++ b/docs/_static/images/cloud-azure-nic-01.png diff --git a/docs/_static/images/cloud-azure-nic-02.png b/docs/_static/images/cloud-azure-nic-02.png Binary files differnew file mode 100755 index 00000000..066f0ca1 --- /dev/null +++ b/docs/_static/images/cloud-azure-nic-02.png diff --git a/docs/_static/images/cloud-azure-nic-03.png b/docs/_static/images/cloud-azure-nic-03.png Binary files differnew file mode 100755 index 00000000..7d272620 --- /dev/null +++ b/docs/_static/images/cloud-azure-nic-03.png diff --git a/docs/_static/images/cloud-azure-nic-04.png b/docs/_static/images/cloud-azure-nic-04.png Binary files differnew file mode 100755 index 00000000..918c7e28 --- /dev/null +++ b/docs/_static/images/cloud-azure-nic-04.png diff --git a/docs/_static/images/cloud-azure-pub-ip-01.png b/docs/_static/images/cloud-azure-pub-ip-01.png Binary files differnew file mode 100755 index 00000000..721eff2c --- /dev/null +++ b/docs/_static/images/cloud-azure-pub-ip-01.png diff --git a/docs/_static/images/cloud-azure-pub-ip-02.png b/docs/_static/images/cloud-azure-pub-ip-02.png Binary files differnew file mode 100755 index 00000000..cebf1799 --- /dev/null +++ b/docs/_static/images/cloud-azure-pub-ip-02.png diff --git a/docs/_static/images/cloud-azure-pub-ip-03.png b/docs/_static/images/cloud-azure-pub-ip-03.png Binary files differnew file mode 100755 index 00000000..3a429dba --- /dev/null +++ b/docs/_static/images/cloud-azure-pub-ip-03.png diff --git a/docs/_static/images/cloud-azure-rg-01.png b/docs/_static/images/cloud-azure-rg-01.png Binary files differnew file mode 100755 index 00000000..399a156c --- /dev/null +++ b/docs/_static/images/cloud-azure-rg-01.png diff --git a/docs/_static/images/cloud-azure-rg-02.png b/docs/_static/images/cloud-azure-rg-02.png Binary files differnew file mode 100755 index 00000000..24de95f2 --- /dev/null +++ b/docs/_static/images/cloud-azure-rg-02.png diff --git a/docs/_static/images/cloud-azure-route-01.png b/docs/_static/images/cloud-azure-route-01.png Binary files differnew file mode 100755 index 00000000..1cf33838 --- /dev/null +++ b/docs/_static/images/cloud-azure-route-01.png diff --git a/docs/_static/images/cloud-azure-route-02.png b/docs/_static/images/cloud-azure-route-02.png Binary files differnew file mode 100755 index 00000000..0e4f294b --- /dev/null +++ b/docs/_static/images/cloud-azure-route-02.png diff --git a/docs/_static/images/cloud-azure-route-03.png b/docs/_static/images/cloud-azure-route-03.png Binary files differnew file mode 100755 index 00000000..09dd3ec2 --- /dev/null +++ b/docs/_static/images/cloud-azure-route-03.png diff --git a/docs/_static/images/cloud-azure-route-04.png b/docs/_static/images/cloud-azure-route-04.png Binary files differnew file mode 100755 index 00000000..4c497c1c --- /dev/null +++ b/docs/_static/images/cloud-azure-route-04.png diff --git a/docs/_static/images/cloud-azure-route-05.png b/docs/_static/images/cloud-azure-route-05.png Binary files differnew file mode 100755 index 00000000..f30d3f5b --- /dev/null +++ b/docs/_static/images/cloud-azure-route-05.png diff --git a/docs/_static/images/cloud-azure-sg-01.png b/docs/_static/images/cloud-azure-sg-01.png Binary files differnew file mode 100755 index 00000000..76f0ea95 --- /dev/null +++ b/docs/_static/images/cloud-azure-sg-01.png diff --git a/docs/_static/images/cloud-azure-sg-02.png b/docs/_static/images/cloud-azure-sg-02.png Binary files differnew file mode 100755 index 00000000..4e98a5c0 --- /dev/null +++ b/docs/_static/images/cloud-azure-sg-02.png diff --git a/docs/_static/images/cloud-azure-sg-03.png b/docs/_static/images/cloud-azure-sg-03.png Binary files differnew file mode 100755 index 00000000..4eeec886 --- /dev/null +++ b/docs/_static/images/cloud-azure-sg-03.png diff --git a/docs/_static/images/cloud-azure-sg-04.png b/docs/_static/images/cloud-azure-sg-04.png Binary files differnew file mode 100755 index 00000000..a6d6426e --- /dev/null +++ b/docs/_static/images/cloud-azure-sg-04.png diff --git a/docs/_static/images/cloud-azure-vm-01.png b/docs/_static/images/cloud-azure-vm-01.png Binary files differnew file mode 100755 index 00000000..aebf2c9e --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-01.png diff --git a/docs/_static/images/cloud-azure-vm-02.png b/docs/_static/images/cloud-azure-vm-02.png Binary files differnew file mode 100755 index 00000000..5d24917f --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-02.png diff --git a/docs/_static/images/cloud-azure-vm-03.png b/docs/_static/images/cloud-azure-vm-03.png Binary files differnew file mode 100755 index 00000000..63e8ef94 --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-03.png diff --git a/docs/_static/images/cloud-azure-vm-04.png b/docs/_static/images/cloud-azure-vm-04.png Binary files differnew file mode 100755 index 00000000..9cfaeccf --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-04.png diff --git a/docs/_static/images/cloud-azure-vm-05.png b/docs/_static/images/cloud-azure-vm-05.png Binary files differnew file mode 100755 index 00000000..749b30c6 --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-05.png diff --git a/docs/_static/images/cloud-azure-vm-06.png b/docs/_static/images/cloud-azure-vm-06.png Binary files differnew file mode 100755 index 00000000..9a735f0e --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-06.png diff --git a/docs/_static/images/cloud-azure-vm-07.png b/docs/_static/images/cloud-azure-vm-07.png Binary files differnew file mode 100755 index 00000000..ce25cb52 --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-07.png diff --git a/docs/_static/images/cloud-azure-vm-08.png b/docs/_static/images/cloud-azure-vm-08.png Binary files differnew file mode 100755 index 00000000..30017934 --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-08.png diff --git a/docs/_static/images/cloud-azure-vm-09.png b/docs/_static/images/cloud-azure-vm-09.png Binary files differnew file mode 100755 index 00000000..5f0daf34 --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-09.png diff --git a/docs/_static/images/cloud-azure-vm-10.png b/docs/_static/images/cloud-azure-vm-10.png Binary files differnew file mode 100755 index 00000000..ea913d68 --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-10.png diff --git a/docs/_static/images/cloud-azure-vm-11.png b/docs/_static/images/cloud-azure-vm-11.png Binary files differnew file mode 100755 index 00000000..a0da6ea2 --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-11.png diff --git a/docs/_static/images/cloud-azure-vm-12.png b/docs/_static/images/cloud-azure-vm-12.png Binary files differnew file mode 100755 index 00000000..30cbcc52 --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-12.png diff --git a/docs/_static/images/cloud-azure-vm-13.png b/docs/_static/images/cloud-azure-vm-13.png Binary files differnew file mode 100755 index 00000000..527330e1 --- /dev/null +++ b/docs/_static/images/cloud-azure-vm-13.png diff --git a/docs/_static/images/cloud-azure-vnet-01.png b/docs/_static/images/cloud-azure-vnet-01.png Binary files differnew file mode 100755 index 00000000..3577d8ab --- /dev/null +++ b/docs/_static/images/cloud-azure-vnet-01.png diff --git a/docs/_static/images/cloud-azure-vnet-02.png b/docs/_static/images/cloud-azure-vnet-02.png Binary files differnew file mode 100755 index 00000000..6da436f5 --- /dev/null +++ b/docs/_static/images/cloud-azure-vnet-02.png diff --git a/docs/_static/images/cloud-azure-vnet-03.png b/docs/_static/images/cloud-azure-vnet-03.png Binary files differnew file mode 100755 index 00000000..36a6803b --- /dev/null +++ b/docs/_static/images/cloud-azure-vnet-03.png diff --git a/docs/_static/images/cloud-azure-vnet-04.png b/docs/_static/images/cloud-azure-vnet-04.png Binary files differnew file mode 100755 index 00000000..8351e203 --- /dev/null +++ b/docs/_static/images/cloud-azure-vnet-04.png diff --git a/docs/_static/images/cloud-azure-vnet-05.png b/docs/_static/images/cloud-azure-vnet-05.png Binary files differnew file mode 100755 index 00000000..daea1900 --- /dev/null +++ b/docs/_static/images/cloud-azure-vnet-05.png diff --git a/docs/installation/cloud/azure.rst b/docs/installation/cloud/azure.rst index e19df986..81c05077 100644 --- a/docs/installation/cloud/azure.rst +++ b/docs/installation/cloud/azure.rst @@ -1,72 +1,433 @@ -##### -Azure -##### +########## +Microsoft Azure +########## -Deploy VM ---------- -Deploy VyOS on Azure. +This manual provides detailed step-by-step instructions for deploying a VyOS instance and required resources (Virtual Networks, Network Interfaces, Subnets, Security Groups) on Azure via the Azure Portal. -1. Go to the Azure services and Click to **Add new Virtual machine** +Prerequisites for Deploying VyOS on Azure +======== -2. Choose vm name, resource group, region and click **Browse all public and - private images** +Azure Account +----------- -.. figure:: /_static/images/cloud-azure-01.png +Ensure you have an active Azure subscription. -3. On the marketplace search ``VyOS`` and choose the appropriate subscription +Microsoft Entra ID Permissions +----------- -.. figure:: /_static/images/cloud-azure-02.png +To manage resources in **Azure Entra ID** (formerly Azure AD), you need appropriate permissions to handle **Virtual Networks**, **Public IP Addresses**, **Subnets**, and **Virtual Machines**. -4. Generate new SSH key pair or use existing. +**Reference Documentation:** -.. figure:: /_static/images/cloud-azure-03.png +https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/manage-roles-portal -5. Define network, subnet, Public IP. Or it will be created by default. +https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal -.. figure:: /_static/images/cloud-azure-04.png +https://learn.microsoft.com/en-us/azure/role-based-access-control/overview -6. Click ``Review + create``. After a few seconds your deployment will be complete +Deployment Steps +======== -.. figure:: /_static/images/cloud-azure-05.png +Step 1: Create a Resource Group +----------- -7. Click to your new vm and find out your Public IP address. +A resource group is a container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. -.. figure:: /_static/images/cloud-azure-06.png +Create resource groups +^^^^^^^^^^^^^^ -8. Connect to the instance by SSH key. +- Go to the Azure Portal https://portal.azure.com/. + +- Sign in with your Azure account credentials. + +- In the portal, search for and select **Resource groups**. + +- Select **Create**. + +.. figure:: /_static/images/cloud-azure-rg-01.png + +- Enter the following values: + +- **Subscription**: Select your Azure subscription. + +- **Resource group**: Enter a new resource group name, e.g., ``VyOSResourceGroup``. + +- **Region**: Select an Azure location, such as Central US. + +- Select **Review + Create** + +- Select **Create**. It takes a few seconds to create a resource group. + +.. figure:: /_static/images/cloud-azure-rg-02.png + + +Step 2: Create a Virtual Network (VNet) and Subnets +----------- + +Sign in to the Azure portal with your Azure account https://portal.azure.com/ + +- In the portal, search for and select **Virtual networks**. + +- On the **Virtual networks** page, select **+ Create**. + +- On the **Basics** tab of **Create virtual network**, enter, or select the following information: + +- **Subscription**: Select your Subscription + +- **Resource Group**: Select e.g., ``VyOSResourceGroup`` + +- **Name**: e.g., ``VyOS-VirtualNetwork`` + +- **Region**: e.g., ``West Europe``. + +.. figure:: /_static/images/cloud-azure-vnet-01.png + +**IP addresses**: + +- Address Space: ``10.1.0.0/16`` + +.. figure:: /_static/images/cloud-azure-vnet-02.png + +**Add two subnets**: + +- Name: e.g., ``VyOS-Private-Subnet`` + + Starting address: e.g., ``10.1.1.0`` + + Size: ``/24`` + +- Name: e.g., ``VyOS-Public-Subnet`` + + Starting address: e.g., ``10.1.11.0`` + + Size: ``/24`` + +.. figure:: /_static/images/cloud-azure-vnet-03.png + +.. figure:: /_static/images/cloud-azure-vnet-04.png + +.. figure:: /_static/images/cloud-azure-vnet-05.png + +- Click **Review + Create** and then **Create**. + + +Step 3: Create and configure Network Security Group (NSG) +----------- + +- In the Azure Portal, search for and select **Network Security Groups**. + +- On the **Network Security Groups** page, select **+ Create**. + +Enter the details: + +- **Subscription**: Select your Subscription + +- **Resource Group**: Select ``VyOSResourceGroup`` + +- **Name**: e.g., ``VyOS-SecurityGroup`` + +- **Region**: e.g., ``West Europe``. + +.. figure:: /_static/images/cloud-azure-sg-01.png + +- Click **Review + Create** and then **Create**. + +**Add inbound rules**: + +- Navigate to the **Network Security Groups** select **VyOS-SecurityGroup** go to **Inbound security rules** under **Settings** + +.. figure:: /_static/images/cloud-azure-sg-02.png + +**Add Rule Example:** + +- **Rule 1**: AllowSSH + + - **Port**: 22 + + - **Protocol**: TCP + + - **Source**: Any + + - **Priority**: 1001 + +**Add Additional Rules**: + +You can add inbound rules based on your specific services, such as: + + - ESP + + - OpenVPN + + - WireGuard, etc. + +.. figure:: /_static/images/cloud-azure-sg-03.png + +**Associate subnets**: + +- Navigate to the **Network Security Groups**, select **Subnets** click **+ Associate** button. Then select your virtual network and the subnet to which you want to associate the NSG. Select **OK**: + +.. figure:: /_static/images/cloud-azure-sg-04.png + + +Step 4: Create Public IP Address +----------- + +- In the Azure Portal, search for and select **Public IP Addresses**. + +- On the **Public IP Addresses** page, select **+ Create**. + +- Provide the following details: + +- **Subscription**: Select your Subscription + +- **Resource Group**: Select ``VyOSResourceGroup`` + +- **Region**: ``West Europe`` + +.. figure:: /_static/images/cloud-azure-pub-ip-01.png + +- **Name**: ``VyOS-Pub-IP`` + +- **IP Version**: ``IPv4`` + +- **SKU**: ``Standard`` + +- **Availability zone**: Select Availability Zone + +.. figure:: /_static/images/cloud-azure-pub-ip-02.png + +- **IP address assignment**: ``Static`` + +- **Idle timeout (minutes)** ``30`` (max) + +.. figure:: /_static/images/cloud-azure-pub-ip-03.png + +- Click **Review + Create**, then **Create**. + + +Step 5: Deploy the VyOS Network Virtual Machine (NVA) +----------- + +- In the Azure Portal, search for and select **Virtual Machines**. + +- On the **Virtual Machines** page, click **+ Create** and select **Azure virtual machine**. + +- Provide the following details: + +- **Subscription**: Select your Subscription + +- **Resource Group**: Select ``VyOSResourceGroup`` + +- **Virtual machine name**: e.g., ``VyOS`` + +- **Region**: e.g., ``West Europe`` + +- **Security type**: ``Standard`` + +- **Image**: ``VyOS`` (On the marketplace search ``VyOS`` and choose the appropriate subscription). + +.. figure:: /_static/images/cloud-azure-vm-01.png + +- **Size**: Select a VM size to support the workload that you want to run. The size that you choose then determines factors such as processing power, memory, and storage capacity. + +.. figure:: /_static/images/cloud-azure-vm-02.png + +- **Password/SSH Key**: Choose whether the administrator account will use username/password or SSH keys for authentication. + +- **Username**: The administrator username for the VM, e.g., ``vyos``. + +- **SSH Key**: You can use your existing SSH key pair or Azure automatically generates it for you and allows you to store it for future use. + +.. figure:: /_static/images/cloud-azure-vm-03.png + +- **Virtual network**: Select ``VyOS-VirtualNetwork``. + +- **Subnet**: Select ``VyOS-Public-Subnet``. + +- **Public IP**: Select public IP address which created before ``VyOS-Pub-IP``. + +.. figure:: /_static/images/cloud-azure-vm-04.png + +- **Configure network security group**: Select existing Security Group ``VyOS-SecurityGroup``. + +.. figure:: /_static/images/cloud-azure-vm-05.png + +- Click **Review + Create**, then **Create**. + +- Click **Download the private key and create resource** this will download private key to your computer and start creating Virtual Machine. + +.. figure:: /_static/images/cloud-azure-vm-06.png + +- Wait until deployment is complete. After the deployment complete navigate to **Virtual Machines** click new created Virtual Machine. Check **Public IP address**. + +.. figure:: /_static/images/cloud-azure-vm-07.png + + +Step 6: Access the VyOS instance +----------- + +- Access the VyOS instance using **SSH** protocol, **Public IP Address**, **Private Key**: .. code-block:: none - ssh -i ~/.ssh/vyos_azure vyos@203.0.113.3 - vyos@vyos-doc-r1:~$ + $ ssh vyos@51.124.120.235 -i vyos_key.pem + vyos@VyOS:~$ -Add interface +Step 7: Enable IP Forwarding in Network Interface +----------- + +This option allows the virtual machine on this network interface to act as a router and receive traffic addressed to other destinations. + +- On the **Virtual Machines** page, select ``VyOS`` VM, under **Networking** tab select **Network settings**, click network interface. + +.. figure:: /_static/images/cloud-azure-vm-12.png + +- Enable IP forwarding and click the **Apply** button. + +.. figure:: /_static/images/cloud-azure-vm-13.png + +Step 8: Create and attach the second network interface (optional) ------------- -If instance was deployed with one **eth0** ``WAN`` interface and want to add +Now instance has been deployed with one **eth0** ``WAN`` interface and want to add new one. To add new interface an example **eth1** ``LAN`` you need shutdown the instance. Attach the interface in the Azure portal and then start the instance. .. note:: Azure does not allow you attach interface when the instance in the **Running** state. -Absorbing Routes + +Create network interface: +^^^^^^^^^^^^^^ + +- In the Azure Portal, search for and select **Network Interfaces**. + +- On the **Network Interfaces** page, select **+ Create**. + +.. figure:: /_static/images/cloud-azure-nic-01.png + +- **Subscription**: Select your Subscription + +- **Resource Group**: Select ``VyOSResourceGroup`` + +- **Name**: ``VyOS-PRIV-NIC`` + +- **Subnet**: ``VyOS-Private-Subnet`` + +- **Private IP**: ``Dynamic`` + +- Click **Review + Create**, then **Create** + +.. figure:: /_static/images/cloud-azure-nic-02.png + +- Enable **IP Forwarding** + +- Navigate to **Network Interfaces** select ``VyOS-PRIV-NIC`` + +.. figure:: /_static/images/cloud-azure-nic-03.png + +- Go to **Settings**, select **IP configurations**. Enable IP Forwarding and select **Apply**. + +.. figure:: /_static/images/cloud-azure-nic-04.png + + +Attach reate network interface: +^^^^^^^^^^^^^^ + +- Navigate to **Virtual Machines**, click new created Virtual Machine and click the **Stop** button + +.. figure:: /_static/images/cloud-azure-vm-08.png + +- Go to **Networking** select **Network settings** and then select **Attach network interface** + +.. figure:: /_static/images/cloud-azure-vm-09.png + +- Select existing (before created) network interface ``VyOS-PRIV-NIC`` and click the **OK** button. + +.. figure:: /_static/images/cloud-azure-vm-10.png + +- Now you have attached second interface to your instance and you can start Virtual Machine. + +- Go to **Overview** and click the **Start** button. + +.. figure:: /_static/images/cloud-azure-vm-11.png + + +Setp 8: Absorbing Routes ---------------- -If using as a router, you will want your LAN interface to absorb some or all of the traffic from your VNET by using a route table applied to the subnet. +To route traffic from your Virtual Network (VNET) through the LAN interface of your VyOS Network Virtual Appliance (NVA), you need to create and configure a custom route table in Azure. + +- Step-by-Step Instructions: + +- Navigate to **Route Tables** and click **+ Create**. + +Provide the following details: + + - **Subscription**: Select your Subscription + + - **Resource Group**: Select ``VyOSResourceGroup`` + + - **Name**: ``Route-VyOS`` + + - **Region**: e.g., ``West Europe`` + +.. figure:: /_static/images/cloud-azure-route-01.png + +- Click **Review + Create**, then **Create**. -1. Create a route table and browse to **Configuration** +**Add a Route**: -2. Add one or more routes for networks you want to pass through the VyOS VM. Next hop type **Virtual Appliance** with the **Next Hop Address** of the VyOS ``LAN`` interface. +- Navigate to **Route Tables** and click the new created route (``Route-VyOS``). + +- Go to **Routes** and click **+ Add** button. + +.. figure:: /_static/images/cloud-azure-route-02.png + +Add following parameters: + +- **Name**: ``Default-Route`` + +- **Destination type**: ``IP Addresses`` + +- **Destination IP addresses/CIDR ranges**: ``0.0.0.0/0`` + +- **Next Hop Type**: ``Virtual Appliance`` + +- **Next Hop IP Address**: ``10.1.11.4`` (The private Network Interface Card IP Address) + +.. figure:: /_static/images/cloud-azure-route-03.png + +- Click the **Add** button. + +**Associate the Route Table with subnet**: + +- Navigate to **Route Tables** and click the new created route (``VyOSResourceGroup``). + +- Go to **Subnets** and click **+ Associate** button. + +.. figure:: /_static/images/cloud-azure-route-04.png + +- **Virtual network**: Select ``VyOS-VirtualNetwork``. + +- **Subnet**: Select ``VyOS-Public-Subnet``. + +.. figure:: /_static/images/cloud-azure-route-05.png .. note:: If you want to create a new default route for VMs on the subnet, use **Address Prefix** ``0.0.0.0/0`` Also note that if you want to use this as a typical edge device, you'll want masquerade NAT for the ``WAN`` interface. -Serial Console + +Deploy VyOS Instance and Required Resources Automatically (via Terraform) -------------- -Azure has a way to access the serial console of a VM, but this needs to be configured on the VyOS. It's there by default, but keep it in mind if you are replacing config.boot and rebooting: ``set system console device ttyS0 speed '9600'`` +You can deploy a VyOS instance and its associated resources in **Azure** using Terraform modules available in the GitHub repository. +All necessary parameters will be configured automatically, and you will receive **management and access information** from the outputs. + +You can also edit/change these parameters based on your requirements. + +- Download/Clone the Repository following GitHub repository: + +https://github.com/vyos/vyos-automation/tree/main/Terraform/Azure + -References ----------- -https://azure.microsoft.com |