[vpn-help] Bug report: same subnet both ends of the tunnel doesn't work.
Matthew Grooms
mgrooms at shrew.net
Fri Jul 30 00:36:18 CDT 2010
On 7/28/2010 8:46 PM, Matthew Grooms wrote:
> On 7/28/2010 9:29 AM, Ian Fraser wrote:
>> Hi, I have a problem with the Shrew Soft Windows VPN client and would
>> like to submit the following bug report:
>>
>> Problem: Recently changed from Junipers VPN client to Shrew Soft's
>> VPN client for windows. I happily completed all testing without a
>> problem. After the users switched some of them complained of various
>> behaviour such as: Connects RDP client for a short while(10-20 mins)
>> then disconnects and refuses to reconnect. Tunnel comes up, until try
>> they to connect the RDP client, then the tunnel drops. Tunnel comes
>> up, but RDP client fails to connect.
>>
>> After some time, it emerged that the users experiencing these
>> problems were using home connections that used the same subnet range
>> as our internal network (192.168.1.0/24 for example). I am hoping
>> that because other VPN client software can cope with this situation,
>> this is not an insurmountable problem.
>>
>> VPN Client Version : 2.1.5-release (have also tried 2.1.6-rc-1)
>> Windows OS : Windows Vista and XP Gateway Make/Model: Juniper SSG-140
>> Gateway OS version: 5.4
>>
>
> Hi Ian,
>
> I can only think of one way to cope with this situation and that's to
> cut off access to the local network by promoting the identical route
> that points the distant network. The Shrew Soft client is designed to
> increment the route metric on existing routes and use the lowest route
> metric possible to reach distant networks. I'll try to re-create the
> scenario you describe and see if I can re-produce, and with any luck,
> correct the issue.
>
Hi Ian,
I did some investigation and this is what I found. The client does do a
pretty good job of demoting existing routes and promoting the routes it
adds for tunneling. But since the client responds to ARP requests based
on the IPsec policies ( and there was an IPsec policy for the local
network because it exists remotely as well ), the host would get really
confused because it was receiving ARP responses on the real adapter as
well as the virtual adapter. In fact, you could see it bouncing between
the two interfaces using arp -a at the command line.
In any case, the client now does a lookup to see if a gateway is used to
reach the VPN gateway. If so, we install a NONE policy to ensure that
packets destined to the gateway won't match an IPsec policy. The ARP
code was also modified to ensure that we won't respond to a request
coming from our virtual adapter to resolve the gateway MAC. This should
get you closer to what you want. Please let me know how it goes ...
http://www.shrew.net/download/vpn/vpn-client-2.1.6-arpfix-1.exe
But I will say this, having networks overlap is a good way to get into
trouble fast. For example, lets say your user is trying to remotely RDP
into a Windows server at 192.168.1.10. His home network is configured
for DHCP and he gets handed the address 192.168.1.9. Things work great.
But later, he is woken in the middle of the night because there is an
emergency. He fires his computer back up and gets handed out ( yup, you
guessed it ) 192.168.1.10. No amount of route manipulation or trickery
will allow a host to RDP to 192.168.1.10 when he has the same address
assigned to a local interface. It just isn't going to happen. Your best
option is to renumber your work network to something that every Tom,
Dick and Harry wont have setup by default in the SOHO router. Believe
me, you will sleep better at night.
-Matthew
More information about the vpn-help
mailing list