Для установленных систем vRealize Automation в изолированных сетях без прямого доступа к Интернету можно использовать прокси-сервер Интернета, чтобы разрешить функцию Интернета через прокси-сервер. Прокси-сервер Интернета поддерживает HTTP и HTTPS.

Чтобы настроить и использовать поставщиков общедоступных облачных служб, таких как Amazon Web Services (AWS), Microsoft Azure и Google Cloud Platform (GCP), а также внешние точки интеграции, такие как IPAM, Ansible и Puppet, с vRealize Automation, необходимо настроить прокси-сервер Интернета для доступа к внутреннему прокси-серверу Интернета vRealize Automation.

vRealize Automation содержит внутренний прокси-сервер, который взаимодействует с прокси-сервером Интернета. Данный сервер взаимодействует с прокси-сервером, если он настроен с помощью команды vracli proxy set .... Если для организации прокси-сервер Интернета не настроен, то внутренний прокси-сервер vRealize Automation будет пытаться подключиться к Интернету напрямую.

vRealize Automation можно настроить на использование прокси-сервера Интернета с помощью служебной программы командной строки vracli. Сведения об использовании API-интерфейса vracli доступны при использовании аргумента --help в командной строке vracli , например vracli proxy –-help.

Для доступа к прокси-серверу Интернета требуется использовать локальные элементы управления расширяемости на основе действий (ABX), встроенные в vRealize Automation.

Примечание:

Доступ к Workspace ONE Access (который раньше назывался VMware Identify Manager) не поддерживается с помощью прокси-сервера Интернета. Для доступа к Workspace ONE Access через прокси-сервер Интернета команду vracli set vidm использовать нельзя.

Для внутреннего прокси-сервера в качестве IP-формата по умолчанию требуется IPv4. Данный протокол не требует ограничений для IP-протокола, проверки подлинности или действий по защите «злоумышленник посередине» для трафика сертификата TLS (HTTPS).

Необходимые условия

  • Убедитесь, что в сети vRealize Automation, способной передавать исходящий трафик на внешние сайты, у вас есть существующий сервер HTTP или HTTPS, который можно использовать в качестве прокси-сервера Интернета. Подключение должно быть настроено для IPv4.
  • Убедитесь, что целевой прокси-сервер в Интернете настроен на поддержку протокола IPv4 в качестве IP-формата по умолчанию, а не IPv6.
  • Если прокси-сервер Интернета использует протокол TLS и требует подключение по протоколу HTTPS к своим клиентам, то перед его настройкой необходимо импортировать сертификат сервера с помощью одной из следующих команд.
    • vracli certificate proxy --set path_to_proxy_certificate.pem
    • vracli certificate proxy --set stdin

      Для интерактивного ввода используйте параметр stdin.

Процедура

  1. Создайте конфигурацию прокси-сервера для модулей или контейнеров, которые используются Kubernetes. В этом примере доступ к прокси-серверу осуществляется с помощью схемы HTTP.

    vracli proxy set --host http://proxy.vmware.com:3128

  2. Отобразите конфигурацию прокси-сервера.

    vracli proxy show

    Результат будет примерно следующим.
    {
        "enabled": true,
        "host": "10.244.4.51",
        "java-proxy-exclude": "*.local|*.localdomain|localhost|10.244.*|192.168.*|172.16.*|kubernetes|sc2-rdops-vm06-dhcp-198-120.eng.vmware.com|10.192.204.9|*.eng.vmware.com|sc2-rdops-vm06-dhcp-204-9.eng.vmware.com|10.192.213.146|sc2-rdops-vm06-dhcp-213-146.eng.vmware.com|10.192.213.151|sc2-rdops-vm06-dhcp-213-151.eng.vmware.com",
        "java-user": null,
        "password": null,
        "port": 3128,
        "proxy-exclude": ".local,.localdomain,localhost,10.244.,192.168.,172.16.,kubernetes,sc2-rdops-vm06-dhcp-198-120.eng.vmware.com,10.192.204.9,.eng.vmware.com,sc2-rdops-vm06-dhcp-204-9.eng.vmware.com,10.192.213.146,sc2-rdops-vm06-dhcp-213-146.eng.vmware.com,10.192.213.151,sc2-rdops-vm06-dhcp-213-151.eng.vmware.com",
        "scheme": "http",
        "upstream_proxy_host": null,
        "upstream_proxy_password_encoded": "",
        "upstream_proxy_port": null,
        "upstream_proxy_user_encoded": "",
        "user": null,
        "internal.proxy.config": "dns_v4_first on \nhttp_port 0.0.0.0:3128\nlogformat squid %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt\naccess_log stdio:/tmp/logger squid\ncoredump_dir /\ncache deny all \nappend_domain .prelude.svc.cluster.local\nacl mylan src 10.0.0.0/8\nacl mylan src 127.0.0.0/8\nacl mylan src 192.168.3.0/24\nacl proxy-exclude dstdomain .local\nacl proxy-exclude dstdomain .localdomain\nacl proxy-exclude dstdomain localhost\nacl proxy-exclude dstdomain 10.244.\nacl proxy-exclude dstdomain 192.168.\nacl proxy-exclude dstdomain 172.16.\nacl proxy-exclude dstdomain kubernetes\nacl proxy-exclude dstdomain 10.192.204.9\nacl proxy-exclude dstdomain .eng.vmware.com\nacl proxy-exclude dstdomain 10.192.213.146\nacl proxy-exclude dstdomain 10.192.213.151\nalways_direct allow proxy-exclude\nhttp_access allow mylan\nhttp_access deny all\n# End autogen configuration\n",
        "internal.proxy.config.type": "default"
    }
    
    Примечание: Если для организации настроен прокси-сервер Интернета, то в примере выше отображается "internal.proxy.config.type": "non-default", а не 'default'. В целях безопасности пароль не отображается.
    Примечание: В случае использования параметра -proxy-exclude необходимо изменить значения по умолчанию. Например, если необходимо добавить acme.com как домен, к которому нельзя получить доступ с помощью прокси-сервера Интернета, выполните следующие действия.
    1. а.Введите vracli proxy default-no-proxy, чтобы получить параметры исключения прокси-сервера по умолчанию. Это список автоматически создаваемых доменов и сетей.
    2. б.Измените значение, чтобы добавить .acme.com.
    3. в.Введите vracli proxy set .... --proxy-exclude ..., чтобы обновить параметры конфигурации.
    4. г.Выполните команду /opt/scripts/deploy.sh, чтобы повторно развернуть среду.
  3. (Необязательно) Исключите домены DNS, полные доменные имена и IP-адреса из доступа через прокси-сервер Интернета.

    Всегда изменяйте значения по умолчанию переменной proxy-exclude с помощью parameter --proxy-exclude. Чтобы добавить exclude.vmware.com для домена, сначала используйте команду vrali proxy show, затем скопируйте переменную proxy-exclude и добавьте значение домена с помощью команды vracli proxy set ..., как показано ниже.

    vracli proxy set --host http://proxy.vmware.com:3128 --proxy-exclude "exclude.vmware.com,docker-registry.prelude.svc.cluster.local,localhost,.local,.cluster.local,10.244.,192.,172.16.,sc-rdops-vm11-dhcp-75-38.eng.vmware.com,10.161.75.38,.eng.vmware.com"
    Примечание: Добавьте элементы в proxy-exclude вместо замены значений. Если удалить значения по умолчанию proxy-exclude, то vRealize Automation не будет работать должным образом. В этом случае необходимо удалить конфигурацию прокси-сервера и начать заново.
  4. После настройки прокси-сервера в Интернете с помощью команды vracli proxy set ... можно использовать команду vracli proxy apply для обновления конфигурации прокси-сервера Интернета и активации новых настроек прокси-сервера.
  5. Если это еще не сделано, активируйте изменения сценария, выполнив следующую команду.

    /opt/scripts/deploy.sh

  6. (Необязательно) При необходимости настройте прокси-сервер на поддержку внешнего доступа через порт 22.

    Для поддержки интеграций, например Puppet и Ansible, прокси-сервер должен разрешать порту 22 получать доступ к соответствующим узлам.

Пример: Образец настройки Squid

Применительно к шагу 1: если вы настраиваете прокси-сервер Squid, можно настроить конфигурацию в /etc/squid/squid.conf с учетом следующих изменений:

acl localnet src 192.168.11.0/24

acl SSL_ports port 443

acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

http_access allow !Safe_ports
http_access allow CONNECT !SSL_ports
http_access allow localnet

http_port 0.0.0.0:3128

maximum_object_size 5 GB
cache_dir ufs /var/spool/squid 20000 16 256
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320

client_persistent_connections on
server_persistent_connections on