пятница, 22 февраля 2013 г.

Настройка Site-to-Site IPsec VPN между VMware vCloud Director и Microsoft Windows Server

VPN туннели являют эффективным механизмом, позволяющим объединить несколько удаленных сайтов в единую маршрутизируемую сеть, и передавать данные, используя защищенные каналы организованные поверх сети Интернет.

Неотъемлемой частью "облачных" инфраструктур, построенных на продуктах VMware vCloud, является VMware Edge, входящий в состав VMware vCloud Networkin & Security, также известный как VMware vShield).

VMware Edge предоставляет возможность организации IPSec Site-to-Site VPN туннелей как с другими серверами Edge, так и с программным обеспечением и оборудованием сторонних производителей, например, Cisco ASA или Microsoft TMG. Однако, в некоторых случаях, функции VPN сервера может взять на себя и обычный сервер с установленной ОС Windows Server.

В качестве примера рассмотрим настройку VPN туннеля между двумя сайтами (site1 и site2). В первом сайте используется подсеть 192.168.10.0 / 24 и установлен выделенный сервер Windows Server 2008 R2 с доступом в Интернет (в примере подсеть 192.168.1.0 / 24). Во втором сайте используется подсеть 192.168.20.0 / 24 и развернут сервер VMware Edge, у которого также есть прямой доступ в Интернет.

Настройка Edge сервера

При развертывании Edge сервера в виртуальном ЦОД организации все настройки VPN туннелей должны выполняется только из консоли vCloud Director, т.к. настройки, выполняемые из vShield Manager, не синхронизируются с БД vCloud Director и могут быть перезаписаны.

Откройте консоль управления vCloud Director. Войдите в систему в качестве системного администратора или администратора организации. Перейдите во вкладку администрирования (Administration), в списке слева выберите нужный виртуальный ЦОД (Virtual Datacenters) и перейдите на вкладку Edge Gateways.

Выберите нужный сервер Edge, щелкните правой кнопкой мыши и выберите Edge Gateway Services.

Перейдите на вкладку VPN и включите поддержку VPN на сервере, выбрав Enable VPN.

Нажмите кнопку Add для создания нового VPN туннеля.

В окне Add a Site-to-Site VPN configuration задайте имя (Name) туннеля, а также описание (Description).

В списке Establish VPN to выберите a remote network.

В списке Local Networks выберите локальную сеть, подключенную к серверу Edge, для которой требуется организовать VPN туннель.

В поле Peer Networks укажите в формате CIDR (например, 192.168.10.0/24) удаленную сеть, подключенную к Windows Server, до которой требуется организовать VPN туннель.

Если сервер Edge подключен к нескольким внешним (External) сетям, то в списке Local Endpoint выберите внешнюю сеть, через которую Edge будет подключаться к серверу Windows Server.

В поле Local ID укажите IP адрес внешнего интерфейса Edge сервера.

Примечание: В некоторых случаях Edge сервер может быть подключен к Интернет не напрямую, а находиться за NAT устройством, которое осуществляет проброс необходимых портов для организации VPN. В любом случае, в данном поле указывается IP адрес внешнего интерфейса Edge сервера, неважно, из публичного или из частного диапазона.

В поле Peer ID укажите IP адрес внешнего интерфейса Windows Server.

Примечание: В некоторых случаях удаленный Windows Server может быть подключен к Интернет не напрямую, а находиться за NAT устройством, которое осуществляет проброс необходимых портов для организации VPN. В любом случае, в данном поле указывается IP адрес внешнего интерфейса Windows Server'а сервера, неважно, из публичного или из частного диапазона. 

В поле Peer IP задайте IP адрес внешнего интерфейса Windows Server.

Примечание: В случае, если удаленный сервер находится за NAT устройством, данном поле потребуется ввести IP адрес внешнего интерфейса NAT устройства.

В списке Encryption protocol выберите протокол шифрования. Edge сервер поддерживает протоколы шифрования AES-256 (256 бит), AES (128 бит) и 3DES (192 бита). В качестве примера здесь и далее используется протокол шифрования 3DES.

Выберите Show key для показа общего ключа. Скопируйте общий ключ, т.к. он потребуется при настройке Windows Server.

При необходимости измените значение MTU во избежание фрагментации пакетов из-за ограничений внешнего канала.

Нажмите OK для создания VPN туннеля.

Нажмите OK еще раз для сохранения настроек. Если все все было сделано правильно, то после повторного открытия окна Edge Gateway Services на вкладке VPN появится новый туннель.

Не забудьте настроить брандмауэр Edge на вкладке Firewall. Для тестовых целей вы можете разрешить весь входящий и исходящий трафик, выбрав Default action: Allow, или отключив брандмауэр.

На этом настройки со стороны Edge сервера закончены.

Настройка Windows Server

Для корректной маршрутизации трафика между внутренней сетью и виртуальным интерфейсом на сервере Windows Server должна быть установлена роль Network Policy and Access Services.

Сделать это можно из консоли Server Manager или из командной строки, выполнив команды:
dism /online /enable-feature /featurename:RasServerAll 
dism /online /enable-feature /featurename:RasRoutingProtocols


Откройте оснастку управления Routing and Remote Access. Щелкните по имени сервера правой кнопкой мыши и выберите Configure and Enable Routing and Remote Access.

В мастере настройки в главном окне нажмите Next.

В окне Configuration выберите Custom configuration и нажмите Next.

В окне Custon Configuration выберите LAN routing и нажмите Next.

Нажмите Finish для применения настроек.

Запустите службу, нажав Start service.

Настройки IPsec VPN туннелей в Windows Server выполняются из оснастки Windows Firewall with Advanced Security или командной строки.

Запустите оснастку.

Щелкните по корню Windows Firewall with Advanced Security on Local Computer правой кнопкой мыши и в контекстном меню выберите Properties.

В открывшемся окне перейдите на вкладку IPsec Settings и в области IPsec defaults нажмите кнопку Customize.

В окне Customize IPsec Settings в области Key exchange (Main Mode) выберите Advanced и нажмите кнопку Customize.

С помощью кнопки Remove удалите все существующие варианты согласования, а затем с помощью кнопки Add добавьте режим со следующими настройками:
Integrity algorithm: SHA-1
Encryption algorithm: 3DES
Key exchange algorithm: Diffie-Hellman Group 2
Остальные настройки оставьте по умолчанию.


Примечание: Алгоритмы шифрования на Windows Server и сервере Edge должны совпадать.

Нажмите OK для сохранения настроек.

В окне Customize IPsec Settings в области Data Protection (Quick Mode) выберите Advanced и нажмите кнопку Customize.

В окне Customize Data Protection Settings выберите Require encryption for all connection security rules that use these settings.

С помощью кнопки Remove удалите все существующие варианты согласования, а затем с помощью кнопки Add добавьте режим со следующими настройками:
Protocol: ESP
Encryption algorithm: 3DES
Integrity algorithm: SHA-1
Остальные настройки оставьте по умолчанию.



Примечание: Алгоритмы шифрования на Windows Server и сервере Edge должны совпадать.

Нажмите OK для сохранения настроек.


Нажмите OK для сохранения настроек еще раз.

Нажмите OK в третий раз.

Щелкните правой кнопкой мыши по Connection Security Rules и в контекстном меню выберите New Rule.

В мастере создания правил на главной странице выберите Tunnel и нажмите Next.

На странице Tunnel Type выберите Custom configuration и No. Send all network traffic that matches this connection security rule through the tunnel. Нажмите Next.

На странице Requirements выберите Require authentication for inbound and outbound connections. Нажмите Next.

На странице Tunnel Endpoints в списке Which computers are in Endpoint 1 с помощью кнопки Add добавьте локальную сеть, подключенную к Windows Server, для которой требуется организовать VPN туннель.

Помните, что конфигурация Windows Server является зеркальным отражением конфигурации Edge и здесь локальные и удаленные IP адреса и подсети меняются местами.

В поле What is the local tunnel endpoint с помощью кнопки Edit укажите IP адрес внешнего интерфейса Windows Server.

В поле What is the remote tunnel endpoint с помощью кнопки Edit укажите IP адрес внешнего интерфейса сервера Edge.

в списке Which computers are in Endpoint 2 с помощью кнопки Add добавьте удаленную сеть, подключенную к серверу Edge, до которой требуется организовать VPN туннель.

Нажмите Next.

На странице Authentication Method выберите режим Advanced и нажмите кнопку Customize.

В окне Customize Advanced Authentication Methods с помощью кнопки Remove удалите все существующие варианты аутентификации, а затем с помощью кнопки Add добавьте режим со следующими настройками:

Select the credential to use for first authentication: Preshared key

Укажите общий ключ, сохраненный ранее при настройке сервера Edge.


Примечание: Общий ключ на Windows Server и сервере Edge должен совпадать.

Нажмите OK для сохранения настроек.


Нажмите Next.

На странице Profile нажмите Next.

На странице Name задайте имя (Name) и описание (Description) создаваемого правила.

Нажмите Finish для завершения создания правила.

Осталось сделать самую малость.

Для всех туннелей, создаваемых на сервере Edge, по умолчанию включен perfect forward secrecy. В свою очередь, для туннелей, создаваемых в Windows Server режим perfect forward secrecy выключен. По этой причине два сервера не могут согласовать настройки безопасности на второй фазе (Quick Mode). Исправить это можно, включив PFS на Windows Server.

Для этого откройте консоль CMD. Вам потребуется отредактировать созданное правило, используя команду netsh. Формат команды:
netsh advfirewall consec set rule name="Tunnel to vCloud" new qmpfs=dhgroup2
, где  "Tunnel to vCloud" - имя правила.
qmpfs=dhgroup2- включает режим PFS.

Посмотреть имя правила можно в оснастке Windows Firewall или с помощью команды:
netsh advfirewall consec show rule name=all

Настройки закончены, можно приступать к проверке.

Проверка работы

.Для проверки можно использовать клиентские машины, развернутые в каждом из сайтов и утилиту ping.

Перед проверкой, убедитесь, что на клиентах и на сервере Edge настроен брандмауэр и разрешен трафик ICMP.

Пропингуйте компьютер в удаленной подсети.

Все работает.

В оснастке управления Windows Firewall в Security Associations Main Mode и Quick Mode должны появиться записи о первой и второй фазах IPsec.

Примечание: Если на Windows Server в RRAS включить функцию NAT сервера, то перестает корректно работать маршрутизация трафика через VPN туннель.

вторник, 19 февраля 2013 г.

Проблема совместимости Microsoft Windows NAT и VMware VMXNET3

Недавно столкнулся с неприятной проблемой. При попытке поднять в виртуальной машине VMware ESXi 5.1 с установленной ОС Windows Server 2008 R2 SP1 стандартную роль NAT сервера, интерфейсы сервера переставали пинговаться, и NAT не работал.


Испробовав все варианты, которые только возможно: перезагрузка ВМ, обновление VMware Tools, проверка настроек виртуального коммутатора, установка обновлений ОС, перезагрузка хоста, пересоздание ВМ, и отчаявшись, я решил попробовать сменить тип виртуального адаптера с VMXNET3 на E1000, и, о чудо, все заработало!

По всей видимости, проблема давно известна, и не я один от нее страдаю. А воз и ныне там.

среда, 6 февраля 2013 г.

Особенности использования VMware Enhanced vMotion

Начиная с VMware vSphere 5.1 появился механизм Enhanced vMotion, позволяющий переносить виртуальные машины с одного хоста на другой без необходимости использования общего хранилища (datastore).

Важным плюсом Enhanced vMotion является то, что он доступен в редакции vSphere Essentials Plus и выше, что позволяет переносить ВМ с одного хранилища на другое без остановки даже при отсутствии Storage vMotion.


Однако, когда я решил попробовать перенести ВМ, работающую на хосте ESXi, на другое хранилище, то получил ошибку.

Система ясно написала, что функционал Storage vMotion не поддерживается данной редакцией.

Причина проблемы нашлась быстро. Оказывается, если при выполнении Migrate оставить ВМ на том же хосте, но выбрать новое хранилище, то vCenter попытается выполнить Storage vMotion. Решение простое - если хочется перенести диски ВМ с одного хранилища на другое, то в мастере переноса надо не только выбрать новое хранилище, но и новый хост ESXi.

После этого перенос запускается и отрабатывает корректно.

пятница, 1 февраля 2013 г.

SAN Backup виртуальных машин на примере Symantec Backup Exec 2012

При резервном копировании виртуальных машин в инфраструктуре VMware vSphere могут использоваться различные механизмы, например VADP, Change Block Tracking, Snapshot'ы. Но при использовании RDM дисков (подключаемых напрямую в ВМ, например, больших файловых серверов или узлов кластера с общими дисками) все это перестает работать и администратору по старинке приходится ставить внутри гостевой ОС агента и копировать данные по локальной сети.

Одним из вариантов решения данной проблемы является SAN бекап, который позволяет СРК получать доступ к данным напрямую с СХД, не нагружая производственный сервер. В случае использования выделенной SAN сети, например, в случае с Fibre Channel, это также позволяет снизить нагрузку на локальную сеть и ускорить выполнение резервного копирования.

Помимо резервного копирования физических серверов, данный вариант также может использоваться для резервного копирования ВМ, к которым подключены диски в режиме Physical RDM.

В общем виде, SAN бекап выполняется следующим образом:
1) Резервируемый сервер инициализирует создание VSS снимка файловой системы диска, расположенного на СХД
2) Сервер также создает снапшот этого тома на СХД.
3) СРК копирует необходимые данные напрямую из снапшота, минуя резервируемый сервер. Сразу после создания снапшота сервер может продолжать работу в обычном режиме, это никак не помешает СРК копировать данные.
4) После завершения резервного копирования снапшот с СХД удаляется.

В качестве примера рассмотрим настройку Host Offload Backup для СРК Symantec Backup Exec 2012 с использованием хранилища HP P2000fc G3 MSA.

Backup Exec поддерживает различные СХД в режиме Host Offload Backup, полный список можно найти здесь: Backup Exec 2012 Hardware (HCL).

Перед началом настройки проверьте зонирование на FC коммутаторах. А также убедитесь, что необходимые тома презентованы серверу приложений. В случае виртуальной машины, том должен быть презентован в режиме Physical RDM, а контроллер, к которому подключен диск, переведен в режим Physical SCSI Bus Sharing.


При необходимости настройте Multipath I/O на СРК (инструкция по настройке доступна тут).Также проверьте, что на СХД разрешено создание снапшотов для томов и есть свободное место.

Для корректного создания VSS снапшотов и снапшотов дисков на СХД потребуется установить HP P2000/MSA2000 VSS Provider for Windows на сервер резервного копирования, а также на резервируемый сервер.

Требуется загрузить и установить в указанном порядке следующие компоненты (инструкция по установке доступна тут):
  • MSA2000 Family CAPI Proxy
  • MSA2000 Family VDS Hardware Provider
  • MSA2000 Family VSS Hardware Provider
Все компоненты доступны для загрузки с сайта HP. Если вы устанавливает данные компоненты внутри ВМ, то можете получить сообщение об ошибке.

Обойти это можно, предварительно распаковав файлы дистрибутива в какую-нибудь папку.

После завершения установки, при необходимости, перезагрузите СРК и резервируемый сервер. Проверить корректность установки можно, выполнив команду vssadmin list providers. В списке доступных провайдеров должен появиться "HP StorageWorks P2000/MSA2000 VSS Provider".

После завершения всех подготовительных процедур можно переходить к настройке СРК.

Для резервного копирования по SAN требуется, чтобы на сервере была установлена опция Advanced Disk-based Backup Option. Установить ее можно из главного меню: Installation and Licensing -> Install Options and Licenses on this Backup Exec Server.

Учтите, что опция Advanced Disk-based Backup Option требует отдельного лицензирования.

После установки, создайте новое задание или отредактируйте существующее задание резервного копирования. В настройках задания на вкладке Advanced Disk-based Backup выберите Use offhost backup to move backup processing from the remote computer to the Backup Exec server.

На этом настройка закончена. Можете запустить задание и проверить работу SAN бекапа. В процессе выполнения задания можно видеть, как на СХД создается снапшот резервируемого тома.

Для сравнения скорость копирования по локальной сети.

Скорость копирования по SAN.

P.S. Важное замечание: В приведенном примере СРК должен быть физической машиной с подключением к SAN сети. Если Backup Exec установлен внутри ВМ, то при попытке выполнить SAN бекап вы получите сообщение об ошибке о невозможности создать и подключить снапшот тома.

P.P.S. Схожим образом может быть настроен бекап с другими системами хранения, в том числе и по iSCSI, например, в тестовых целях я настраивал бекап с HP P4000 VSA.