Allowing Specific Port from External IP to internal host on Cisco ASA 5505

Posted on 2011-02-16
Medium Priority
Last Modified: 2013-11-16
I have an external ip i'm publishing to an internal ip using port 2022.  Its pretty straight forward, however, i'm using asdm to do it.  I simply create the public server, assign the internal and external ip, create a service and assign tcp 2022 to it and asdm does the rest.  I have successfully published smtp, http, etc to other hosts within so I know how to do this.  Once i publish and save, the external device is still not able to connect through port 2022.  In looking at the logs, it tells me Deny tcp src outside:<my outside ip here>/36715 dst inside: by access-group "PUBLIC-INCOMING" [0x0, 0x0].

Why would public-incoming be denying if it specifically is allowing in my access rule.  Help!!

Question by:ryanropp
  • 3
  • 2
LVL 35

Expert Comment

ID: 34910910
Is the public rule listed in the acl's before or after your new access rule?


Author Comment

ID: 34910956
Thanks for the reply.  In asdm under ACL manager, I have:

Public Incoming:
    Only shows one rule here which is the rule to allow any source to my private ip using the specified services with permit checked

  This shows any, any, permit ip

That's all i have....
LVL 33

Expert Comment

ID: 34911015
Can you post the sanitized config from the ASA from the SHOW RUN command.    I'd like to see your ACLs and the Access groups with which they are applied along with the static NATs.
We Need Your Input!

WatchGuard is currently running a beta program for our new macOS Host Sensor for our Threat Detection and Response service. We're looking for more macOS users to help provide insight and feedback to help us make the product even better. Please sign up for our beta program today!


Author Comment

ID: 34911168
I took out my public ip's for obvious reasons but replaced with "public ip goes here" ..the server i'm trying to get to is, keep in mind this is all done with asdm...

Result of the command: "sho run"

: Saved
ASA Version 8.3(1)
hostname CSRS-CiscoASA
domain-name csrs.local
enable password 3x25AZ5Tl.auQpOs encrypted
passwd 2KFQnbNIdI.2KYOU encrypted
interface Ethernet0/0
 nameif outside
 security-level 0
 ip address public ip of firewall outside
interface Ethernet0/1
 nameif inside
 security-level 100
 ip address
interface Ethernet0/2
 no nameif
 no security-level
 no ip address
interface Ethernet0/3
 no nameif
 no security-level
 no ip address
interface Management0/0
 nameif management
 security-level 100
 ip address
boot system disk0:/asa831-k8.bin
ftp mode passive
clock timezone CST -6
clock summer-time CDT recurring
dns server-group DefaultDNS
 domain-name csrs.local
object network obj_any
object network NETWORK_OBJ_10.0.0.0_24
object network A_>public ip goes here
 host public ip goes here
object network Cdp
object network PublicServer_NAT1
object-group service RDP tcp
 port-object eq 3389
object-group service CDP_Upstream tcp
 description Connection back to Cdp from RSD
 port-object eq 2022
object-group protocol DM_INLINE_PROTOCOL_0
 protocol-object udp
 protocol-object tcp
object-group service CDP_Upstream_udp_tcp tcp-udp
 port-object eq 2022
object-group protocol TCPUDP
 protocol-object udp
 protocol-object tcp
object-group service DM_INLINE_TCP_0 tcp
 group-object CDP_Upstream
 port-object eq https
access-list PUBLIC-INCOMING extended permit tcp any host object-group DM_INLINE_TCP_0
access-list PUBLIC-INCOMING extended permit icmp any any inactive
access-list CSRS_Vpn_splitTunnelAcl standard permit
access-list inside_access_in extended permit ip any any
pager lines 24
logging enable
logging asdm informational
mtu outside 1500
mtu inside 1500
mtu management 1500
ip local pool vpn_tunnel mask
no failover
icmp unreachable rate-limit 1 burst-size 1
asdm image disk0:/asdm-631.bin
no asdm history enable
arp timeout 14400
nat (inside,outside) source static NETWORK_OBJ_10.0.0.0_24 NETWORK_OBJ_10.0.0.0_24 destination static NETWORK_OBJ_10.0.10.0_25 NETWORK_OBJ_10.0.10.0_25
object network obj_any
 nat (inside,outside) dynamic interface
object network PublicServer_NAT1
 nat (inside,outside) static A_<public ip goes here>
access-group PUBLIC-INCOMING in interface outside
access-group inside_access_in in interface inside
route outside 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
dynamic-access-policy-record DfltAccessPolicy
aaa authentication ssh console LOCAL
aaa authentication telnet console LOCAL
http server enable
http outside
http inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto ipsec transform-set ESP-AES-256-MD5 esp-aes-256 esp-md5-hmac
crypto ipsec transform-set ESP-DES-SHA esp-des esp-sha-hmac
crypto ipsec transform-set ESP-DES-MD5 esp-des esp-md5-hmac
crypto ipsec transform-set ESP-AES-192-MD5 esp-aes-192 esp-md5-hmac
crypto ipsec transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac
crypto ipsec transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto ipsec transform-set ESP-AES-128-SHA esp-aes esp-sha-hmac
crypto ipsec transform-set ESP-AES-192-SHA esp-aes-192 esp-sha-hmac
crypto ipsec transform-set ESP-AES-128-MD5 esp-aes esp-md5-hmac
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set pfs group1
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set transform-set ESP-AES-128-SHA ESP-AES-128-MD5 ESP-AES-192-SHA ESP-AES-192-MD5 ESP-AES-256-SHA ESP-AES-256-MD5 ESP-3DES-SHA ESP-3DES-MD5 ESP-DES-SHA ESP-DES-MD5
crypto map outside_map 65535 ipsec-isakmp dynamic SYSTEM_DEFAULT_CRYPTO_MAP
crypto map outside_map interface outside
crypto isakmp enable outside
crypto isakmp policy 10
 authentication pre-share
 encryption 3des
 hash sha
 group 2
 lifetime 86400
telnet inside
telnet timeout 5
ssh outside
ssh inside
ssh timeout 5
console timeout 0
management-access inside
threat-detection basic-threat
threat-detection statistics host
threat-detection statistics port
threat-detection statistics protocol
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
 enable outside
 vpn-tunnel-protocol IPSec
 split-tunnel-policy tunnelspecified
class-map inspection_default
 match default-inspection-traffic
policy-map type inspect dns migrated_dns_map_1
  message-length maximum client auto
  message-length maximum 512
policy-map global_policy
 class inspection_default
  inspect dns migrated_dns_map_1
  inspect ftp
  inspect h323 h225
  inspect h323 ras
  inspect rsh
  inspect rtsp
  inspect esmtp
  inspect sqlnet
  inspect skinny  
  inspect sunrpc
  inspect xdmcp
  inspect sip  
  inspect netbios
  inspect tftp
  inspect ip-options
service-policy global_policy global
prompt hostname context
 profile CiscoTAC-1
  no active
  destination address http https://tools.cisco.com/its/service/oddce/services/DDCEService
  destination address email callhome@cisco.com
  destination transport-method http
  subscribe-to-alert-group diagnostic
  subscribe-to-alert-group environment
  subscribe-to-alert-group inventory periodic monthly
  subscribe-to-alert-group configuration periodic monthly
  subscribe-to-alert-group telemetry periodic daily
: end
LVL 33

Accepted Solution

MikeKane earned 2000 total points
ID: 34916637
I think you only need to change
access-list PUBLIC-INCOMING extended permit tcp any host object-group DM_INLINE_TCP_0


access-list PUBLIC-INCOMING extended permit tcp any host <the public ip for host>  object-group DM_INLINE_TCP_0

The access list is applied on the outside interface, so you need to allow the ports on the public IP.   Once the traffic is allowed though on those ports, then the NAT takes place and the public becomes the    It's all about the order of operations.  

Author Closing Comment

ID: 34919004
Thanks MikeKane, that did it..something so simple that wasted 1 day of my time :)...

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

For months I had no idea how to 'discover' the IP address of the other end of a link (without asking someone who knows), and it drove me batty. Think about it. You can't use Cisco Discovery Protocol (CDP) because it's not implemented on the ASAs.…
Considering cloud tradeoffs and determining the right mix for your organization.
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …
When cloud platforms entered the scene, users and companies jumped on board to take advantage of the many benefits, like the ability to work and connect with company information from various locations. What many didn't foresee was the increased risk…

597 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question