У меня возникают проблемы с переадресацией портов на Cisco ASA с хоста в Интернете на хост во внутренней сети. Внешний интерфейс ASA назначается через DHCP. Есть ли что-то еще, что нужно сделать, чтобы это работало правильно?
обновить проблему
(outside) to (outside) source dynamic VPN_NETWORK interface
за:
https://www.cisco.com/en/US/docs/security/asa/asa84/configuration/guide/nat_rules.html
(outside) to (outside) after-auto source dynamic VPN_NETWORK interface
пакет-трассировщик:
# packet-tracer input outside tcp 74.x.x.x 1025 71.x.x.x 555
Phase: 1
Type: ROUTE-LOOKUP
Subtype: input
Result: ALLOW
Config:
Additional Information:
in 71.x.x.x 255.255.255.255 identity
Phase: 2
Type: ACCESS-LIST
Subtype:
Result: DROP
Config:
Implicit Rule
Additional Information:
Result:
input-interface: outside
input-status: up
input-line-status: up
output-interface: NP Identity Ifc
output-status: up
output-line-status: up
Action: drop
Drop-reason: (acl-drop) Flow is denied by configured rule
рабочая конфигурация
ASA Version 8.4(2)
!
hostname asa
enable password ***** encrypted
passwd ***** encrypted
names
!
interface Ethernet0/0
switchport access vlan 2
!
interface Ethernet0/1
!
interface Ethernet0/2
!
interface Ethernet0/3
!
interface Ethernet0/4
!
interface Ethernet0/5
!
interface Ethernet0/6
!
interface Ethernet0/7
!
interface Vlan1
nameif inside
security-level 100
ip address 172.16.1.1 255.255.255.0
!
interface Vlan2
nameif outside
security-level 0
ip address dhcp setroute
!
boot system disk0:/asa842-k8.bin
ftp mode passive
same-security-traffic permit intra-interface
object network obj_any
subnet 0.0.0.0 0.0.0.0
object network VPN_NETWORK
subnet 192.168.1.0 255.255.255.192
object network VM
host 172.16.1.100
access-list dynamic-filter_acl extended permit ip any any
access-list VM-IN extended permit tcp any host 172.16.1.100 eq 555
pager lines 24
logging enable
logging asdm informational
mtu inside 1500
mtu outside 1500
ip local pool VPN-DHCP-POOL 192.168.1.10-192.168.1.50
icmp unreachable rate-limit 1 burst-size 1
asdm image disk0:/asdm-645-206.bin
no asdm history enable
arp timeout 14400
nat (inside,outside) source static any any destination static VPN_NETWORK VPN_NETWORK no-proxy-arp route-lookup
nat (outside,outside) source dynamic VPN_NETWORK interface
!
object network obj_any
nat (inside,outside) dynamic interface
object network VM
nat (inside,outside) static interface service tcp 555 555
access-group VM-IN in interface outside
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
timeout floating-conn 0:00:00
dynamic-access-policy-record DfltAccessPolicy
user-identity default-domain LOCAL
aaa authentication http console LOCAL
aaa authentication ssh console LOCAL
http server enable
http 172.16.1.0 255.255.255.0 inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
crypto ipsec ikev1 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-AES-128-SHA esp-aes esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-AES-192-SHA esp-aes-192 esp-sha-hmac
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set pfs group1
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set ikev1 transform-set ESP-AES-256-SHA
crypto map outside_map 65535 ipsec-isakmp dynamic SYSTEM_DEFAULT_CRYPTO_MAP
crypto map outside_map interface outside
crypto map inside_map 65535 ipsec-isakmp dynamic SYSTEM_DEFAULT_CRYPTO_MAP
crypto map inside_map interface inside
crypto ikev1 enable inside
crypto ikev1 enable outside
crypto ikev1 policy 10
authentication crack
encryption aes-256
hash sha
group 2
lifetime 86400
crypto ikev1 policy 20
authentication rsa-sig
encryption aes-256
hash sha
group 2
lifetime 86400
crypto ikev1 policy 30
authentication pre-share
encryption aes-256
hash sha
group 2
lifetime 86400
telnet timeout 5
ssh 172.16.1.0 255.255.255.0 inside
ssh timeout 5
ssh version 2
console timeout 0
dhcp-client client-id interface outside
dhcpd auto_config outside
!
dhcpd address 172.16.1.100-172.16.1.200 inside
dhcpd dns 8.8.8.8 8.8.4.4 interface inside
dhcpd option 3 ip 172.16.1.1 interface inside
dhcpd enable inside
!
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
dynamic-filter enable interface outside classify-list dynamic-filter_acl
dynamic-filter drop blacklist interface outside
ssl encryption des-sha1
webvpn
group-policy EdgeAccess internal
group-policy EdgeAccess attributes
dns-server value 8.8.8.8 8.8.4.4
vpn-tunnel-protocol ikev1
username user password ***** encrypted
tunnel-group EdgeAccess type remote-access
tunnel-group EdgeAccess general-attributes
address-pool VPN-DHCP-POOL
default-group-policy EdgeAccess
tunnel-group EdgeAccess ipsec-attributes
ikev1 pre-shared-key *****
!
class-map inspection_default
match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
parameters
message-length maximum 512
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
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
privilege show level 0 mode configure command filter
privilege cmd level 0 mode configure command filter
privilege cmd level 0 mode config-group-webvpn command filter
privilege cmd level 0 mode config-username-webvpn command filter
prompt hostname context
no call-home reporting anonymous
: end
Начиная с версии 8.3, списки доступа применялись с access-group
оператор всегда использует реальный IP-адрес, даже если входящий пакет направлен на IP-адрес с NAT; увидеть Подробности в Руководстве по миграции ASA версии 8.3..
Ваш список доступа должен выглядеть следующим образом:
access-list VM_IN extended permit tcp any host 172.16.1.125 eq 777
Или, что еще лучше, используйте объект, чтобы вам нужно было обновить его только в одном месте в будущем:
access-list VM_IN extended permit tcp any object VM eq 777
РЕДАКТИРОВАТЬ (с учетом пояснений Astron):
Чтобы выполнить перенаправление входящего порта на внутренний хост 192.168.1.125 на интерфейсе, который имеет динамически назначаемый адрес (например, DHCP):
object network VM
host 192.168.1.125
!
object network VM
nat (inside,outside) static interface service tcp 777 777
!
access-list VM_IN extended permit tcp any object VM eq 777
!
access-group VM_IN in interface outside
Ключ - это static interface
участие в nat
заявление. Он заменит interface
с любым IP-адресом outside
интерфейс оказывается в то время, когда пакет прибывает для перевода.