The reson I asked about NAT is that Citrix embeds the servers IP address in the packet pay-load. This can cause issues with NAT since the router only translates the IP headers.
There is a server patch and some documentation on it at
(just type in NAT in the search field.)
You'll also need to apply the acl to an interface. But if your trying to filter at the port level you'll need to create an extended access list.. Here's an example from one of the router's we have:
ip access-list extended COMCAST
permit icmp any any echo
permit icmp any any echo-reply
permit tcp host 4.3.2.1 eq
0.0.3.255 gt 1023
...
permit tcp host 4.3.2.1 eq 443 1.2.3.0 0.0.3.255 gt 1023
.....
....
...
This ACL is allowing a specific address 4.3.2.1 on TCP port 80 and 443 to talk to the 1.2.3.0 255.255.252.0 network on any port greater than 1023. Notice that the subnet mask for network 1.2.3.0 is inverted. ACL's use inverse-masks to match subnets. There's a good IP Calc at
-> Products and under Free Utilities. That will figure inverse masks. Also note that this ACL will deny all other traffic that is not listed. This is done by default.
You'll also need to apply the ACL to an interface. Example:
interface Serial0/0
ip access-group COMCAST in
There are two options for appling the ACL to an interface. in and out. Inbound (most common) is filtering traffic comming in on that interface. Out of couse filers outbound traffic. You'll have to be careful of the order which you write the ACL since depending how you apply the ACL dictates the function of the ACL (The ACL above would have to be written in reverse if applied as an outbound ACL)
To see if you are getting "hits" on the ACL issue the show ip access command. You should notice hit counters incrementing.
Hope this helps you out.