{"id":2003,"date":"2015-05-21T11:25:35","date_gmt":"2015-05-21T15:25:35","guid":{"rendered":"http:\/\/3.209.169.194\/blogs\/jonathan\/?p=2003"},"modified":"2017-04-13T13:05:55","modified_gmt":"2017-04-13T17:05:55","slug":"configuring-a-multi-subnet-sql-server-test-environment","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/","title":{"rendered":"Configuring a Multi-Subnet SQL Server Test Environment"},"content":{"rendered":"<p>Have you ever wanted to play with a multi-subnet SQL Server configuration for Availability Groups or Failover Clustering with SQL Server 2012 or higher? Getting an environment setup to support multiple subnets is not trivial, and a lot of times if you look online for information about how to configure routing for multiple subnets you will find a recommendation to use a Linux based VM separately as a router\/appliance to handle the routing. \u00a0In this blog post I\u2019m going to show you how to setup a virtual environment with a single Windows Server 2012 R2 server that performs the role of Active Directory Domain Controller, DNS server, DHCP host, and as a router for multiple subnets as the basis for a multi-subnet virtual environment for testing and playing with multi-subnet configurations for SQL Server 2012 and higher.\u00a0 I am building this environment in VMware Workstation 10, but the same configuration can be performed under any hypervisor that supports multiple virtual network configurations, once the host configuration of the virtual networks has been appropriately configured.\u00a0 VMware Workstation makes this configuration very easy through the Virtual Network editor that is included as a part of the VMware Workstation implementation.<\/p>\n<h1>Initial VM Configuration<\/h1>\n<p>For the initial VM setup, I created a VM with 2 vCPUs and 2GB RAM and then edited the settings to change the virtual network adapter settings to add two new network adapters to the VM.\u00a0 The default setup includes one virtual network adapter for NAT, so I am going to add one network adapter on VMNet2, then add another adapter on VMNet3 as shown below.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image18.png\"><img fetchpriority=\"high\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image18_thumb.png\" alt=\"image\" width=\"436\" height=\"380\" border=\"0\" \/><\/a><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image21.png\"><img decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image21_thumb.png\" alt=\"image\" width=\"436\" height=\"380\" border=\"0\" \/><\/a><\/p>\n<p>The final hardware configuration for the VM should then look like this:<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image9.png\"><img decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image9_thumb.png\" alt=\"image\" width=\"366\" height=\"230\" border=\"0\" \/><\/a><\/p>\n<p>Now we can install Windows Server 2012 R2 and setup our basic server configuration.\u00a0 In this case I\u2019ve changed the name of the server to be DC, and set static IP\u2019s to each of the network adapters, 192.168.52.1 for VMNet2, and 192.168.53.1 to VMNet3.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb.png\" alt=\"image\" width=\"418\" height=\"466\" border=\"0\" \/><\/a><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb1.png\" alt=\"image\" width=\"418\" height=\"466\" border=\"0\" \/><\/a><\/p>\n<p>To properly identify each adapter, you can edit the VM settings and disconnect them one at a time so it shows Network cable unplugged for the network connection.\u00a0 I usually set the NAT adapter to disconnected unless there is a need to have the VM connected to the internet through the host internet connection for some reason.\u00a0 Once this has been done we can proceed to setup the server as our Active Directory Domain Controller, DNS server, DHCP host for the networks, and as a Router between the two subnets.<\/p>\n<h1>Configuring Active Directory Domain Services<\/h1>\n<p>To setup Active Directory Domain Services, open the Add Roles and Features Wizard, and then check Active Directory Domain Services as a role for the server.\u00a0 It will open a popup window shown below to add additional features required by Active Directory Domain Services.\u00a0 Click the Add Features button then click Next twice followed by the Install button.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image45.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image45_thumb.png\" alt=\"image\" width=\"434\" height=\"452\" border=\"0\" \/><\/a><\/p>\n<p>When the installation finishes, don\u2019t click the Close button.\u00a0 Instead click on the link that says <strong>Promote this server to a domain controller<\/strong> to launch the Active Directory Domain Services Configuration Wizard.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image57.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image57_thumb.png\" alt=\"image\" width=\"644\" height=\"458\" border=\"0\" \/><\/a><\/p>\n<p>Click Close<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image63.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image63_thumb.png\" alt=\"image\" width=\"644\" height=\"472\" border=\"0\" \/><\/a><\/p>\n<p>Click the Add a new forest radio button, then add the Domain Name and click Next<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image66.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image66_thumb.png\" alt=\"image\" width=\"644\" height=\"472\" border=\"0\" \/><\/a><\/p>\n<p>Set the domain functional level and then specify the recovery password and click next<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image69.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image69_thumb.png\" alt=\"image\" width=\"644\" height=\"472\" border=\"0\" \/><\/a><\/p>\n<p>Click Next<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image72.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image72_thumb.png\" alt=\"image\" width=\"644\" height=\"472\" border=\"0\" \/><\/a><\/p>\n<p>Click Next<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image75.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image75_thumb.png\" alt=\"image\" width=\"644\" height=\"472\" border=\"0\" \/><\/a><\/p>\n<p>Click Next and wait for the prerequisites checks to complete<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image78.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image78_thumb.png\" alt=\"image\" width=\"644\" height=\"472\" border=\"0\" \/><\/a><\/p>\n<p>Click Install and it will finalize the configuration of the Active Directory Domain Services on the server making it a new Domain Controller in the environment.\u00a0 When it finishes Windows will prompt to sign you out as shown below, and then the VM will reboot.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image81.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image81_thumb.png\" alt=\"image\" width=\"644\" height=\"65\" border=\"0\" \/><\/a><\/p>\n<h1>Configuring DHCP<\/h1>\n<p>Configuring DHCP is not required, but it simplifies creating all the remaining VMs by automatically configuring their network settings based on the VMNet that they have been assigned on the virtual network adapters. Open the Add Roles and Features Wizard and add the DHCP Server role to the machine.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image87.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image87_thumb.png\" alt=\"image\" width=\"644\" height=\"458\" border=\"0\" \/><\/a><\/p>\n<p>A popup will open with the additional features required and you can click Add Features.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image84.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image84_thumb.png\" alt=\"image\" width=\"434\" height=\"432\" border=\"0\" \/><\/a><\/p>\n<p>Then click Next, followed by Install and when the installation finishes you can click the Complete DHCP Configuration.\u00a0 If you mistakenly click Close, you can still complete the configuration by opening Server Manager and then clicking on Manageability under the DHCP box.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image99.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image99_thumb.png\" alt=\"image\" width=\"644\" height=\"328\" border=\"0\" \/><\/a><\/p>\n<p>This will open up the Manageability Detail View shown below.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image102.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image102_thumb.png\" alt=\"image\" width=\"644\" height=\"461\" border=\"0\" \/><\/a><\/p>\n<p>Click Go To DHCP.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image105.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image105_thumb.png\" alt=\"image\" width=\"644\" height=\"328\" border=\"0\" \/><\/a><\/p>\n<p>Click the More link at the top in the yellow bar to the far right<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image108.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image108_thumb.png\" alt=\"image\" width=\"644\" height=\"360\" border=\"0\" \/><\/a><\/p>\n<p>Click the Complete DHCP configuration link.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image111.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image111_thumb.png\" alt=\"image\" width=\"779\" height=\"572\" border=\"0\" \/><\/a><\/p>\n<p>Click Next<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image120.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image120_thumb.png\" alt=\"image\" width=\"644\" height=\"473\" border=\"0\" \/><\/a><\/p>\n<p>Click Commit<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image123.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image123_thumb.png\" alt=\"image\" width=\"644\" height=\"473\" border=\"0\" \/><\/a><\/p>\n<p>This authorizes the server to be a DHCP host, so now we need to customize the configuration of DHCP. Click the Start button then type in DHCP and open the DHCP console.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb2.png\" alt=\"image\" width=\"244\" height=\"177\" border=\"0\" \/><\/a><\/p>\n<p>Right click on the IPv4 and choose New Scope then click Next.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb3.png\" alt=\"image\" width=\"244\" height=\"96\" border=\"0\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb4.png\" alt=\"image\" width=\"535\" height=\"437\" border=\"0\" \/><\/a><\/p>\n<p>I name the scopes by the Subnet they apply to so in this case 192.168.52.x and once we complete this scope a second will have to be made for the 192.168.53.x subnet by simply repeating these same steps and using that subnet for the gateway and DNS server addresses.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb5.png\" alt=\"image\" width=\"535\" height=\"437\" border=\"0\" \/><\/a><\/p>\n<p>Set the starting and ending IP address range for the scope and click Next. Then click Next on the Add Exclusions and Delay and Lease Duration windows.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb6.png\" alt=\"image\" width=\"535\" height=\"437\" border=\"0\" \/><\/a><\/p>\n<p>On the Configure DHCP Options page, make sure it says Yes, I want to configure these options now and click Next.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image7.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb7.png\" alt=\"image\" width=\"535\" height=\"437\" border=\"0\" \/><\/a><\/p>\n<p>Add the local IP address for this server as the Router address, in this case 192.168.52.1 and click Add, then click Next. (For the second scope you will use the other IP address, in this case the 192.168.53.1 address)<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image8.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb8.png\" alt=\"image\" width=\"535\" height=\"437\" border=\"0\" \/><\/a><\/p>\n<p>If the IP Address for the DNS Server is not the local address for the subnet, remove any existing IP addresses, and add the local IP address for the subnet, in this case 192.168.52.1 as the DNS server and then click Next. (Again, for the second scope you will use the other IP address, in this case the 192.168.53.1 address)<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image10.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb9.png\" alt=\"image\" width=\"535\" height=\"437\" border=\"0\" \/><\/a><\/p>\n<p>Remove any WINS server IP Addresses and click Next.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image11.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb10.png\" alt=\"image\" width=\"535\" height=\"437\" border=\"0\" \/><\/a><\/p>\n<p>Then click Next to activate the scope.\u00a0 Now repeat these same steps for the 192.168.53.x subnet specifying the 192.168.53.1 address for the router and DNS server and activate that scope.<\/p>\n<h1>Configuring Routing Between Subnets<\/h1>\n<p>To setup routing between the subnets, open the Add Roles and Features Wizard, and then check Remote Access as a role for the server.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image12.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb11.png\" alt=\"image\" width=\"644\" height=\"458\" border=\"0\" \/><\/a><\/p>\n<p>Click Next three times and then check the Routing box.\u00a0 It will open a popup window shown below to add additional features required for Routing.\u00a0 Click the Add Features button.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image13.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb12.png\" alt=\"image\" width=\"434\" height=\"432\" border=\"0\" \/><\/a><\/p>\n<p>This will also cause the DirectAccess and VPN (RAS) option to become checked as shown below.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image14.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb13.png\" alt=\"image\" width=\"644\" height=\"458\" border=\"0\" \/><\/a><\/p>\n<p>Click Next twice and it will have the addition IIS role services window shown below with the required features checked.\u00a0 Nothing needs to be changed here, just click Next again, followed by Install to install the Remote Access Role to the server.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image15.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb14.png\" alt=\"image\" width=\"644\" height=\"458\" border=\"0\" \/><\/a><\/p>\n<p>When the installation completes, click Close.\u00a0 Now click on Start and type in Routing and Remote Access and open the Routing and Remote Access management console.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image16.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb15.png\" alt=\"image\" width=\"244\" height=\"174\" border=\"0\" \/><\/a><\/p>\n<p>Right click on the server and select the <strong>Configure and Enable Routing and Remote Access<\/strong> option.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image17.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb16.png\" alt=\"image\" width=\"244\" height=\"165\" border=\"0\" \/><\/a><\/p>\n<p>Click Next on the first window then select the Custom Configuration option and click Next.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image19.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb17.png\" alt=\"image\" width=\"518\" height=\"434\" border=\"0\" \/><\/a><\/p>\n<p>Check the box for LAN routing and click Next.\u00a0 Then click Finish.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image20.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb18.png\" alt=\"image\" width=\"518\" height=\"434\" border=\"0\" \/><\/a><\/p>\n<p>Now click the Start service button to start the Routing and Remote Access services.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image22.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb19.png\" alt=\"image\" width=\"350\" height=\"173\" border=\"0\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>EDIT: After initially publishing this blog post, Thomas Stringer (<a href=\"http:\/\/tstringer.azurewebsites.net\/\" target=\"_blank\">Blog <\/a>| <a href=\"https:\/\/mobile.twitter.com\/SQLife\" target=\"_blank\">Twitter<\/a>) pointed out that static routes don&#8217;t have to be configured and RIP can be used to simplify the configuration of routing. \u00a0So I am updating this post with the RIP configuration as an additional section. Either option will work but I have to admit that RIP is easier to configure. You only need to configure RIP or the Static Routes, don&#8217;t configure both options.\u00a0<\/strong><\/p>\n<h3>Routing with Routing Information Protocol (RIP)<\/h3>\n<ol>\n<li>Expand the IPv4 folder and right click on General and choose New Routing Protocol.<\/li>\n<li>Select the RIP Version 2 for Internet Protocol option and click OK.<\/li>\n<li>Now right click on RIP under IPv4 and choose New Interface.<\/li>\n<li>Select the 192.168.52.1 interface and click OK.<\/li>\n<li>Then click OK again.<\/li>\n<li>Now\u00a0right click on RIP under IPv4 and choose New Interface.<\/li>\n<li>Select the 192.168.53.1 interface and click OK.<\/li>\n<li>Then click OK again.<\/li>\n<li>Now you are finished.<\/li>\n<\/ol>\n<h3>Routing with Static Routes<\/h3>\n<p>Expand the IPv4 folder and right click on Static Routes and choose the New Static Route option.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image23.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb20.png\" alt=\"image\" width=\"639\" height=\"452\" border=\"0\" \/><\/a><\/p>\n<p>Select the 192.168.52.1 interface and then add a Destination of 192.168.53.0, subnet mask of 255.255.255.0 and gateway of 192.168.53.1 to create a static route between the subnets.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image24.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb21.png\" alt=\"image\" width=\"398\" height=\"323\" border=\"0\" \/><\/a><\/p>\n<p>Now create a New Static route again.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image25.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb22.png\" alt=\"image\" width=\"640\" height=\"453\" border=\"0\" \/><\/a><\/p>\n<p>This time, change to the 192.168.53.1 interface and set the Destination to 192.168.52.0, network mask to 255.255.255.0, and the Gateway to 192.168.52.1 and click OK to add the static route between the subnets.<\/p>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image26.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb23.png\" alt=\"image\" width=\"398\" height=\"323\" border=\"0\" \/><\/a><\/p>\n<p>Restart the Routing and Remote Access Services and you\u2019re all set.<\/p>\n<h1>Testing<\/h1>\n<p>To test the configuration, I created two new VMs named SQL1 and SQL2 with a single network adapter each.\u00a0 SQL1 was configured on VMNet2 and SQL2 was configured on VMNet3, then joined both of the servers to the SQLskillsDomain.com domain.\u00a0 The <strong>Windows Firewall<\/strong> needs to be configured to allow ICMP echo packets in the <strong>Inbound Rules<\/strong> on each of the servers by enabling the <strong>File and Printer Sharing (Echo Request \u2013ICMPv4-In) <\/strong>rule that already exists in the Inbound Rules of the firewall. Once this is enabled on each of the servers, we can test with ping between the VMs as shown below:<\/p>\n<h4>SQL1 to SQL2<\/h4>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image27.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb24.png\" alt=\"image\" width=\"681\" height=\"539\" border=\"0\" \/><\/a><\/p>\n<h4>SQL2 to SQL1<\/h4>\n<p><a href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image28.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"image\" src=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image_thumb25.png\" alt=\"image\" width=\"681\" height=\"539\" border=\"0\" \/><\/a><\/p>\n<p>These same steps can be performed in Windows Server 2008R2 and Windows Server 2012, with only minor differences in the configuration of the roles and features.\u00a0 The Routing and Remote Access configuration to provide the routing between the subnets is nearly identical on all three versions of Windows.\u00a0 Once the server is configured, the environment can be used to create a multi-subnet Windows Server Failover Cluster for a multi-subnet Availability Group or even a multi-subnet Failover Clustered instance.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Have you ever wanted to play with a multi-subnet SQL Server configuration for Availability Groups or Failover Clustering with SQL Server 2012 or higher? Getting an environment setup to support multiple subnets is not trivial, and a lot of times if you look online for information about how to configure routing for multiple subnets you [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,15,24,39,50],"tags":[],"class_list":["post-2003","post","type-post","status-publish","format-standard","hentry","category-availability-groups","category-building-a-test-environment","category-failover-clustering","category-sql-server-2012","category-sql-server-2014"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Configuring a Multi-Subnet SQL Server Test Environment - Jonathan Kehayias<\/title>\n<meta name=\"description\" content=\"Configuring a Multi-Subnet SQL Server Test Environment for Availability Groups and Failover Clustered Instances\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Configuring a Multi-Subnet SQL Server Test Environment - Jonathan Kehayias\" \/>\n<meta property=\"og:description\" content=\"Configuring a Multi-Subnet SQL Server Test Environment for Availability Groups and Failover Clustered Instances\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/\" \/>\n<meta property=\"og:site_name\" content=\"Jonathan Kehayias\" \/>\n<meta property=\"article:published_time\" content=\"2015-05-21T15:25:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-13T17:05:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image18_thumb.png\" \/>\n<meta name=\"author\" content=\"Jonathan Kehayias\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jonathan Kehayias\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/\"},\"author\":{\"name\":\"Jonathan Kehayias\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"headline\":\"Configuring a Multi-Subnet SQL Server Test Environment\",\"datePublished\":\"2015-05-21T15:25:35+00:00\",\"dateModified\":\"2017-04-13T17:05:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/\"},\"wordCount\":1657,\"commentCount\":7,\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/image18_thumb.png\",\"articleSection\":[\"Availability Groups\",\"Building a Test Environment\",\"Failover Clustering\",\"SQL Server 2012\",\"SQL Server 2014\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/\",\"name\":\"Configuring a Multi-Subnet SQL Server Test Environment - Jonathan Kehayias\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/image18_thumb.png\",\"datePublished\":\"2015-05-21T15:25:35+00:00\",\"dateModified\":\"2017-04-13T17:05:55+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"description\":\"Configuring a Multi-Subnet SQL Server Test Environment for Availability Groups and Failover Clustered Instances\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/image18_thumb.png\",\"contentUrl\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/image18_thumb.png\",\"width\":436,\"height\":380},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/configuring-a-multi-subnet-sql-server-test-environment\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Availability Groups\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/category\\\/availability-groups\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Configuring a Multi-Subnet SQL Server Test Environment\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\",\"name\":\"Jonathan Kehayias - The Rambling DBA\",\"description\":\"The Rambling DBA\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\",\"name\":\"Jonathan Kehayias\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"caption\":\"Jonathan Kehayias\"},\"sameAs\":[\"http:\\\/\\\/3.209.169.194\\\/blogs\\\/jonathan\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Configuring a Multi-Subnet SQL Server Test Environment - Jonathan Kehayias","description":"Configuring a Multi-Subnet SQL Server Test Environment for Availability Groups and Failover Clustered Instances","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/","og_locale":"en_US","og_type":"article","og_title":"Configuring a Multi-Subnet SQL Server Test Environment - Jonathan Kehayias","og_description":"Configuring a Multi-Subnet SQL Server Test Environment for Availability Groups and Failover Clustered Instances","og_url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/","og_site_name":"Jonathan Kehayias","article_published_time":"2015-05-21T15:25:35+00:00","article_modified_time":"2017-04-13T17:05:55+00:00","og_image":[{"url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image18_thumb.png","type":"","width":"","height":""}],"author":"Jonathan Kehayias","twitter_misc":{"Written by":"Jonathan Kehayias","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/#article","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/"},"author":{"name":"Jonathan Kehayias","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"headline":"Configuring a Multi-Subnet SQL Server Test Environment","datePublished":"2015-05-21T15:25:35+00:00","dateModified":"2017-04-13T17:05:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/"},"wordCount":1657,"commentCount":7,"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/#primaryimage"},"thumbnailUrl":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image18_thumb.png","articleSection":["Availability Groups","Building a Test Environment","Failover Clustering","SQL Server 2012","SQL Server 2014"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/","name":"Configuring a Multi-Subnet SQL Server Test Environment - Jonathan Kehayias","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/#primaryimage"},"thumbnailUrl":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image18_thumb.png","datePublished":"2015-05-21T15:25:35+00:00","dateModified":"2017-04-13T17:05:55+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"description":"Configuring a Multi-Subnet SQL Server Test Environment for Availability Groups and Failover Clustered Instances","breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/#primaryimage","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image18_thumb.png","contentUrl":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-content\/uploads\/2015\/05\/image18_thumb.png","width":436,"height":380},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/configuring-a-multi-subnet-sql-server-test-environment\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/"},{"@type":"ListItem","position":2,"name":"Availability Groups","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/category\/availability-groups\/"},{"@type":"ListItem","position":3,"name":"Configuring a Multi-Subnet SQL Server Test Environment"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/","name":"Jonathan Kehayias - The Rambling DBA","description":"The Rambling DBA","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c","name":"Jonathan Kehayias","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","caption":"Jonathan Kehayias"},"sameAs":["http:\/\/3.209.169.194\/blogs\/jonathan"]}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/2003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/comments?post=2003"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/2003\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/media?parent=2003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/categories?post=2003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/tags?post=2003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}