Cisco-Asa

如何防止內部主機佔用 8.4 ASA5510 上的 ISAKMP 和 IPSec NAT-T 埠?

  • June 26, 2012

我在執行 8.4 的 ASA5510 上配置了遠端訪問 VPN,並在外部介面上啟用了它。

出於某種原因,如果內部主機使用 VPN 客戶端通過防火牆進行連接,它們最終會佔用埠 udp/500 (udp/isakmp) 或 tcpudp/4500 (IPSec NAT-T)。

內部主機使用 PAT 轉換到外部,但我原以為 ASA 永遠不會提供覆蓋其自己埠(如 500 和 4500)的 PAT 轉換。

我在協商和身份驗證期間看到封包遺失。如果我斷開內部主機上的 VPN 客戶端,遠端訪問客戶端可以再次連接。

這是一些配置(出於明顯的原因進行了擦洗):

access-list vpnclient_splitTunnelAcl standard permit 10.0.0.0 255.0.0.0
ip local pool vpnclient-pool 10.0.254.5-10.0.254.249 mask 255.255.255.0
group-policy remote_access internal
group-policy vpnclient attributes
dns-server value 10.0.0.2
vpn-tunnel-protocol ikev1
split-tunnel-policy tunnelspecified
split-tunnel-network-list value vpnclient_splitTunnelAcl
default-domain value example.local
tunnel-group vpnclient type remote-access
tunnel-group vpnclient general-attributes
address-pool vpnclient-pool
authentication-server-group RADIUS
default-group-policy vpnclient
tunnel-group vpnclient ipsec-attributes
ikev1 pre-shared-key ***********
tunnel-group vpnclient ppp-attributes
no authentication chap
no authentication ms-chap-v1

如何防止內部主機佔用 8.4 ASA5510 上的 ISAKMP 和 IPSec NAT-T 埠?

IPSec Pass-through 和 NAT hack 的組合解決了埠 500 和 4500 被內部主機“竊取”的問題:

configure terminal
object network VPN-endpoint
 description Prevent inside hosts from stealing VPN endpoint with PAT
 host 172.16.0.1
 nat (any,outside) static interface service udp isakmp isakmp
 exit
access-list ipsecpassthroughacl extended permit udp any any eq isakmp
access-list ipsecpassthroughacl extended permit object-group TCPUDP any any eq 4500
class-map ipsecpassthru-traffic
 match access-list ipsecpassthroughacl
 exit
policy-map type inspect ipsec-pass-thru iptmap
 parameters
  esp
  ah
  exit
 exit
policy-map inspection_policy
 class ipsecpassthru-traffic
  inspect ipsec-pass-thru iptmap
  exit
 exit
service-policy inspection_policy interface outside
exit

您是否已crypto isakmp nat-traversal 20在目標和源防火牆上啟用?這是一個常見的問題,你的故事的部分內容是一致的。不過,配置中可能還有其他問題。可以發其餘的嗎?

引用自:https://serverfault.com/questions/400506