cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
30513
Views
4
Helpful
12
Replies

VPN User cannot browse internet

atrzonkowski
Level 1
Level 1

I've recently found myself working with an ASA 5505 and setting it up so that remote users can connect via VPN. In that part I've managed to muddle through. Users can connect and authenticate. Once that connection has been established they can no longer browse the web. I would like to ensure that they use the distant end web instead of the local one.I think I'm close but I'm fairly stuck. Any help would be greatly appreciated.

ASA Version 7.2(4)
!
hostname Ex
domain-name Ex
enable password encrypted
passwd encrypted
names
!
interface Vlan1
nameif inside
security-level 100
ip address 192.168.1.1 255.255.255.0
!
interface Vlan2
nameif outside
security-level 0
ip address dhcp setroute
!
interface Ethernet0/0
switchport access vlan 2
!
interface Ethernet0/1
!

ftp mode passive
clock timezone EST -5
clock summer-time EDT recurring
dns server-group DefaultDNS
domain-name Ex
same-security-traffic permit intra-interface
access-list inside_nat0_outbound extended permit ip any 192.168.2.0 255.255.255.248
pager lines 24
logging asdm informational
mtu inside 1500
mtu outside 1500
ip local pool RemoteDHCP 192.168.2.2-192.168.2.7 mask 255.255.255.248
icmp unreachable rate-limit 1 burst-size 1
asdm image disk0:/asdm-524.bin
no asdm history enable
arp timeout 14400
global (outside) 1 interface
nat (inside) 0 access-list inside_nat0_outbound
nat (inside) 1 0.0.0.0 0.0.0.0
nat (outside) 1 192.168.2.0 255.255.255.248
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
aaa authentication ssh console LOCAL
http server enable
http 192.168.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 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto dynamic-map outside_dyn_map 20 set pfs
crypto dynamic-map outside_dyn_map 20 set transform-set ESP-AES-256-SHA
crypto map outside_map 65535 ipsec-isakmp dynamic outside_dyn_map
crypto map outside_map interface outside
crypto isakmp enable outside
crypto isakmp policy 10
authentication pre-share
encryption aes-256
hash sha
group 2
lifetime 86400
telnet timeout 5
ssh 192.168.1.0 255.255.255.0 inside
ssh timeout 5
ssh version 2
console timeout 0
dhcpd dns 209.18.x.x 209.18.x.x
dhcpd auto_config outside
!
dhcpd address 192.168.1.2-192.168.1.33 inside
dhcpd enable inside
!

group-policy 1 internal
group-policy 1 attributes
dns-server value 209.18.x.x 209.18.x.x
vpn-tunnel-protocol IPSec
default-domain value Ex
username  password encrypted privilege 15
tunnel-group 1 type ipsec-ra
tunnel-group 1 general-attributes
address-pool RemoteDHCP
default-group-policy 1
tunnel-group 1 ipsec-attributes
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
!
service-policy global_policy global
prompt hostname context

1 Accepted Solution

Accepted Solutions

Hi,

Yes, you are correct. The client is not receiving anything. Please add this command "crypto isakmp nat-t" and then connect the client. Make sure that you reconnect the client after adding this command if the client is connected at the time of adding the command.

If this doesnt work, send me the output of "sh cry ipsec sa".

Mitesh

View solution in original post

12 Replies 12

slmansfield
Level 4
Level 4

It looks like you're tunneling all traffic from the VPN client, including Internet traffic.  You can either configure split tunneling, whereby Internet traffic would not be sent through the VPN tunnel, or you could route Internet traffic through your central site and return it to the VPN client.

Here is a URL describing how to configure split tunneling on the ASA.  HTH

http://www.cisco.com/application/pdf/paws/70917/asa-split-tunnel-vpn-client.pdf

If I understand correctly (and I'm honestly not sure I do) if I enable split tunneling web traffic would use the local connection instead of the remote sites. Is that correct? If so, could you elaborate on your second option of routing the traffic through the central site?

I appreciate the help!

That is correct.  If you would prefer that the remote client use its own Internet connection to access the Internet directly instead of through the VPN then

you could implement split tunneling.

Split tunneling could make the PC more vulnerable to Internet threats.  If that is a concern, you may want to configure your VPN client to access the Internet through the VPN tunnel.

Running VPN traffic through your central site means that the ASA has a default route to the Internet.  If you want the Internet traffic to be sent to/from the ASA, you can route traffic between its interfaces.  It looks like you are doing the intra-interface routing already, but I don't see a default route on the ASA.

Here is another URL that describes "VPN on a Stick", where the ASA is the endpoint for VPN and for Internet access to/from VPN clients.

HTH

http://www.cisco.com/application/pdf/paws/67986/pix7x-asa-client-stick.pdf

Thank you, that document was helpful and I think gets me closer to where I want to be. I have a few questions but I do want to stick to routing all internet traffic through the tunnel and the central sites internet connection (I was calling this remote because to the user it is remote. Long day ^_~)

I see the document reference this command: global (outside) 1 outside IP. When I use it I get an over lap issue. I only have one external IP address for this device. Is that a show stopper? My config has global (outside) 1 interface instead.

For a static route out, it makes sense what you're saying. I just want to see if I'm truly following you. The VPN is connecting to the outside interface so would this be static (outside, outside) and then I'd just translate the address range to the external IP address?

Sorry that the example was somewhat confusing.  You should be able to use the interface and not another public address:

global (outside) 1 interface

You are already (NAT) translating the VPN address range. 

I also see that you are using the "ip address dhcp setroute" which causes the ASA to automatically use the default route supplied by the DHCP server, so the ASA itself has a default route.  If you are doing VPN on a stick then that should be all you need to direct traffic to the Internet.

Is there anything that is not working at this point?

I've also noticed that I cannot SSH to the ASA from a connected VPN  client. I allowed the VPN network via the SSH ACL but that didn't seem  to allow it. To further add confusion, the information above comes from  connecting to the VPN via my iPhone (the easiest way to get an outside  connection). It allows me to browse the internet but I'm wondering if it  isn't defaulting to the 3G. Could this be a client issue instead of a  configuration problem?

Here are some outputs from the show commands while the iPhone is connected. I'm not sure if that helps any.

6 in use, 299 most used
PAT Global 66.26.x.x(1027) Local 192.168.2.2(57850)
PAT Global 66.26.x.x(1026) Local 192.168.2.2(57849)
PAT Global 66.26.x.x(1025) Local 192.168.2.2(57848)
PAT Global 66.26.x.x(1024) Local 192.168.2.2(57847)
PAT Global 66.26.x.x(1026) Local 192.168.2.2(54240)
PAT Global 66.26.x.x(1025) Local 192.168.2.2(57742)

15 in use, 208 most used
TCP outside 66.26.x.x(192.168.2.2):57859 outside 72.167.82.11:110, idle 0:00:52, bytes 8275, flags UIOB
TCP outside 66.26.x.x(192.168.2.2):57856 outside 192.41.7.211:443, idle 0:00:21, bytes 56969, flags UfFRIOB
TCP outside 66.26.x.x(192.168.2.2):57855 outside 192.41.7.211:443, idle 0:00:22, bytes 16720, flags UfFRIOB
TCP outside 66.26.x.x(192.168.2.2):57854 outside 192.41.7.211:443, idle 0:00:12, bytes 19093, flags UfFRIOB
TCP outside 66.26.x.x(192.168.2.2):57853 outside 192.41.7.211:443, idle 0:00:14, bytes 38031, flags UfFRIOB
TCP outside 66.26.x.x(192.168.2.2):57852 outside 192.41.7.211:443, idle 0:00:31, bytes 4825, flags UfFRIOB
TCP outside 66.26.x.x(192.168.2.2):57851 outside 192.41.7.211:443, idle 0:00:14, bytes 9471, flags UfFRIOB
TCP outside 66.26.x.x(192.168.2.2):57850 outside 192.41.7.211:443, idle 0:00:23, bytes 4769, flags UfFRIOB
TCP outside 66.26.x.x(192.168.2.2):57849 outside 192.41.7.211:443, idle 0:00:37, bytes 20405, flags UfFRIOB
TCP outside 66.26.x.x(192.168.2.2):57848 outside 192.41.7.211:443, idle 0:00:15, bytes 37898, flags UfFRIOB
TCP outside 66.26.x.x(192.168.2.2):57847 outside 192.41.7.211:443, idle 0:00:41, bytes 17337, flags UfFRIOB

Show local presents the same information with the addition of...

Detected interface 'outside' as the Internet interface. Host limit applies to all other interfaces.
Current host count: 0, towards licensed host limit of: 10

Interface outside: 5 active, 126 maximum active, 0 denied
local host: <192.168.2.2>,
    TCP flow count/limit = 11/unlimited
    TCP embryonic count to host = 0
    TCP intercept watermark = unlimited
    UDP flow count/limit = 0/unlimited

The circumstances and changes are probably all-too-familiar to you, but could you post the configs that were changed so I can see what was changed?  In your original configuration you are not allowing VPN clients to ssh to the ASA.  You can assign a management interface for remote access to the ASA.

ssh 192.168.1.0 255.255.255.0 inside

I do have the SSH exemption in the fire wall. I did more testing last night and it seems that VPN users can't actually access anything on the 192.18.1.0 network. I'm wondering if that is also why I cannot access web. I'm thinking I need some sort of ACL to allow this?

ASA Version 7.2(4)

!

hostname Ex

domain-name Ex

enable password encrypted

passwd encrypted

names

!

interface Vlan1

nameif inside

security-level 100

ip address 192.168.1.1 255.255.255.0

!

interface Vlan2

nameif outside

security-level 0

ip address dhcp setroute

!

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

!

ftp mode passive

clock timezone EST -5

clock summer-time EDT recurring

dns server-group DefaultDNS

domain-name Ex

same-security-traffic permit intra-interface

access-list inside_nat0_outbound extended permit ip any 192.168.2.0 255.255.255.248

pager lines 24

logging asdm informational

mtu inside 1500

mtu outside 1500

ip local pool RemoteDHCP 192.168.2.2-192.168.2.7 mask 255.255.255.248

icmp unreachable rate-limit 1 burst-size 1

asdm image disk0:/asdm-524.bin

no asdm history enable

arp timeout 14400

global (outside) 1 interface

nat (inside) 0 access-list inside_nat0_outbound

nat (inside) 1 0.0.0.0 0.0.0.0

nat (outside) 1 192.168.2.0 255.255.255.248

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

aaa authentication ssh console LOCAL

http server enable

http 192.168.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 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac

crypto dynamic-map outside_dyn_map 20 set pfs

crypto dynamic-map outside_dyn_map 20 set transform-set ESP-AES-256-SHA

crypto map outside_map 65535 ipsec-isakmp dynamic outside_dyn_map

crypto map outside_map interface outside

crypto isakmp enable outside

crypto isakmp policy 10

authentication pre-share

encryption aes-256

hash sha

group 2

lifetime 86400

telnet timeout 5

ssh 192.168.1.0 255.255.255.0 inside

ssh 192.168.2.0 255.255.255.248 outside

ssh timeout 5

ssh version 2

console timeout 0

dhcpd dns 209.18. 209.18.

dhcpd auto_config outside

!

dhcpd address 192.168.1.2-192.168.1.33 inside

dhcpd enable inside

!

group-policy internal

group-policy attributes

dns-server value 209.18. 209.18.

vpn-tunnel-protocol IPSec

split-tunnel-policy tunnelall

default-domain value Ex

username password encrypted privilege 15

tunnel-group type ipsec-ra

tunnel-group general-attributes

address-pool RemoteDHCP

default-group-policy

tunnel-group ipsec-attributes

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

Hi,

To access the internet via Stick Model, we have to do U-Turning on the ASA. We can PAT all the traffic comming from the outside interface to the outside interface while going outside. The ASA would check route once the packets hits the ASA and then perfroms NAT based upon the routing. To do a U-Turning, you have to add the following commands:

nat (outside) 1 192.168.2.0 255.255.255.0 (i.e. the source network from where the packet is coming and the subnet mask)

You already have a global (outside) 1 interface so you need not to add any other command for the NAT.


same-security-traffic permit intra-interface (This command will enable U-Turning on the Firewall as it is disabled by defualt).

So here is the packet flow:

The packet would hit the firewall and would get decrypted by the SAs created.

The firewall will check the routing for the destination address and it will point towards the outside interface

The firewall will now see that the packet is coming from outside and going to outside and now our nat (outside) 1 and global (outside) 1 will take effect.

For SSH:

You have to make the interface the management interface on which you want to do ssh.

For e.g managemen-access inside

Now enable ssh on the interface:

ssh 192.168.2.0 255.255.255.0 inside

     192.168.2.0 is the network from where you want to ssh and inside is the interaface to which you want to ssh

NOT ABLE TO ACCESS THE INTERNAL LAN:

There can be many reasons for that.

1. Please add the follwoing command to enable nat-transparency:

cry isakmp nat-t

If this doesnt work, go to the next point:

2. Please send me the output of following commands once you are connected:

     2.1 sh cry isa sa

     2.2 sh cry ipsec sa

3. Live logging of the time when you ping anything on the inside.

Please try to ping the inside interface of the ASA i.e. 192.168.1.1 after connecting to make sure nothing is wrong on the internal lan. Make sure you add the command management-access inside before you ping.

HTH

Mitesh

Message was edited by: Mitesh

Thank you for the detailed response, I'm going to work through all of that. For the portion regarding U-Turning I made the changes you suggested and I still cannot reach the internet. I am starting to think I may have misconfigured the tunnel. When looking at "statistics" on the client here is what I'm seeing:

Bytes

Recieved: 0

Sent: Lots

Packets

Encrypted: 100s

Decrypted: 0

Discarded: 100+

Bypassed: 200+

Transport

Transparent Tunneling: Inactive

Local LAN: Disabled

Compression: None

The client is not recieving anything back, correct? What might be the cause of that?

Hi,

Yes, you are correct. The client is not receiving anything. Please add this command "crypto isakmp nat-t" and then connect the client. Make sure that you reconnect the client after adding this command if the client is connected at the time of adding the command.

If this doesnt work, send me the output of "sh cry ipsec sa".

Mitesh

Excellent! It would figure it was a single command! I'm currently using the internet via the VPN connection, thank you so much!

I'm going to check on the other devices to see how local resources are and then work through your suggestions as well.

Thank you again!