在云中首次启动 NetScaler 设备时应用 NetScaler VPX 配置

Last published : Oct 06, 2026
您可以在云环境中首次启动 NetScaler 设备时应用 NetScaler VPX 配置。本文档将此阶段称为 预启动 阶段。因此,在某些情况下,例如 ADC 池化许可,特定的 VPX 实例可以在更短的时间内启动。此功能在 Microsoft Azure、Google Cloud Platform 和 AWS 云中可用。

什么是用户数据

在云环境中预置 VPX 实例时,您可以选择将用户数据传递给该实例。用户数据允许您执行常见的自动化配置任务、自定义实例的启动行为,并在实例启动后运行脚本。首次启动时,NetScaler VPX 实例执行以下任务:
  • 读取用户数据。
  • 解析用户数据中提供的配置。
  • 在启动时应用新添加的配置。

如何在云实例中提供预启动用户数据

您可以以 XML 格式向云实例提供预启动用户数据。不同的云提供用户数据的接口也不同。

使用 AWS 控制台提供预启动用户数据

使用 AWS 控制台预置 NetScaler VPX 实例时,导航到 Configure Instance Details > Advanced Details,并在 User data 字段中提供预启动用户数据配置。
有关每个步骤的详细说明,请参阅 使用 AWS Web 控制台在 AWS 上部署 NetScaler VPX 实例。 有关更多信息,请参阅 AWS 文档中的 启动实例。
AWS 控制台用户数据
注意:
预启动用户数据功能的 AWS IMDSv2 仅限模式从 NetScaler VPX 13.1.48.x 及更高版本开始支持。

使用 AWS CLI 提供预启动用户数据

在 AWS CLI 中键入以下命令:
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --instance-type t2.micro \
    --count 1 \
    --subnet-id subnet-08fc749671b2d077c \
    --key-name MyKeyPair \
    --security-group-ids sg-0b0384b66d7d692f9 \
    --user-data file://my_script.txt
有关更多信息,请参阅 AWS 文档中的 运行实例。
有关更多信息,请参阅 AWS 文档中的 使用实例用户数据

使用 Azure 控制台提供预启动用户数据

使用 Azure 控制台预配 NetScaler VPX 实例时,导航到“创建虚拟机 > 高级”选项卡。在“自定义数据”字段中,提供预启动用户数据配置。
Azure 控制台

使用 Azure CLI 提供预启动用户数据

在 Azure CLI 中键入以下命令:
az vm create \
  --resource-group myResourceGroup \
  --name MyVm \
  --image debian \
  --custom-data MyCloudInitScript.txt \
示例:
az vm create --resource-group MyResourceGroup -name MyVm --image debian --custom-data MyCloudInitScript.txt
您可以将自定义数据或预启动配置作为文件传递给“--custom-data”参数。在此示例中,文件名为 MyCloudInitScript.txt。
有关更多信息,请参阅 Azure CLI 文档。

使用 GCP 控制台提供预启动用户数据

使用 GCP 控制台预配 NetScaler VPX 实例时,填写实例属性。展开“管理、安全性、磁盘、网络、独占租用”。导航到“管理”选项卡。在“自动化”部分中,在“启动脚本”字段中提供预启动用户数据配置。
有关使用 GCP 创建 VPX 实例的详细信息,请参阅 在 Google Cloud Platform 上部署 NetScaler VPX 实例。
GCP 控制台

使用 gcloud CLI 提供预启动用户数据

在 GCP CLI 中输入以下命令:
gcloud compute instances create INSTANCE_NAMES --metadata-from-file=startup-script=LOCAL_FILE_PATH
metadata-from-file - 从存储在 <LOCAL_FILE_PATH> 的文件中读取值或用户数据。
有关更多信息,请参阅 gcloud CLI 文档

预启动用户数据格式

预启动用户数据必须以 XML 格式提供给云实例。您在启动期间通过云基础设施提供的 NetScaler 预启动用户数据可包含以下四个部分:
  • 由 <NS-CONFIG> 标签表示的 NetScaler 配置。
  • 由 <NS-BOOTSTRAP> 标签表示的自定义引导 NetScaler。
  • 由 <NS-SCRIPTS> 标签表示的在 NetScaler 中存储用户脚本。
  • 由 <NS-LICENSE-CONFIG> 标签表示的池化许可配置。
您可以在 ADC 预启动配置中以任何顺序提供上述四个部分。 在提供预启动用户数据时,请务必严格遵循以下部分中所示的格式。
注意:
整个预启动用户数据配置必须包含在 <NS-PRE-BOOT-CONFIG> 标签中,如下例所示。
示例 1:
<NS-PRE-BOOT-CONFIG>
     <NS-CONFIG>          </NS-CONFIG>
     <NS-BOOTSTRAP>       </NS-BOOTSTRAP>
     <NS-SCRIPTS>         </NS-SCRIPTS>
     <NS-LICENSE-CONFIG>  </NS-LICENSE-CONFIG>
</NS-PRE-BOOT-CONFIG>
示例 2:
<NS-PRE-BOOT-CONFIG>
    <NS-LICENSE-CONFIG> </NS-LICENSE-CONFIG>
    <NS-SCRIPTS>        </NS-SCRIPTS>
    <NS-BOOTSTRAP>      </NS-BOOTSTRAP>
    <NS-CONFIG>         </NS-CONFIG>
</NS-PRE-BOOT-CONFIG>  
使用 <NS-CONFIG> 标签提供需要在预启动阶段应用于 VPX 实例的特定 NetScaler VPX 配置。
注意:
<NS-CONFIG> 部分必须包含有效的 ADC CLI 命令。不会验证 CLI 的语法错误或格式。

NetScaler 配置

使用 <NS-CONFIG> 标签提供需要在预启动阶段应用于 VPX 实例的特定 NetScaler VPX 配置。
注意:
<NS-CONFIG> 部分必须包含有效的 ADC CLI 命令。不会验证 CLI 的语法错误或格式。
示例:
在以下示例中,<NS-CONFIG> 部分包含配置详细信息。配置了 ID 为 '5' 的 VLAN 并将其绑定到 SNIP (5.0.0.1)。还配置了负载平衡虚拟服务器 (4.0.0.101)。
ADC 配置
您可以从此处复制在前面的屏幕截图中显示的配置:
<NS-PRE-BOOT-CONFIG>
     <NS-CONFIG>
         add vlan 5
         add ns ip 5.0.0.1 255.255.255.0
         bind vlan 5 -IPAddress 5.0.0.1 255.255.255.0
         enable ns feature WL SP LB RESPONDER
         add server 5.0.0.201 5.0.0.201
         add service preboot_s5_201 5.0.0.201 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip
 NO -useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
         add lb vserver preboot_v4_101 HTTP 4.0.0.101 80 -persistenceType NONE -cltTimeout 180
     </NS-CONFIG>
</NS-PRE-BOOT-CONFIG>
NetScaler VPX 实例将应用 <NS-CONFIG> 部分中的配置启动,如以下插图所示。
验证 VLAN 配置
验证服务器配置

用户脚本

使用 <NS-SCRIPTS> 标签提供必须存储并在 NetScaler VPX 实例中运行的任何脚本。
您可以在 <NS-SCRIPTS> 标签中包含许多脚本。每个脚本都必须包含在 <SCRIPT> 标签中。 每个 <SCRIPT> 部分对应一个脚本,并使用以下子标签包含脚本的所有详细信息。
  • <SCRIPT-NAME>: 指示必须存储的脚本文件的名称。
  • <SCRIPT-CONTENT>: 指示必须存储的文件的内容。
  • <SCRIPT-TARGET-LOCATION>: 指示必须存储此文件的指定目标位置。如果未提供目标位置,则默认情况下,文件或脚本将保存在“/nsconfig”目录中。
  • <SCRIPT-NS-BOOTUP>: 指定用于运行脚本的命令。
    • 如果您使用 <SCRIPT-NS-BOOTUP> 部分,则该部分中提供的命令将存储在“/nsconfig/nsafter.sh”中,并且这些命令将在数据包引擎启动后作为“nsafter.sh”执行的一部分运行。
    • 如果您不使用 <SCRIPT-NS-BOOTUP> 部分,则脚本文件将存储在您指定的目标位置。
示例 1:
在此示例中,<NS-SCRIPTS> 标签仅包含一个脚本的详细信息:script-1.sh。“script-1.sh”脚本保存在“/var”目录中。脚本将填充指定内容,并在数据包引擎启动后使用“sh /var/script-1.sh”命令运行。
脚本1
您可以从此处复制前面屏幕截图中显示的配置:
<NS-PRE-BOOT-CONFIG>
    <NS-SCRIPTS>
    <SCRIPT>
            <SCRIPT-CONTENT>
                #Shell script
                echo "Running script 1" > /var/script-1.output
                date >> /var/script-1.output
            </SCRIPT-CONTENT>

                <SCRIPT-NAME> script-1.sh </SCRIPT-NAME>
                <SCRIPT-TARGET-LOCATION> /var/ </SCRIPT-TARGET-LOCATION>
                <SCRIPT-NS-BOOTUP>sh /var/script-1.sh</SCRIPT-NS-BOOTUP>
        </SCRIPT>
    </NS-SCRIPTS>
</NS-PRE-BOOT-CONFIG>
在以下快照中,您可以验证“script-1.sh”脚本是否保存在“/var/”目录中。“Script-1.sh”脚本已运行,并已相应地创建了输出文件。
脚本1输出
示例 2:
在以下示例中,<NS-SCRIPTS> 标签包含两个脚本的详细信息。
  • 第一个脚本以“script-1.sh”的形式保存在“/var”目录中。该脚本填充了指定内容,并在数据包引擎启动后通过命令“sh /var/script-1.sh”运行。
  • 第二个脚本以“file-2.txt”的形式保存在“/var”目录中。此文件填充了指定内容。但它不会运行,因为未提供启动执行命令 <SCRIPT-NS-BOOTUP>。
脚本2
您可以从此处复制前面屏幕截图中显示的配置:
<NS-PRE-BOOT-CONFIG>
    <NS-SCRIPTS>
        <SCRIPT>
            <SCRIPT-CONTENT>
               #Shell script
               echo "Running script 1" > /var/script-1.output
               date >> /var/script-1.output
            </SCRIPT-CONTENT>

            <SCRIPT-NAME>  script-1.sh  </SCRIPT-NAME>
            <SCRIPT-TARGET-LOCATION> /var/  </SCRIPT-TARGET-LOCATION>
            <SCRIPT-NS-BOOTUP>sh /var/script-1.sh</SCRIPT-NS-BOOTUP>
            </SCRIPT>

        <SCRIPT>
            <SCRIPT-CONTENT>
                This script has no execution point.
                It will just be saved at the target location
                NS Consumer module should consume this script/file
            </SCRIPT-CONTENT>
            <SCRIPT-NAME>file-2.txt</SCRIPT-NAME>
            <SCRIPT-TARGET-LOCATION>/var/</SCRIPT-TARGET-LOCATION>
        </SCRIPT>
    </NS-SCRIPTS>
</NS-PRE-BOOT-CONFIG>
在以下快照中,您可以验证 script-1.sh 和 file-2.txt 已在“/var/”目录中创建。Script-1.sh 已运行,并已正确创建输出文件。
脚本2输出

许可

使用 <NS-LICENSE-CONFIG> 标签在启动 VPX 实例时应用 NetScaler 池化许可。在 <NS-LICENSE-CONFIG> 部分中使用 <LICENSE-COMMANDS> 标签提供池化许可命令。这些命令必须在语法上有效。
您可以使用标准池化许可命令在 <LICENSE-COMMANDS> 部分中指定池化许可详细信息,例如许可证类型、容量和许可证服务器。有关详细信息,请参阅配置 NetScaler 池化容量许可。
应用 <NS-LICENSE-CONFIG> 后,VPX 在启动时会显示请求的版本,并且 VPX 会尝试从许可证服务器签出配置的许可证。
  • 如果许可证签出成功,则会将配置的带宽应用于 VPX。
  • 如果许可证签出失败,则大约在 10-12 分钟内无法从许可证服务器检索到许可证。结果,系统将重新启动并进入未授权状态。
示例:
在以下示例中,应用 <NS-LICENSE-CONFIG> 后,VPX 在启动时会以 Premium 版本启动,并且 VPX 会尝试从许可证服务器 (10.102.38.214) 签出配置的许可证。
许可证命令
您可以从此处复制前面屏幕截图中显示的配置:
<NS-PRE-BOOT-CONFIG>
   <NS-LICENSE-CONFIG>
        <LICENSE-COMMANDS>
            add ns licenseserver 10.102.38.214 -port 2800
            set ns capacity -unit gbps -bandwidth 3  edition platinum
        </LICENSE-COMMANDS>
    </NS-LICENSE-CONFIG>
</NS-PRE-BOOT-CONFIG>
如以下插图所示,您可以运行“show license server”命令,并验证许可证服务器 (10.102.38.214) 已添加到 VPX。
显示许可证服务器

引导

使用 <NS-BOOTSTRAP> 标签提供自定义引导信息。您可以在 <NS-BOOTSTRAP> 部分中使用 <SKIP-DEFAULT-BOOTSTRAP> 和 <NEW-BOOTSTRAP-SEQUENCE> 标签。此部分告知 NetScaler 设备是否避免默认引导。如果避免默认引导,此部分将为您提供一个选项来提供新的引导序列。

默认引导配置

NetScaler 设备中的默认引导配置遵循以下接口分配:
  • Eth0 - 具有特定 NSIP 地址的管理接口。
  • Eth1 - 具有特定 VIP 地址的面向客户端的接口。
  • Eth2 - 具有特定 SNIP 地址的面向服务器的接口。

自定义引导配置

您可以跳过默认引导序列,为 NetScaler VPX 实例提供新的引导序列。使用 <NS-BOOTSTRAP> 标签提供自定义引导信息。例如,您可以更改默认引导,其中管理接口 (NSIP)、面向客户端的接口 (VIP) 和面向服务器的接口 (SNIP) 始终按特定顺序提供。
下表显示了 <SKIP-DEFAULT-BOOTSTRAP> 和 <NEW-BOOTSTRAP-SEQUENCE> 标签允许的不同值所对应的引导行为。
SKIP-DEFAULT-BOOTSTRAP NEW-BOOTSTRAP-SEQUENCE 引导行为
是 是 跳过默认的引导行为,并运行<NS-BOOTSTRAP>部分中提供的新自定义引导序列。
是 否 跳过默认的引导行为。运行<NS-CONFIG>部分中提供的引导命令。
您可以通过以下三种方法自定义引导配置:
  • 仅提供接口详细信息
  • 提供接口详细信息以及 IP 地址和子网掩码
  • 在<NS-CONFIG>部分中提供与引导相关的命令

方法 1:仅通过指定接口详细信息进行自定义引导

您指定管理、面向客户端和面向服务器的接口,但不指定它们的 IP 地址和子网掩码。IP 地址和子网掩码通过查询云基础设施来填充。

适用于 AWS 的自定义引导示例

您按照以下示例提供自定义引导序列。有关详细信息,请参阅 如何在云实例中提供预引导用户数据。Eth1 接口被分配为管理接口 (NSIP),Eth0 接口作为客户端接口 (VIP),Eth2 接口作为服务器接口 (SNIP)。<NS-BOOTSTRAP> 部分仅包含接口详细信息,不包含 IP 地址和子网掩码的详细信息。
AWS 自定义引导方法 1
创建 VM 实例后,在 AWS 门户中,您可以按如下方式验证网络接口属性:
  1. 导航到 AWS 门户 > EC2 实例,并选择您通过提供自定义引导信息创建的实例。
  2. 在描述选项卡中,您可以验证每个网络接口的属性,如以下插图所示。
AWS eth1AWS eth0AWS eth2
您可以在 ADC CLI 中运行 show nsip 命令,并验证在 ADC 设备首次启动期间应用于 NetScaler VPX 实例的网络接口。
AWS 显示 NSIP 方法 1

适用于 Azure 的自定义引导示例

您按照以下示例提供自定义引导序列。有关详细信息,请参阅 如何在云实例中提供预引导用户数据。Eth2 接口被分配为管理接口 (NSIP),Eth1 接口作为客户端接口 (VIP),Eth0 接口作为服务器接口 (SNIP)。<NS-BOOTSTRAP> 部分仅包含接口详细信息,不包含 IP 地址和子网掩码的详细信息。
Azure 自定义引导方法 1
您可以看到 NetScaler VPX 实例是使用三个网络接口创建的。导航到 Azure 门户 > VM 实例 > 网络,并验证这三个 NIC 的网络属性,如以下插图所示。
Azure 服务器方法1Azure 客户端方法1Azure 管理方法1
您可以在 ADC CLI 中运行 "show nsip" 命令,并验证 <NS-BOOTSTRAP> 部分中指定的新引导序列是否已应用。您可以运行 "show route" 命令来验证子网掩码。
Azure show nsip 命令的截图

GCP 的自定义引导示例

您可以按照以下示例提供自定义引导序列。有关更多信息,请参阅 如何在云实例中提供预引导用户数据。Eth1 接口被分配为管理接口 (NSIP),Eth0 接口被分配为客户端接口 (VIP),Eth2 接口被分配为服务器接口 (SNIP)。<NS-BOOTSTRAP> 部分仅包含接口详细信息,不包含 IP 地址和子网掩码的详细信息。
GCP 方法1
在 GCP 门户中创建 VM 实例后,您可以按如下方式验证网络接口属性:
  1. 选择您通过提供自定义引导信息创建的实例。
  2. 导航到“网络接口属性”并按如下方式验证 NIC 详细信息:
GCP 方法1
您可以在 ADC CLI 中运行 show nsip 命令,并验证在 ADC 设备首次启动期间应用于 NetScaler VPX 实例的网络接口。
Gcp-show-nsip-方法1

方法 2:通过指定接口、IP 地址和子网掩码进行自定义引导

您需要指定管理、面向客户端和面向服务器的接口及其 IP 地址和子网掩码。

AWS 的自定义引导示例

在以下示例中,您将跳过默认引导,并为 NetScaler 设备运行新的引导序列。对于新的引导序列,您需要指定以下详细信息:
  • 管理接口: 接口 - Eth1,NSIP - 172.31.52.88,子网掩码 - 255.255.240.0
  • 面向客户端的接口: 接口 - Eth0,VIP - 172.31.5.155,子网掩码 - 255.255.240.0。
  • 面向服务器的接口: 接口 - Eth2,SNIP - 172.31.76.177,子网掩码 - 255.255.240.0。
AWS 自定义引导方法2
您可以在 ADC CLI 中运行 show nsip 命令,并验证 <NS-BOOTSTRAP> 部分中指定的新引导序列是否已应用。您可以运行“show route”命令来验证子网掩码。
AWS 显示 NSIP 方法2

Azure 的自定义引导示例

在以下示例中,提到了 ADC 的新引导序列,并跳过了默认引导。您需要提供接口详细信息以及 IP 地址和子网掩码,如下所示:
  • 管理接口 (eth2)、NSIP (172.27.2.53) 和子网掩码 (255.255.255.0)
  • 面向客户端的接口 (eth1)、VIP (172.27.1.53) 和子网掩码 (255.255.255.0)
  • 面向服务器的接口 (eth0)、SNIP (172.27.0.53) 和子网掩码 (255.255.255.0)
Azure 自定义引导方法2
您可以看到 NetScaler VPX 实例是使用三个网络接口创建的。导航到 Azure 门户 > 虚拟机实例 > 网络,并验证三个网卡的网络属性,如以下插图所示。
Azure 管理接口方法2Azure 客户端接口方法2Azure 服务器接口方法2
您可以在 ADC CLI 中运行 show nsip 命令,并验证 <NS-BOOTSTRAP> 部分中指定的新引导序列是否已应用。您可以运行“show route”命令来验证子网掩码。
Azure 显示 nsip 方法2

GCP 的自定义引导示例

在以下示例中,提到了 ADC 的新引导序列,并跳过了默认引导。您提供接口详细信息以及 IP 地址和子网掩码,如下所示:
  • 管理接口 (eth2)、NSIP (10.128.4.31) 和子网掩码 (255.255.255.0)
  • 面向客户端的接口 (eth1)、VIP (10.128.0.43) 和子网掩码 (255.255.255.0)
  • 面向服务器的接口 (eth0)、SNIP (10.160.0.75) 和子网掩码 (255.255.255.0)
GCP 方法2
在 GCP 门户中使用自定义引导创建虚拟机实例后,您可以按如下方式验证网络接口属性:
  1. 选择您通过提供自定义引导信息创建的实例。
  2. 导航到网络接口属性,并按如下方式验证网卡详细信息。
GCP 网卡详细信息(/en-us/vpx/media/gcp-nic-method2.png)
您可以在 ADC CLI 中运行 show nsip 命令,并验证 <NS-BOOTSTRAP> 部分中指定的新引导序列是否已应用。您可以运行“show route”命令来验证子网掩码。
GCP show nsip 命令(/en-us/vpx/media/gcp-show-nsip-method2.png)

方法 3:通过在 <NS-CONFIG> 部分中提供引导相关命令进行自定义引导

您可以在 <NS-CONFIG> 部分中提供引导相关命令。在 <NS-BOOTSTRAP> 部分中,您必须将 <NEW-BOOTSTRAP-SEQUENCE> 指定为“否”才能运行 <NS-CONFIG> 部分中的引导命令。您还必须提供用于分配 NSIP、默认路由和 NSVLAN 的命令。此外,请提供与您使用的云相关的命令。
在提供自定义引导之前,请确保您的云基础架构支持特定的接口配置。

适用于 AWS 的自定义引导示例

在此示例中,引导相关命令在 <NS-CONFIG> 部分中提供。<NS-BOOTSTRAP> 部分指示跳过默认引导,并运行 <NS-CONFIG> 部分中提供的自定义引导信息。您还必须提供用于创建 NSIP、添加默认路由和添加 NSVLAN 的命令。
AWS 自定义引导方法3(/en-us/vpx/media/aws-custom-bootstrap-method3.png)
您可以从此处复制前面屏幕截图中显示的配置:
<NS-PRE-BOOT-CONFIG>
    <NS-CONFIG>

        set ns config -IPAddress 172.31.52.88 -netmask 255.255.240.0
        add route 0.0.0.0 0.0.0.0 172.31.48.1
        set ns config -nsvlan 10 -ifnum 1/2  -tagged NO
        add route 172.31.0.2 255.255.255.255 172.31.48.1

        enable ns feature WL SP LB RESPONDER
        add server 5.0.0.201 5.0.0.201
        add service preboot_s5_201 5.0.0.201 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO - useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
        add lb vserver preboot_v4_101 HTTP 4.0.0.101 80 -persistenceType NONE -cltTimeout 180

    </NS-CONFIG>

    <NS-BOOTSTRAP>
     <SKIP-DEFAULT-BOOTSTRAP>YES</SKIP-DEFAULT-BOOTSTRAP>
     <NEW-BOOTSTRAP-SEQUENCE> NO </NEW-BOOTSTRAP-SEQUENCE>
    </NS-BOOTSTRAP>


</NS-PRE-BOOT-CONFIG>
创建 VM 实例后,在 AWS 门户中,您可以按如下方式验证网络接口属性:
  1. 导航到 AWS Portal > EC2 实例,并选择您通过提供自定义引导信息创建的实例。
  2. 在“描述”选项卡中,您可以验证每个网络接口的属性,如下图所示。
AWS eth1 方法3(/en-us/vpx/media/aws-eth1-method3.png)
AWS eth0 方法3(/en-us/vpx/media/aws-eth0-method3.png)
AWS eth2 方法3
您可以在 ADC CLI 中运行 show nsip 命令,并验证在 ADC 设备首次启动期间应用于 NetScaler VPX 实例的网络接口。
AWS show nsip 方法3

Azure 的自定义引导示例

在此示例中,引导相关命令在 <NS-CONFIG> 部分中提供。<NS-BOOTSTRAP> 部分指示跳过默认引导,并运行 <NS-CONFIG> 部分中提供的自定义引导信息。
注意:
对于 Azure 云,实例元数据服务器 (IMDS) 和 DNS 服务器只能通过主接口 (Eth0) 访问。因此,如果 Eth0 接口未用作管理接口 (NSIP),则 Eth0 接口至少必须配置为 SNIP,IMDS 或 DNS 访问才能正常工作。还必须添加通过 Eth0 网关到 IMDS 端点 (169.254.169.254) 和 DNS 端点 (168.63.129.16) 的路由。
Azure 自定义引导 方法3<NS-PRE-BOOT-CONFIG>

   <NS-CONFIG>

        set ns config -IPAddress 172.27.2.61 -netmask 255.255.255.0
        add route 0.0.0.0   0.0.0.0   172.27.2.1
        set ns config -nsvlan 10 -ifnum 1/2  -tagged NO
        add ns ip 172.27.0.61   255.255.255.0   -type SNIP
        add route 169.254.169.254 255.255.255.255 172.27.0.1
        add route 168.63.129.16 255.255.255.255 172.27.0.1

        add vlan 5
        bind vlan 5 -IPAddress 5.0.0.1 255.255.255.0
        enable ns feature WL SP LB RESPONDER
        add server 5.0.0.201 5.0.0.201
        add service preboot_s5_201 5.0.0.201 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
        add lb vserver preboot_v4_101 HTTP 4.0.0.101 80 -persistenceType NONE -cltTimeout 180

    </NS-CONFIG>

    <NS-BOOTSTRAP>

    <SKIP-DEFAULT-BOOTSTRAP>YES</SKIP-DEFAULT-BOOTSTRAP>
    <NEW-BOOTSTRAP-SEQUENCE> NO </NEW-BOOTSTRAP-SEQUENCE>

    </NS-BOOTSTRAP>

</NS-PRE-BOOT-CONFIG>
您可以看到 NetScaler VPX 实例是使用三个网络接口创建的。导航到 Azure portal > VM instance > Networking,并验证三个 NIC 的网络属性,如以下插图所示。
Azure 服务器接口Azure 客户端接口Azure 管理接口
您可以在 ADC CLI 中运行 show nsip 命令,并验证 <NS-BOOTSTRAP> 部分中指定的新引导序列是否已应用。您可以运行“show route”命令来验证子网掩码。
Azure 显示 NSIP 方法3

GCP 的自定义引导示例

在此示例中,引导相关命令在 <NS-CONFIG> 部分提供。<NS-BOOTSTRAP> 部分指示跳过默认引导,并应用 <NS-CONFIG> 部分中提供的自定义引导信息。
GCP 方法3
您可以从此处复制前面屏幕截图中显示的配置:
<NS-PRE-BOOT-CONFIG>

    <NS-CONFIG>

        set ns config -IPAddress 10.128.0.2 -netmask 255.255.255.0
        add route 0.0.0.0 0.0.0.0 10.128.0.1
        set ns config -nsvlan 10 -ifnum 1/1  -tagged NO

        enable ns feature WL SP LB RESPONDER
        add server 5.0.0.201 5.0.0.201
        add service preboot_s5_201 5.0.0.201 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
        add lb vserver preboot_v4_101 HTTP 4.0.0.101 80 -persistenceType NONE -cltTimeout 180

    </NS-CONFIG>

    <NS-BOOTSTRAP>
        <SKIP-DEFAULT-BOOTSTRAP>YES</SKIP-DEFAULT-BOOTSTRAP>
        <NEW-BOOTSTRAP-SEQUENCE> NO </NEW-BOOTSTRAP-SEQUENCE>
    </NS-BOOTSTRAP>

</NS-PRE-BOOT-CONFIG>
在 GCP 门户中使用自定义引导创建 VM 实例后,您可以按如下方式验证网络接口属性:
  1. 选择您通过提供自定义引导信息创建的实例。
  2. 导航到“网络接口属性”并验证 NIC 详细信息,如插图所示。
GCP 控制台中显示的 NIC 详细信息
您可以在 ADC CLI 中运行 show nsip 命令,并验证前面 <NS-CONFIG> 部分中提供的配置是否在 ADC 设备首次启动时应用。
显示 NSIP 输出

在 AWS 和 Azure 中连接和分离 NIC 的影响

AWS 和 Azure 提供了将网络接口连接到实例以及从实例分离网络接口的选项。连接或分离接口可能会改变接口位置。因此,Citrix 建议您不要从 NetScaler VPX 实例分离接口。如果在配置自定义引导时分离或连接接口,NetScaler VPX 实例会将新可用接口的主 IP 重新分配为管理接口位置的 NSIP。如果您分离的接口之后没有其他接口可用,则第一个接口将成为 NetScaler VPX 实例的管理接口。
例如,一个 NetScaler VPX 实例启动时带有 3 个接口:Eth0 (SNIP)、Eth1 (NSIP) 和 Eth2 (VIP)。如果您从实例中分离 Eth1 接口(这是一个管理接口),ADC 会将下一个可用接口 (Eth2) 配置为管理接口。因此,NetScaler VPX 实例仍然可以通过 Eth2 接口的主 IP 访问。如果 Eth2 也不可用,则剩余的接口 (Eth0) 将成为管理接口。因此,对 NetScaler VPX 实例的访问将继续存在。
让我们考虑以下不同的接口分配:Eth0 (SNIP)、Eth1 (VIP) 和 Eth2 (NSIP)。如果您分离 Eth2 (NSIP),由于 Eth2 之后没有新的接口可用,第一个接口 (Eth0) 将成为管理接口。