1

We replaced a Meraki MX with a Cisco ASA, and I'm unable to reach the public IPs of servers behind our firewall now. The server has working Internet access. All packet tracer runs show successful NATing and are allowed. The firewall is open to limit the problem while testing.

I'm assuming it's a misconfigured NAT rule or another option I've forgotten to enable.

I've been at it for hours, and I can't seem to ping the public IP nor access it externally for services.

The ASA is directly behind the ISP modem. The server IP is 192.168.108.44 NAT'd to 5x.xx.xx.53.

Any help is greatly appreciated.

ISP modem settings:

Internet Settings  
Gateway MAC Address 78:CD:8E:C2:D2:58  
WAN MAC Address 78:CD:8E:C2:D2:5B  
WAN DHCP IP Address 98.204.5.208  
WAN DHCP IPv6 Address   ::/64  
WAN DHCP IPv6 DNS (primary) ::  
WAN DHCP IPv6 DNS (secondary)   ::  
WAN DHCP Subnet Mask    255.255.248.0  
WAN DHCP Default Gateway    98.204.0.1  
WAN Internet IP Address 50.xx.xx.62  
DNS (primary)   75.75.75.75  
DNS (secondary) 75.75.76.76  
DHCP Time Remaining 86h:12m:46s  
Date    Oct-4-2017  
Static IP Block 50.xx.xx.62/28  

ASA 5512 Config:

Result of the command: "sh run"

: Saved

: 
: Serial Number: FCH1841718M
: Hardware:   ASA5512, 4096 MB RAM, CPU Clarkdale 2792 MHz, 1 CPU (2 cores)
:
ASA Version 9.6(3)1 
!
hostname ciscoasa
enable password lsiIw5sJErKSQdQv encrypted
xlate per-session deny tcp any4 any4
xlate per-session deny tcp any4 any6
xlate per-session deny tcp any6 any4
xlate per-session deny tcp any6 any6
xlate per-session deny udp any4 any4 eq domain
xlate per-session deny udp any4 any6 eq domain
xlate per-session deny udp any6 any4 eq domain
xlate per-session deny udp any6 any6 eq domain
passwd 2KFQnbNIdI.2KYOU encrypted
names

!
interface GigabitEthernet0/0
 description Uplink To ComRTR
 nameif outside
 security-level 100
 ip address 5x.xx.xx.50 255.255.255.240 
!
interface GigabitEthernet0/1
 description Link To 1941
 nameif inside
 security-level 100
 ip address 172.17.25.1 255.255.255.0 
!
interface GigabitEthernet0/2
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet0/3
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet0/4
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet0/5
 shutdown
 no nameif
 no security-level
 no ip address
!
interface Management0/0
 management-only
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet1/0
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet1/1
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet1/2
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet1/3
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet1/4
 shutdown
 no nameif
 no security-level
 no ip address
!
interface GigabitEthernet1/5
 shutdown
 no nameif
 no security-level
 no ip address
!
boot system disk0:/asa963-1-smp-k8.bin
ftp mode passive
clock timezone EST -5
clock summer-time EDT recurring
same-security-traffic permit inter-interface
same-security-traffic permit intra-interface
object network inside-dmz-network
 subnet 172.17.25.0 255.255.255.192
 description inside dmz
object network milestone-corporate-internal-ip
 host 192.168.108.44
object network milestone-corporate-external-ip
 host 5x.xx.xx.53
object network user-network
 subnet 192.168.128.0 255.255.255.0
object network server-network
 subnet 192.168.108.0 255.255.255.0
object network transit-network
 subnet 192.168.118.0 255.255.255.0
object-group protocol DM_INLINE_PROTOCOL_1
 protocol-object ip
 protocol-object icmp
object-group protocol DM_INLINE_PROTOCOL_2
 protocol-object ip
 protocol-object icmp
object-group protocol DM_INLINE_PROTOCOL_3
 protocol-object ip
 protocol-object icmp
object-group protocol DM_INLINE_PROTOCOL_4
 protocol-object ip
 protocol-object icmp
access-list inside_access_in extended permit object-group DM_INLINE_PROTOCOL_1 any any 
access-list outside_access_in extended permit object-group DM_INLINE_PROTOCOL_2 any any 
access-list inside_access_out extended permit object-group DM_INLINE_PROTOCOL_3 any any 
access-list outside_access_out extended permit object-group DM_INLINE_PROTOCOL_4 any any 
pager lines 24
mtu outside 1500
mtu inside 1500
icmp unreachable rate-limit 1 burst-size 1
asdm image disk0:/asdm-781-150.bin
no asdm history enable
arp timeout 14400
no arp permit-nonconnected
arp rate-limit 8192
nat (outside,outside) source static any any destination static milestone-corporate-external-ip milestone-corporate-internal-ip
nat (inside,outside) source static milestone-corporate-internal-ip milestone-corporate-external-ip dns
nat (inside,outside) source dynamic inside-dmz-network interface
nat (inside,outside) source dynamic user-network interface
nat (inside,outside) source dynamic server-network interface
nat (inside,outside) source dynamic transit-network interface
nat (inside,outside) source dynamic any interface
nat (any,any) source static any any
access-group outside_access_in in interface outside
access-group outside_access_out out interface outside
access-group inside_access_in in interface inside
access-group inside_access_out out interface inside
router ospf 1
 network 10.1.10.0 255.255.255.0 area 0
 network 172.17.25.0 255.255.255.192 area 0
 area 0
 log-adj-changes
 redistribute static metric 10 metric-type 1 subnets
!
route outside 0.0.0.0 0.0.0.0 5x.xx.xx.62 200
route inside 192.168.108.0 255.255.255.0 172.17.25.2 1
route inside 192.168.118.0 255.255.255.0 172.17.25.2 1
route inside 192.168.128.0 255.255.255.0 172.17.25.2 1
route inside 192.168.226.0 255.255.255.0 172.17.25.3 1
timeout xlate 3:00:00
timeout pat-xlate 0:00:30
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 sctp 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
timeout floating-conn 0:00:00
timeout conn-holddown 0:00:15
user-identity default-domain LOCAL
aaa authentication ssh console LOCAL 
http server enable
http 192.168.128.0 255.255.255.0 inside
http 10.2.10.0 255.255.255.0 inside
http 172.17.25.0 255.255.255.192 inside
no snmp-server location
no snmp-server contact
crypto ipsec security-association pmtu-aging infinite
crypto ca trustpool policy
telnet timeout 5
ssh stricthostkeycheck
ssh 192.168.128.0 255.255.255.0 inside
ssh 172.17.25.0 255.255.255.192 inside
ssh timeout 60
ssh key-exchange group dh-group1-sha1
console timeout 0
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
ntp server 129.6.15.30 source outside prefer
ntp server 129.6.15.28 source outside
dynamic-access-policy-record DfltAccessPolicy
username bcooper password bESD75/eXenKs8C2 encrypted privilege 15
username xadmin password R.MXJOsjk9M6sb0Y encrypted privilege 15
!
class-map inspection_default
 match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
 parameters
  message-length maximum client auto
  message-length maximum 512
  no tcp-inspection
policy-map global_policy
 class inspection_default
  inspect dns preset_dns_map 
  inspect ftp 
  inspect h323 h225 
  inspect h323 ras 
  inspect ip-options 
  inspect netbios 
  inspect rsh 
  inspect rtsp 
  inspect skinny  
  inspect esmtp 
  inspect sqlnet 
  inspect sunrpc 
  inspect tftp 
  inspect sip  
  inspect xdmcp 
  inspect icmp 
  inspect icmp error 
!
service-policy global_policy global
prompt hostname context 
no call-home reporting anonymous
call-home
 profile CiscoTAC-1
  no active
  destination address http https://tools.cisco.com/its/service/oddce/services/DDCEService
  destination address email [email protected]
  destination transport-method http
  subscribe-to-alert-group diagnostic
  subscribe-to-alert-group environment
  subscribe-to-alert-group inventory periodic monthly 9
  subscribe-to-alert-group configuration periodic monthly 9
  subscribe-to-alert-group telemetry periodic daily
Cryptochecksum:9b6d5d742ef4bdc41a63b27038125408
: end
7
  • 1
    You need a static NAT for each of your servers. "nat any any" isn't going to work. How would the ASA know which address you want to nat to?
    – Ron Trunk
    Oct 5, 2017 at 18:11
  • Can you expand on this please? I may have done it incorrectly, but the first two NAT rules are referencing the internal and public(external) ip of the server. The very first rule was a test since the 2nd one down didn't seem to be working. I've run packet-tracer commands and it seems to be translating correctly.
    – Rumblebutt
    Oct 5, 2017 at 18:50
  • 1
    The first rule is wrong -- take it out, as well as the last one. Also, turn on logging and see where things are going awry.
    – Ron Trunk
    Oct 5, 2017 at 20:22
  • Which services/applications on the server 192.168.108.44 you want to access from public network through 5x.xx.xx.53?
    – Hung Tran
    Oct 5, 2017 at 20:30
  • Please start over, without any of the firewall erasing "permit ip any any" crap all over the place. Show us the configuration you think should work, but doesn't, and we'll help you correct it. (Cisco's "new NAT" can be a huge pain in the ass. I'll have to spin up an 8.3+ version to generate the correct bits.)
    – Ricky
    Oct 5, 2017 at 20:36

1 Answer 1

2
object network milestone-corporate-internal-ip
 host 192.168.108.44
object network milestone-corporate-external-ip
 host 5x.xx.xx.53

! 1:1 map internal to external IP
nat (inside,outside) source static milestone-corporate-internal-ip milestone-corporate-external-ip

! permit WWW to server
access-list acl-internet-in extended permit tcp any object milestone-corporate-external-ip eq http
access-group acl-internet-in in interface outside

For the record, my acl-internet-out:

access-list acl-internet-out extended deny ip any object-group rfc1918 
access-list acl-internet-out extended permit icmp any any 
access-list acl-internet-out extended deny object-group TCPUDP any any object-group NETBIOS 
access-list acl-internet-out extended permit ip any any 
access-group acl-internet-out out interface outside

There are no ACLs on the "inside" interfaces.

You can define an object for the services to be exposed instead of listing them one by one in the ACL -- ASDM (GUI) will do that for you, if you enter more than one service in the box. My personal preference is line-by-line to have hit counts per service.


Remember, NAT tells the firewall how to rewrite packets. ACLs tell it what to allow or deny.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.