Download full document:

nsacl

Configuration for ACL entry resource.

Properties

(click to see Operations)

Name Data Type PermissionsDescription
aclname<String>Read-writeName for the extended ACL rule. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Cannot be changed after the extended ACL rule is created.<br>Minimum length = 1
aclaction<String>Read-writeAction to perform on incoming IPv4 packets that match the extended ACL rule. Available settings function as follows: * ALLOW - The NetScaler appliance processes the packet. * BRIDGE - The NetScaler appliance bridges the packet to the destination without processing it. * DENY - The NetScaler appliance drops the packet.<br>Possible values = BRIDGE, DENY, ALLOW
td<Double>Read-writeInteger value that uniquely identifies the traffic domain in which you want to configure the entity. If you do not specify an ID, the entity becomes part of the default traffic domain, which has an ID of 0.<br>Minimum value = 0<br>Maximum value = 4094
srcip<Boolean>Read-writeIP address or range of IP addresses to match against the source IP address of an incoming IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [10.102.29.30-10.102.29.189].
srcipop<String>Read-writeEither the equals (=) or does not equal (!=) logical operator.<br>Possible values = =, !=, EQ, NEQ
srcipval<String>Read-writeIP address or range of IP addresses to match against the source IP address of an incoming IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [10.102.29.30-10.102.29.189].
srcport<Boolean>Read-writePort number or range of port numbers to match against the source port number of an incoming IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [40-90].
srcportop<String>Read-writeEither the equals (=) or does not equal (!=) logical operator.<br>Possible values = =, !=, EQ, NEQ
srcportval<String>Read-writePort number or range of port numbers to match against the source port number of an incoming IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [40-90].<br>Maximum length = 65535
destip<Boolean>Read-writeIP address or range of IP addresses to match against the destination IP address of an incoming IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [10.102.29.30-10.102.29.189].
destipop<String>Read-writeEither the equals (=) or does not equal (!=) logical operator.<br>Possible values = =, !=, EQ, NEQ
destipval<String>Read-writeIP address or range of IP addresses to match against the destination IP address of an incoming IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [10.102.29.30-10.102.29.189].
destport<Boolean>Read-writePort number or range of port numbers to match against the destination port number of an incoming IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [40-90]. Note: The destination port can be specified only for TCP and UDP protocols.
destportop<String>Read-writeEither the equals (=) or does not equal (!=) logical operator.<br>Possible values = =, !=, EQ, NEQ
destportval<String>Read-writePort number or range of port numbers to match against the destination port number of an incoming IPv4 packet. In the command line interface, separate the range with a hyphen and enclose within brackets. For example: [40-90]. Note: The destination port can be specified only for TCP and UDP protocols.<br>Maximum length = 65535
ttl<Double>Read-writeNumber of seconds, in multiples of four, after which the extended ACL rule expires. If you do not want the extended ACL rule to expire, do not specify a TTL value.<br>Minimum value = 1<br>Maximum value = 2147483647
srcmac<String>Read-writeMAC address to match against the source MAC address of an incoming IPv4 packet.
srcmacmask<String>Read-writeUsed to define range of Source MAC address. It takes string of 0 and 1, 0s are for exact match and 1s for wildcard. For matching first 3 bytes of MAC address, srcMacMask value "000000111111". .<br>Default value: "000000000000"
protocol<String>Read-writeProtocol to match against the protocol of an incoming IPv4 packet.<br>Possible values = ICMP, IGMP, TCP, EGP, IGP, ARGUS, UDP, RDP, RSVP, EIGRP, L2TP, ISIS
protocolnumber<Double>Read-writeProtocol to match against the protocol of an incoming IPv4 packet.<br>Minimum value = 1<br>Maximum value = 255
vlan<Double>Read-writeID of the VLAN. The NetScaler appliance applies the ACL rule only to the incoming packets of the specified VLAN. If you do not specify a VLAN ID, the appliance applies the ACL rule to the incoming packets on all VLANs.<br>Minimum value = 1<br>Maximum value = 4094
vxlan<Double>Read-writeID of the VXLAN. The NetScaler appliance applies the ACL rule only to the incoming packets of the specified VXLAN. If you do not specify a VXLAN ID, the appliance applies the ACL rule to the incoming packets on all VXLANs.<br>Minimum value = 1<br>Maximum value = 16777215
Interface<String>Read-writeID of an interface. The NetScaler appliance applies the ACL rule only to the incoming packets from the specified interface. If you do not specify any value, the appliance applies the ACL rule to the incoming packets of all interfaces.
established<Boolean>Read-writeAllow only incoming TCP packets that have the ACK or RST bit set, if the action set for the ACL rule is ALLOW and these packets match the other conditions in the ACL rule.
icmptype<Double>Read-writeICMP Message type to match against the message type of an incoming ICMP packet. For example, to block DESTINATION UNREACHABLE messages, you must specify 3 as the ICMP type. Note: This parameter can be specified only for the ICMP protocol.<br>Minimum value = 0<br>Maximum value = 65536
icmpcode<Double>Read-writeCode of a particular ICMP message type to match against the ICMP code of an incoming ICMP packet. For example, to block DESTINATION HOST UNREACHABLE messages, specify 3 as the ICMP type and 1 as the ICMP code. If you set this parameter, you must set the ICMP Type parameter.<br>Minimum value = 0<br>Maximum value = 65536
priority<Double>Read-writePriority for the extended ACL rule that determines the order in which it is evaluated relative to the other extended ACL rules. If you do not specify priorities while creating extended ACL rules, the ACL rules are evaluated in the order in which they are created.<br>Minimum value = 1<br>Maximum value = 100000
state<String>Read-writeEnable or disable the extended ACL rule. After you apply the extended ACL rules, the NetScaler appliance compares incoming packets against the enabled extended ACL rules.<br>Default value: ENABLED<br>Possible values = ENABLED, DISABLED
logstate<String>Read-writeEnable or disable logging of events related to the extended ACL rule. The log messages are stored in the configured syslog or auditlog server.<br>Default value: DISABLED<br>Possible values = ENABLED, DISABLED
ratelimit<Double>Read-writeMaximum number of log messages to be generated per second. If you set this parameter, you must enable the Log State parameter.<br>Default value: 100<br>Minimum value = 1<br>Maximum value = 10000
newname<String>Read-writeNew name for the extended ACL rule. Must begin with an ASCII alphabetic or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters.<br>Minimum length = 1
hits<Double>Read-onlyThe hits of this ACL.
kernelstate<String>Read-onlyThe commit status of the ACL.<br>Default value: NOTAPPLIED<br>Possible values = APPLIED, NOTAPPLIED, RE-APPLY, SFAPPLIED, SFNOTAPPLIED, SFAPPLIED61, SFNOTAPPLIED61
__count<Double>Read-onlycount parameter

Operations

(click to see Properties)

ADD | DELETE | UPDATE | UNSET | ENABLE | DISABLE | RENAME | GET (ALL) | GET | COUNT

Some options that you can use for each operations:

  • Getting warnings in response: NITRO allows you to get warnings in an operation by specifying the "warning" query parameter as "yes". For example, to get warnings while connecting to the NetScaler appliance, the URL is as follows:

    http://<netscaler-ip-address>/nitro/v1/config/login?warning=yes

    If any, the warnings are displayed in the response payload with the HTTP code "209 X-NITRO-WARNING".

  • Authenticated access for individual NITRO operations: NITRO allows you to logon to the NetScaler appliance to perform individual operations. You can use this option instead of creating a NITRO session (using the login object) and then using that session to perform all operations,

    To do this, you must specify the username and password in the request header of the NITRO request as follows:

    X-NITRO-USER:<username>

    X-NITRO-PASS:<password>

    Note: In such cases, make sure that the request header DOES not include the following:

    Cookie:NITRO_AUTH_TOKEN=<tokenvalue>

Note:

Mandatory parameters are marked in red and placeholder content is marked in <green>.

add

URL: http://<NSIP>/nitro/v1/config/

HTTP Method: POST

Request Payload:

object={
"params":{
      "warning":<String_value>,
      "onerror":<String_value>
},
"sessionid":"##sessionid",
"nsacl":{
      "aclname":<String_value>,
      "aclaction":<String_value>,
      "td":<Double_value>,
      "srcip":<Boolean_value>,
                  "srcipop":<String_value>,
                  "srcipval":<String_value>,
      "srcport":<Boolean_value>,
                  "srcportop":<String_value>,
                  "srcportval":<String_value>,
      "destip":<Boolean_value>,
                  "destipop":<String_value>,
                  "destipval":<String_value>,
      "destport":<Boolean_value>,
                  "destportop":<String_value>,
                  "destportval":<String_value>,
      "ttl":<Double_value>,
      "srcmac":<String_value>,
                  "srcmacmask":<String_value>,
      "protocol":<String_value>,
      "protocolnumber":<Double_value>,
      "vlan":<Double_value>,
      "vxlan":<Double_value>,
      "Interface":<String_value>,
      "established":<Boolean_value>,
      "icmptype":<Double_value>,
      "icmpcode":<Double_value>,
      "priority":<Double_value>,
      "state":<String_value>,
      "logstate":<String_value>,
      "ratelimit":<Double_value>,
}}

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

delete

URL: http://<NSIP>/nitro/v1/config/nsacl/aclname_value<String>

Query-parameters:

warning

http://<NS_IP>/nitro/v1/config/nsacl/aclname_value<String>?warning=yes

Use this query parameter to get warnings in nitro response. If this field is set to YES, warning message will be sent in 'message' field and 'WARNING' value is set in severity field of the response in case there is a

HTTP Method: DELETE

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

update

URL: http://<NSIP>/nitro/v1/config/

HTTP Method: PUT

Request Payload:

{
"params": {
      "warning":<String_value>,
      "onerror":<String_value>"
},
sessionid":"##sessionid",
"nsacl":{
      "aclname":<String_value>,
      "aclaction":<String_value>,
      "srcip":<Boolean_value>,
                  "srcipop":<String_value>,
                  "srcipval":<String_value>,
      "srcport":<Boolean_value>,
                  "srcportop":<String_value>,
                  "srcportval":<String_value>,
      "destip":<Boolean_value>,
                  "destipop":<String_value>,
                  "destipval":<String_value>,
      "destport":<Boolean_value>,
                  "destportop":<String_value>,
                  "destportval":<String_value>,
      "srcmac":<String_value>,
                  "srcmacmask":<String_value>,
      "protocol":<String_value>,
      "protocolnumber":<Double_value>,
      "icmptype":<Double_value>,
                  "icmpcode":<Double_value>,
      "vlan":<Double_value>,
      "vxlan":<Double_value>,
      "Interface":<String_value>,
      "priority":<Double_value>,
      "logstate":<String_value>,
                  "ratelimit":<Double_value>,
      "established":<Boolean_value>,
}}

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

unset

URL: http://<NSIP>/nitro/v1/config/

HTTP Method: POST

Request Payload:

object={
"params":{
      "warning":<String_value>,
      "onerror":<String_value>,
      "action":"unset"
},
"sessionid":"##sessionid",
"nsacl":{
      "aclname":<String_value>,
      "srcip":true,
      "srcport":true,
      "destip":true,
      "destport":true,
      "srcmac":true,
      "srcmacmask":true,
      "protocol":true,
      "icmptype":true,
      "icmpcode":true,
      "vlan":true,
      "vxlan":true,
      "Interface":true,
      "logstate":true,
      "ratelimit":true,
      "established":true,
}}

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

enable

URL: http://<NSIP>/nitro/v1/config/

HTTP Method: POST

Request Payload:

object={
"params":{
      "warning":<String_value>,
      "onerror":<String_value>,
      "action":"enable"
},
"sessionid":"##sessionid",
"nsacl":{
      "aclname":<String_value>,
}}

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

disable

URL: http://<NSIP>/nitro/v1/config/

HTTP Method: POST

Request Payload:

object={
"params":{
      "warning":<String_value>,
      "onerror":<String_value>,
      "action":"disable"
},
"sessionid":"##sessionid",
"nsacl":{
      "aclname":<String_value>,
}}

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

rename

URL: http://<NSIP>/nitro/v1/config/

HTTP Method: POST

Request Payload:

object={
"params":{
      "warning":<String_value>,
      "onerror":<String_value>,
      "action":"rename"
},
"sessionid":"##sessionid",
"nsacl":{
      "aclname":<String_value>,
      "newname":<String_value>,
}}

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": }

get (all)

URL: http://<NSIP>/nitro/v1/config/nsacl

Query-parameters:

filter

http://<NSIP>/nitro/v1/config/nsacl?filter=property-name1:property-val1,property-name2:property-val2

Use this query-parameter to get the filtered set of nsacl resources configured on NetScaler.Filtering can be done on any of the properties of the resource.

view

http://<NS_IP>/nitro/v1/config/nsacl?view=summary

Use this query-parameter to get the summary output of nsacl resources configured on NetScaler.

pagesize=#no;pageno=#no

http://<NS_IP>/nitro/v1/config/nsacl?pagesize=#no;pageno=#no

Use this query-parameter to get the nsacl resources in chunks.

warning

http://<NS_IP>/nitro/v1/config/nsacl?warning=yes

Use this query parameter to get warnings in nitro response. If this field is set to YES, warning message will be sent in 'message' field and 'WARNING' value is set in severity field of the response in case there is a

HTTP Method: GET

Response Payload:

{ "errorcode": 0, "message": "Done", "severity": <String_value>, "nsacl": [ {
      "aclname":<String_value>,
      "td":<Double_value>,
      "aclaction":<String_value>,
      "srcmac":<String_value>,
      "srcmacmask":<String_value>,
      "protocol":<String_value>,
      "protocolnumber":<Double_value>,
      "srcportval":<String_value>,
      "destportval":<String_value>,
      "srcipval":<String_value>,
      "destipval":<String_value>,
      "vlan":<Double_value>,
      "vxlan":<Double_value>,
      "state":<String_value>,
      "ttl":<Double_value>,
      "icmptype":<Double_value>,
      "icmpcode":<Double_value>,
      "Interface":<String_value>,
      "hits":<Double_value>,
      "established":<Boolean_value>,
      "priority":<Double_value>,
      "srcipop":<String_value>,
      "destipop":<String_value>,
      "srcportop":<String_value>,
      "destportop":<String_value>,
      "kernelstate":<String_value>,
      "logstate":<String_value>,
      "ratelimit":<Double_value>

}]}

get

URL: http://<NS_IP>/nitro/v1/config/nsacl/aclname_value<String>

HTTP Method: GET

Response Payload:

{ "errorcode": 0, "message": "Done", "nsacl": [ {
      "aclname":<String_value>,
      "td":<Double_value>,
      "aclaction":<String_value>,
      "srcmac":<String_value>,
      "srcmacmask":<String_value>,
      "protocol":<String_value>,
      "protocolnumber":<Double_value>,
      "srcportval":<String_value>,
      "destportval":<String_value>,
      "srcipval":<String_value>,
      "destipval":<String_value>,
      "vlan":<Double_value>,
      "vxlan":<Double_value>,
      "state":<String_value>,
      "ttl":<Double_value>,
      "icmptype":<Double_value>,
      "icmpcode":<Double_value>,
      "Interface":<String_value>,
      "hits":<Double_value>,
      "established":<Boolean_value>,
      "priority":<Double_value>,
      "srcipop":<String_value>,
      "destipop":<String_value>,
      "srcportop":<String_value>,
      "destportop":<String_value>,
      "kernelstate":<String_value>,
      "logstate":<String_value>,
      "ratelimit":<Double_value>

}]}

count

URL: http://<NS_IP>/nitro/v1/config/nsacl?count=yes

HTTP Method: GET

Response Payload:

{ "errorcode": 0, "message": "Done",nsacl: [ { "__count": "#no"} ] }