-
Notifications
You must be signed in to change notification settings - Fork 15
VMWare Hub Deployment Guide #1101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
fd00dca
1aab76c
09aacb5
77c8868
d0ea08c
93c013f
270d070
10f935a
6a9d736
9248dd1
02ee606
5ac130f
1df8f2b
2597684
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| <!--- VMware Router Deployment Guide - Network Design Reference ---> | ||
|
|
||
| The following IP addressing and naming scheme is used consistently throughout this guide. Substitute your own values when configuring your network. | ||
|
|
||
| | Parameter | Example Value | Description | | ||
| |-----------|--------------|-------------| | ||
| | Authority Name | `Authority128` | Organizational authority name | | ||
| | Conductor Name | `Conductor` | Pre-existing conductor system name | | ||
| | Conductor IP Address | `192.168.100.10` | Conductor IP — must be reachable from the router WAN | | ||
| | Router Name | `Hub1` | VMware router system name | | ||
| | Router Node Name | `node0` | Router node name | | ||
| | Router Asset ID | `Hub1` | Asset ID reported after initialization; see [Step 2](deploy_vmware_router_install.mdx#asset-id) | | ||
| | WAN Device Interface | `wan-dev` | WAN device interface name | | ||
| | WAN Network Interface | `wan1` | WAN network interface name | | ||
| | WAN PCI Address | _(discovered in [Step 3](deploy_vmware_router_pci.mdx))_ | VMXNet3 WAN NIC PCI address | | ||
| | LAN Device Interface | `lan-dev` | LAN device interface name | | ||
| | LAN Network Interface | `lan1` | LAN network interface name | | ||
| | LAN PCI Address | _(discovered in [Step 3](deploy_vmware_router_pci.mdx))_ | VMXNet3 LAN NIC PCI address | | ||
| | Router LAN IP Address | `192.168.1.1/24` | LAN gateway address | | ||
| | Tenant Name | `corp` | LAN-side user tenant | | ||
| | Service Name | `Internet-Traffic` | Internet breakout service | | ||
| | Service Address | `0.0.0.0/0` | All internet-bound traffic | | ||
| | Neighborhood | `internet` | SVR neighborhood name | |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,132 @@ | ||
| <!--- VMware ESXi VM Creation for SSR Hub Router ---> | ||
|
|
||
| ## Log In to VMware ESXi | ||
|
|
||
| Open a web browser and navigate to your ESXi host. Log in with administrative credentials. | ||
|
|
||
|  | ||
|
|
||
| ## Upload the SSR ISO to the Datastore | ||
|
|
||
| 1. From the ESXi Navigator, select **Storage**. | ||
|
|
||
|  | ||
|
|
||
| 2. Click the **Datastore Browser** button. | ||
|
|
||
|  | ||
|
|
||
| 3. Click **Upload**, navigate to the SSR 7.1.4-3r2 ISO on your local workstation, and click **Open**. The ISO appears in the datastore. | ||
|
|
||
|  | ||
|
|
||
| 4. Click **Close**. | ||
|
|
||
| ## Create the Virtual Machine | ||
|
|
||
| 1. From the VMWare Navigator window, click on **Create/Register VM**. | ||
|
|
||
|  | ||
|
|
||
| 2. In the **Select creation type** window click **Create a new virtual machine** and then click **Next**. | ||
|
|
||
|  | ||
|
|
||
| ### Name and Guest OS | ||
|
|
||
| Use the steps below to configure the following: | ||
|
|
||
| | Field | Value | | ||
| |-------|-------| | ||
| | Name | A descriptive name, for example `Hub1` | | ||
| | Compatibility | `ESXi 7.0 U2 virtual machine` | | ||
| | Guest OS family | `Linux` | | ||
| | Guest OS version | Select the highest available Oracle Linux (64-bit) version | | ||
|
|
||
| 3. Name the Virtual Machine **Hub1**. | ||
|
|
||
| 4. Select **Linux** from the Guest OS family dropdown selection. | ||
|
|
||
| 5. Select the highest available Oracle Linux (64-bit) Guest OS version. Click **Next**. | ||
|
|
||
|  | ||
|
|
||
| ### Storage | ||
|
|
||
| 6. From the Storage screen, select **datastore1** and click **Next**. | ||
|
|
||
|  | ||
|
|
||
| ### Virtual Hardware | ||
|
|
||
| 7. On the **Customize settings** screen, click **Virtual Hardware** and configure the following settings. | ||
|
|
||
| These values meet the minimum router requirements: | ||
|
|
||
| | Setting | Value | Notes | | ||
| |---------|-------|-------| | ||
| | CPUs | `4` | Minimum | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 8 cores |
||
| | Hardware virtualization | Select (checkbox) **Expose hardware assisited virtualization to the guest OS** | Set under CPU → expand | | ||
| | Memory | `8 GB` | Minimum | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 64 GB RAM |
||
| | Hard Disk 1 | `62 GB` | Minimum | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 256GB storage |
||
| | SCSI Controller 0 | `VMware Paravirtual` | | | ||
|
|
||
|  | ||
|
|
||
| ### Boot Settings | ||
|
|
||
| 8. Click the **VM Options** tab. | ||
|
|
||
|  | ||
|
|
||
| 9. Expand **Boot Options**. | ||
|
|
||
| 10. In the Firmware field, choose **BIOS** from the drop down. | ||
|
|
||
|  | ||
|
|
||
| 11. Click **Next**. | ||
|
|
||
| ### Network Adapters | ||
|
|
||
| A VMware router requires at least two VMXNet3 network adapters: one for WAN and one for LAN. By default, one adapter is already in place. For the Hub router, we will create three additional network adapters, which will allow it to connect to multiple branch/spoke routers. | ||
|
|
||
|  | ||
|
|
||
| 12. Set the existing adapter's **Adapter Type** to **VMXNET3** and select the appropriate **portgroup** name for the virtual network that will provide access to your WAN. | ||
|
|
||
| 13. Click **Add network adapter** to add a second adapter. Set its **Adapter Type** to **VMXNET3** and select the appropriate **portgroup** name for the virtual network that will provide access to your LAN. | ||
|
|
||
| Repeat this step two more times to create a total of four network interfaces. | ||
|
|
||
| :::note | ||
| If you need help creating portgroups and connecting them to your appropriate infrastructure, please consult your VMWare documentation. | ||
| ::: | ||
|
|
||
|  | ||
|
|
||
| :::note | ||
| The order of the adapters (NIC 1 = WAN, NIC 2 = LAN) corresponds to the PCI addresses you will identify in [Step 3 — Find VM NIC PCI Addresses](deploy_vmware_router_pci.mdx). | ||
|
|
||
| Need to add information here for the other two NICs | ||
| ::: | ||
|
|
||
| ### CD/DVD Media - Software Selection | ||
|
|
||
| 14. Expand **CD/DVD Drive 1**. | ||
|
|
||
|  | ||
|
|
||
| 15. Place a check next to **Connect at power on**. In the dropdown to the right, select **Datastore ISO file** and then click **Browse**. The Datastore Browser opens. | ||
|
|
||
| 16. Select the `SSR-7.1.4-3.r2.el9.x86_64.ibu-v1.iso` and click **Select**. | ||
|
|
||
|  | ||
|
|
||
| 17. Confirm the settings, and then click **Next**. | ||
|
|
||
|  | ||
|
|
||
| 18. Review the summary, then click **Finish**. | ||
|
|
||
|  | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,216 @@ | ||
| --- | ||
| title: "Appendix: VMware Router Configuration" | ||
| sidebar_label: "Appendix: VMware Router Configuration" | ||
| --- | ||
| import NetworkDesign from './_deploy_vmware_router_network_design.md'; | ||
|
|
||
| This appendix contains the complete SSR PCLI configuration for the `Spoke1` VMware router described in this guide. This configuration reflects the final state after completing all steps through [Step 4 — Configure the Router on the Conductor](deploy_vmware_router_config.mdx). | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
|
||
| :::important | ||
| This appendix uses **example** PCI addresses (`0000:0b:00.0` for WAN, `0000:13:00.0` for LAN). Replace these with the actual values discovered in [Step 3 — Find VM NIC PCI Addresses](deploy_vmware_router_pci.mdx). | ||
| ::: | ||
|
|
||
| ## Network Design Reference | ||
|
|
||
| <NetworkDesign/> | ||
|
|
||
| ## Applying This Configuration | ||
|
|
||
| This configuration can be applied to the conductor using the PCLI import function. | ||
|
|
||
| 1. Save the router configuration block below to a file — for example, `vmware-router-Spoke1.cfg`. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. spoke? |
||
|
|
||
| 2. Copy the file to the conductor: | ||
|
|
||
| ```bash | ||
| scp vmware-router-Spoke1.cfg admin@192.168.100.10:/tmp/ | ||
| ``` | ||
|
|
||
| 3. Log in to the conductor PCLI: | ||
|
|
||
| ```bash | ||
| ssh admin@192.168.100.10 | ||
| ``` | ||
|
|
||
| 4. Enter configuration mode and import: | ||
|
|
||
| ```text | ||
| admin@node0.conductor1# import config /tmp/vmware-router-Spoke1.cfg | ||
| ``` | ||
|
|
||
| 5. Review any validation warnings, then commit: | ||
|
|
||
| ```text | ||
| admin@node0.conductor1 (config)# commit | ||
| Are you sure you want to commit the candidate config? [y/N]: y | ||
| ``` | ||
|
|
||
| Alternatively, copy and paste each block into the PCLI while in `configure` → `edit` mode. | ||
|
|
||
| :::note | ||
| The authority-level objects this router depends on (`Internet-Traffic` service, `corp` tenant, and conductor address) must already exist in the running configuration. For the complete authority-level configuration, see [Appendix — VMWare Conductor Configuration](deploy_appendix_vmware_conductor.mdx). | ||
| ::: | ||
|
|
||
| ## Router Configuration | ||
|
|
||
|  | ||
|
|
||
| The following block shows the `Spoke1` router configuration as it appears within the authority configuration. | ||
|
|
||
| ``` | ||
| config | ||
|
|
||
| authority | ||
| conductor-address 10.0.0.63 | ||
|
|
||
|
|
||
|
|
||
| router Conductor | ||
| name Conductor | ||
| location-coordinates +38.7127105-077.0060152/ | ||
|
|
||
| node node0 | ||
| name node0 | ||
| asset-id Conductor | ||
| platform-type "440BX Desktop Reference Platform" | ||
| exit | ||
| exit | ||
|
|
||
| router hub1 | ||
| name hub1 | ||
| location-coordinates +40.741895-073.989308/ | ||
| inter-node-security internal | ||
|
|
||
| node node0 | ||
| name node0 | ||
| asset-id Hub1 | ||
| role combo | ||
| platform-type "440BX Desktop Reference Platform" | ||
|
|
||
| device-interface wan-dev | ||
| name wan-dev | ||
| pci-address 0000:0b:00.0 | ||
|
|
||
| network-interface wan1 | ||
| name wan1 | ||
| global-id 3 | ||
| conductor true | ||
| default-route true | ||
|
|
||
| neighborhood internet | ||
| name internet | ||
| topology hub | ||
| exit | ||
| inter-router-security internal | ||
| source-nat true | ||
| management true | ||
|
|
||
| management-vector | ||
| name mgmt-vec-wan | ||
| priority 100 | ||
| exit | ||
|
|
||
| address 10.0.128.128 | ||
| ip-address 10.0.128.128 | ||
| prefix-length 16 | ||
| gateway 10.0.0.127 | ||
|
|
||
| host-service web | ||
| service-type web | ||
| exit | ||
| exit | ||
| dhcp disabled | ||
| exit | ||
| exit | ||
|
|
||
| device-interface lan | ||
| name lan | ||
| pci-address 0000:13:00.0 | ||
|
|
||
| network-interface lan | ||
| name lan | ||
| global-id 4 | ||
| tenant corp | ||
| source-nat true | ||
|
|
||
| address 192.168.2.1 | ||
| ip-address 192.168.2.1 | ||
| prefix-length 24 | ||
|
|
||
| host-service dhcp-server | ||
| service-type dhcp-server | ||
|
|
||
| address-pool 192.168.2.2 | ||
| start-address 192.168.2.2 | ||
| end-address 192.168.2.20 | ||
| router 192.168.2.1 | ||
| domain-server 8.8.8.8 | ||
| exit | ||
| exit | ||
| exit | ||
| dhcp disabled | ||
| exit | ||
| exit | ||
| exit | ||
|
|
||
| service-route internet-route | ||
| name internet-route | ||
| service-name Internet-Traffic | ||
|
|
||
| next-hop node0 wan1 | ||
| node-name node0 | ||
| interface wan1 | ||
| gateway-ip 10.0.0.1 | ||
| exit | ||
| exit | ||
| exit | ||
|
|
||
| tenant corp | ||
| name corp | ||
| exit | ||
|
|
||
|
|
||
|
|
||
| software-access | ||
| username (removed) | ||
| token (removed) | ||
| exit | ||
|
|
||
| service internet | ||
| name internet | ||
| security internal | ||
| exit | ||
|
|
||
| service Internet-Traffic | ||
| name Internet-Traffic | ||
| address 0.0.0.0/0 | ||
|
|
||
| access-policy corp | ||
| source corp | ||
| exit | ||
| exit | ||
| exit | ||
| exit | ||
|
|
||
| ``` | ||
|
|
||
| ## Interface Summary | ||
|
|
||
| | Interface | Device Interface | PCI Address | Type | Configuration | | ||
| |-----------|-----------------|-------------|------|---------------| | ||
| | `wan1` | `wan-dev` | `0000:0b:00.0` _(example)_ | External | DHCP, conductor, default-route, source-nat, management, neighborhood `internet` | | ||
| | `lan1` | `lan-dev` | `0000:13:00.0` _(example)_ | External | tenant `corp`, static `192.168.1.1/24` | | ||
|
|
||
| ## Service Route Summary | ||
|
|
||
| | Service Route | Service | Type | Next Hop | | ||
| |--------------|---------|------|---------| | ||
| | `internet-route` | `Internet-Traffic` | `service-agent` | `node0 / wan1` | | ||
|
|
||
| ## Design Notes | ||
|
|
||
| **Management over Forwarding** — The `wan1` interface carries both internet traffic and conductor management sessions simultaneously. Management traffic from the `169.254.x.x` range is source-NAT'd to the WAN DHCP address before leaving the interface. This eliminates the need for a separate out-of-band management network at the branch site. | ||
|
|
||
| **Internet Breakout** — The `internet-route` service route directs all `corp`-tenant traffic matching the `Internet-Traffic` service (destination `0.0.0.0/0`) out through `wan1` as a service-agent. The source NAT setting on `wan1` ensures LAN client traffic is translated to the WAN IP before it reaches the ISP. | ||
|
|
||
| **PCI Address Binding** — VMware assigns PCI addresses based on the VM's hardware slot configuration. The example addresses in this appendix (`0000:0b:00.0`, `0000:13:00.0`) are illustrative only. Always use the values discovered by following [Step 3 — Find VM NIC PCI Addresses](deploy_vmware_router_pci.mdx). | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are the minimum requirements for a branch router. Technically a branch router can function as a hub, but in most deployment scenarios, this will be insufficient for reasonably sized network. This table should reflect the resources matching a SSR1200 - the typical small hub router.