Go Premium for a chance to win a PS4. Enter to Win


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.

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.


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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I recently attended Cisco Live! in Las Vegas, a conference that boasted over 28,000 techies in attendance, and a week of hands-on learning hosted by a solid partner with which Concerto goes to market.  Every year, Cisco displays cutting-edge technol…
As managed cloud service providers, we often get asked to intervene when cloud deployments go awry. Attracted by apparent ease-of-use, flexibility and low computing costs, companies quickly adopt leading public cloud platforms such as Amazon Web Ser…
As a trusted technology advisor to your customers you are likely getting the daily question of, ‘should I put this in the cloud?’ As customer demands for cloud services increases, companies will see a shift from traditional buying patterns to new…
Both in life and business – not all partnerships are created equal. Spend 30 short minutes with us to learn:   • Key questions to ask when considering a partnership to accelerate your business into the cloud • Pitfalls and mistakes other partners…
Suggested Courses
Course of the Month12 days, 19 hours left to enroll

971 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