對於不具有直接網際網路存取權的隔離網路上的 vRealize Automation 安裝,您可以使用網際網路 Proxy 伺服器以允許「透過 Proxy 存取網際網路」功能。網際網路 Proxy 伺服器支援 HTTP 和 HTTPS。

若要透過 vRealize Automation 設定和使用公有雲提供者 (如 Amazon Web Services (AWS)、Microsoft AzureGoogle Cloud Platform (GCP)) 以及外部整合點 (例如 IPAM、Ansible 和 Puppet),您必須將網際網路 Proxy 伺服器設定為存取內部 vRealize Automation 網際網路 Proxy 伺服器。

vRealize Automation 包含與網際網路 Proxy 伺服器進行通訊的內部 Proxy 伺服器。如果您的 Proxy 伺服器已使用 vracli proxy set ... 命令進行設定,則此伺服器會與 Proxy 伺服器進行通訊。如果您尚未設定組織的網際網路 Proxy 伺服器,則 vRealize Automation 內部 Proxy 伺服器會嘗試直接連線至網際網路。

您可以使用提供的 vracli 命令列公用程式,將 vRealize Automation 設定為使用網際網路 Proxy 伺服器。有關如何使用 vracli API 的資訊,可透過在 vracli 命令列中使用 --help 引數取得,例如 vracli proxy –-help

存取網際網路 Proxy 伺服器時,需要使用 vRealize Automation 內建的以動作為基礎的擴充性 (ABX) 內部部署內嵌式控制。

備註:

不支援透過網際網路 Proxy 存取 Workspace ONE Access (先前稱為 VMware Identity Manager)。您無法使用 vracli set vidm 命令透過網際網路 Proxy 伺服器存取 Workspace ONE Access。

內部 Proxy 伺服器需要 IPv4 做為其預設 IP 格式。不需要對 TLS (HTTPS) 憑證流量設定網際網路通訊協定限制、驗證或攔截式動作。

必要條件

  • 確認您擁有可在 vRealize Automation 網路中用作網際網路 Proxy 伺服器的現有 HTTP 或 HTTPS 伺服器,以將傳出流量傳遞至外部站台。必須針對 IPv4 設定連線。
  • 確認目標網際網路 Proxy 伺服器已設定為支援 IPv4 (而非 IPv6) 做為其預設 IP 格式。
  • 如果網際網路 Proxy 伺服器使用 TLS,並且需要與其用戶端建立 HTTPS 連線,您必須在設定 Proxy 組態之前,使用下列其中一個命令匯入伺服器憑證。
    • vracli certificate proxy --set path_to_proxy_certificate.pem
    • vracli certificate proxy --set stdin

      使用 stdin 參數進行互動式輸入。

程序

  1. 針對 Kubernetes 所使用的網繭或容器建立 Proxy 組態。在此範例中,使用 HTTP 配置存取 Proxy 伺服器。

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

  2. 顯示 Proxy 組態。

    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"
    }
    
    備註: 如果已為組織設定網際網路 Proxy 伺服器,則上述範例中會顯示 "internal.proxy.config.type": "non-default",而不是 'default'。出於安全性考慮,不會顯示密碼。
    備註: 如果您使用 -proxy-exclude 參數,則必須編輯預設值。例如,如果您想要新增 acme.com 做為無法使用網際網路 Proxy 伺服器存取的網域,請使用下列步驟:
    1. 輸入 vracli proxy default-no-proxy 以取得預設 proxy-exclude 設定。這是自動產生的網域和網路的清單。
    2. 編輯值以新增 .acme.com
    3. 輸入 vracli proxy set .... --proxy-exclude ... 以更新組態設定。
    4. 執行 /opt/scripts/deploy.sh 命令以重新部署環境。
  3. (選擇性) 將 DNS 網域、FQDN 和 IP 位址排除在網際網路 Proxy 伺服器的存取範圍之外。

    一律使用 parameter --proxy-exclude 修改 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 將無法正常運作。如果發生此情況,請刪除 Proxy 組態並重新啟動。
  4. 使用 vracli proxy set ... 命令設定網際網路 Proxy 伺服器後,您可以使用 vracli proxy apply 命令更新網際網路 Proxy 伺服器組態,並將最新的 Proxy 設定設為作用中狀態。
  5. 如果您尚未執行此操作,請透過執行下列命令來啟動指令碼變更:

    /opt/scripts/deploy.sh

  6. (選擇性) 如有需要,請將 Proxy 伺服器設定為支援連接埠 22 上的外部存取權。

    若要支援 Puppet 和 Ansible 等整合,Proxy 伺服器必須允許連接埠 22 存取相關主機。

範例: 範例 Squid 組態

相對於步驟 1,如果您設定的是 Squid Proxy,則可以透過將其調整為下列範例來調整 /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