Citrix ADC

常见问题

超时

重要的

使用前任何nsapimgr旋钮,请咨询思杰客户支持。

下面是可以在Citrix ADC T1虚拟服务器和服务上设置的不同空闲连接超时的列表。为vserver级或服务级的客户端或服务器连接设置的空闲超时时间只适用于TCP ESTABLISHED状态的空闲连接。

  • 负载均衡虚拟服务器cltTimeout参数指定从客户机到负载均衡虚拟服务器的连接在设备关闭连接之前必须处于空闲状态的时间(以秒为单位)。
  • Service svrTimeout参数指定从设备到服务或服务器的连接在设备关闭连接之前必须处于空闲状态的时间(以秒为单位)。
  • Service cltTimeout参数指定从客户端到服务的连接在设备关闭连接之前必须处于空闲状态的时间(以秒为单位)。

当服务绑定到负载均衡虚拟服务器时,负载均衡虚拟服务器的cltTimeout优先,服务的cltTimeout被忽略。

在没有服务绑定到负载均衡虚拟服务器的情况下,服务器端连接使用全局空闲超时tcpServer。可配置如下:

命令:

set ns timeout -tcpServer 9000 

其他状态的连接有不同的超时值:

  • 半打开的连接空闲超时:120秒(硬编码值)
  • TIME_WAIT连接空闲超时:40秒(硬编码值)
  • 半关闭连接空闲超时。默认情况下是10秒,可以使用代码段在1秒到600秒之间配置

命令:

设置ns timeout -halfclose 10 

当触发半关闭超时时,连接转移到僵尸状态。当僵尸超时到期时,僵尸清理开始生效,缺省情况下,T1在给定连接的客户端和服务器端都发送RST。

  • 僵尸超时:僵尸清理进程必须运行的时间间隔,以清理不活动的TCP连接。缺省超时时间为120s,可在1s ~ 600s之间配置。

命令:

设置ns timeout -zombie 120 

最大分段尺寸表

Citrix ADC T1设备通过使用SYN cookie来防御SYN flood攻击,而不是在系统内存堆栈上维护半开的连接。该设备向请求TCP连接的每个客户机发送一个cookie,但它不维护半打开连接的状态。相反,设备只在接收到最后的ACK包时为连接分配系统内存,或者对于HTTP流量,在接收到HTTP请求时为连接分配系统内存。这可以防止SYN攻击,并允许正常的TCP通信与合法的客户端继续不间断。指定功能默认启用,不设置禁用。

然而,有一个警告,标准SYN cookie限制连接只使用8个最大段大小(MSS)值。如果连接MMS与任何预定义值不匹配,它将从客户端和服务器端拾取下一个可用的较低值。

预定义的TCP最大段大小(MSS)值如下,可以通过一个新的nsapimgr旋钮进行配置。

1460 1440 1330 1220 956 536 384 128

新的MSS表:

  • 不需要包含大帧支持。即使默认情况下MSS表中为巨型帧保留了8个值,表设置也可以修改为只包含标准以太网大小的帧。
  • 应该有16个值
  • 应该有降序的值
  • 是否应该将128作为最后一个值

如果新的MSS表有效,则存储该表,并在SYN-cookie旋转时切换旧值。否则,新表将返回错误。更改应用于新连接,而现有连接保留旧的MSS表,直到连接到期或终止。

要显示Citrix ADC设备中的当前MSS表,请键入以下命令。

命令:

>shell #nsapimgr -d mss_table . sh

例子:

#nsapimgr -d mss_table MSS表{9176,9156,8192,7168,6144,4196,3072,2048,1460,1440,1330,1212,956,536,384,128}完成。

要更改mss表,输入以下命令:

命令:

>shell #nsapimgr -s mss_table=<16逗号分隔的值>

例子:

#nsapimgr -ys mss_table=9176,9156,8192,7168,6144,4196,3072,2048,1460,1400,1330,1212,956,536,384,128 #nsapimgr -d mss_table MSS表{9176,9156,8192,7168,6144,4196,3072,2048,1460,1400,1330,1212,956,536,384,128}完成。

下面描述了一个使用标准以太网大小值的示例:

例子:

#nsapimgr -ys mss_table= 1460,1440,1420,1400,1380,1360,1340,1320,1320,1300,1280,1260,1212,956,536,384,128 #nsapimgr -d mss_table MSS表{1460,1440,1420,1400,1380,1360,1340,1320,1320,1300,1280,1260,1212,956,536,384,128}完成。

要使此更改永久存在,即使在Citrix ADC设备重新启动之后,也要包含该命令#nsapimgr -ys mss_table=<16逗号分隔的值>在/nsconfig/rc.netscaler文件中。如果“rc.netscaler”文件不存在,在“/nsconfig”文件夹下创建它,然后追加命令。

内存过载保护

如果Citrix ADC包处理引擎(PPE)使用的内存超过指定的高水位值,则该PPE开始从TCP优化绕过连接。如果PPE内存利用率超过~2.6GB,那么它将开始绕过任何新连接的优化。现有的连接(以前被允许进行优化的连接)继续得到优化。此水印值已被有意选择,不建议用于调优。

请注意

如果您认为有很好的理由更改该水印值,请联系客户支持。

支持Happy Eyeballs客户端

如果Citrix ADC设备接收到状态未知的目的地的SYN,则该设备首先检查服务器的可达性,然后确认客户机。这种探测机制使具有双IP栈的客户端能够发现双IP栈internet服务器的可达性。如果客户端发现IPv6和IPv4访问都可用,它会建立一个连接到响应更快的服务器,并重置另一个服务器。对于Citrix ADC设备的连接接收到重置,它将重置相应的服务器端连接。

请注意:该特性没有在Citrix ADC设备上禁用/启用的用户可配置TCP设置。

有关Happy Eyeballs支持的更多信息,请参见RFC 6555。

常见问题