我在运行8.4的ASA5510上configuration了远程访问VPN,并在外部接口上启用了它。
出于某种原因,如果内部主机使用VPN客户端通过防火墙进行连接,则最终将采用端口udp / 500(udp / isakmp)或tcpudp / 4500(IPSec NAT-T)。
内部主机使用PAT来转换到外部,但我会认为ASA永远不会提供覆盖自己的端口(如500和4500)的PAT翻译。
在谈判和authentication过程中,我看到数据包丢失。 如果我断开内部主机上的VPN客户端,远程访问客户端可以再次连接。
这里是一些configuration(清理原因很明显):
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端口?
在目标和源防火墙上是否启用了crypto isakmp nat-traversal 20 ? 这是一个普遍的问题 ,你的故事是一致的。 但是,在configuration中可能还有其他的东西。 你可以发表其余的?
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