VPN访问内网
最近阿三又有奇特想法了:他想在家里通过Internet安全访问公司局域网里的某台机子。
 
  具体情况是这样:阿三公司有个私有地址为192.168.0.0的网络,各电脑是通过ADSL共享方式接入Internet,阿三在家中也通过ADSL访问Internet,现在想在家中随时安全地访问自己在公司里的工作电脑,IP192.168.0.2(拓扑图见图1)。该如何实现呢?
 
 

  方法很多,要说最为安全的是当然是通过VPN了!我就来操刀为阿三解决此难题。
 
  什么是VPN
  就阿三的情况来说,就是现在单位192.168.0.2这台机器上设置好VPN服务,在家中通过VPN客户端访问单位这台机器,建立连接后,这两台机器通信时就像在局域网中一样,比如:要在192.168.1.10这台电脑中下载192.168.0.2这台机器的文件(假设该机已设好FTP服务),可以直接在浏览器中键入:ftp://192.168.0.2下载文件了。虽然是通过Internet进行通信,但整个过程都是加密的,就像是在Internet中穿了一条只有两台机器才能通过的隧道,这就是VPN( Virtual Private Networks )虚拟专用网。
 
  优点
  通过VPN最大的优点就是安全。这点将在后面介绍到。
 
  设置VPN服务
  实现VPN的方式非常多,用带VPN功能的路由器或用Linuxwindows操作系统等,在win
dows系统下用双网卡建立VPN服务器更容易实现、但要增加一块网卡。介绍这方面的内容很多,不再赘述。本文介绍的是在windows 2003中用单网卡来实现。下面介绍实际实现过程,首先是在192.168.0.2这台机器上配置VPN服务。
 
  选择"开始"'"所有程序"'"管理工具"'"路由和远程访问"
 
  设置过程如图2至图9所示,出现图10界面就完成了单网的VPN服务器端的设置,这里特别指出的是用单网卡一定要在图6处选择"自定义配置",否则就进行不下去了。
 
 

 
2

 
 

 
3

 
 

 
4

 
 


 
5

 
 

 
6

 
 

 
7

 
 

 
8

 
 

 
10

  从客户端连接到VPN服务器
  1、新建有拨入权限的用户
  要登录到VPN服务器,必须要知道该服务器的一个有拨入权限的用户,为了讲得更明白,下面在该VPN服务器上新建个用户并赋予该用户拨入的权限,过程如图11至图12是建立一
个用户,图13是给这个用户远程登录的权限,一定要在"远程访问权限"处选择"允许访问",不然就无法登录了。
 
 

 
11


 
 

 
12


 
 

 
13


 
 

 
14

 
  2、在本机测试连接
  在远程连接到VPN服务器之前,最好先在VPN服务器的本机测试一下,测试过程如下:
 
  鼠标右键"网上邻居",如图14,点击"新建连接向导",按图15至图21的步骤建立连接,因为现在做的是本机的测试,所以其中图18中的IP地址为本机的地址,图21中的用户dzq就是我们刚才新建的用户。出现图22的连接图标表示连接成功。这样就可以进行远程连接测试了。如果此时用ipconfig /all看网卡状态,就会看见三个网卡,其中一个IP地址为192.168.0.2的就是本机网卡,另外两个是刚才做本机测试时建立的,它们的IP地址为 . xxx .. xxx,这是VPN默认的IP地址,是正常的,不用管它。
 
 

 
15

 
 

 
16

 
如何建立局域网
 
17
 

 
18

 
 

 
19

 
 

 
20

 
 

 
21

 
 

 
22

 
 

 
23

 
  3、远程连接前准备
  在远程连接之前要做好两个准备。
 
  第一要获得VPN服务器接入Internet的公共IP地址,如果是分配的静态IP,那就简单了,如果是动态IP,那必须在远程能随时获得这个IP地址,阿三的情况,如图1192.168.0.2这台机器的公网IP实际上就是ADSL猫接入Internet时,是ISP给自动分配的。
 
  第二要做个端口映射,从图1的拓扑可以看出,阿三的情况是通作在ADSL猫中通过NAT转换接入Internet的,通过这种方式一定要在ADSL中作端口映射,由于windows 2003VNP服务用的是1723端口,所以如图23,将1723端口映射到192.168.0.2这台设有VPN服务的机器。如果用的是直接拨号,那在防火墙中将这个端口放开就行了。
 
 

 
24


 
  4、远程连接
  上面的服务器中的测试完成后,就可以在家中进行远程连接了,其过程和在本机连接测试的过程一样,如图14至图21所示,在实际连接时到图18这一步时,输入VPN服务器所在的公网IP就行了。
 
  实际应用中我是按照图1的拓扑连接的,连接很顺利,但遇到一个问题,在家通过VPN连入单位的机器后,和单位的机器通信完全正常,但不能正常上网。用route print检查路由(如下段所示)发现有两个到目标0.0.0.0的路由,网关一个是本来的网关192.168.1.1,一个是建立VPN后的网关169.254.101.219,这样在访问Internet网络时就有问题了。
 
  C:\>route print
  。。。。。。。
  Active Routes:
  Network Destination Netmask Gateway Interface Metric
  0.0.0.0 0.0.0.0 169.254.101.219 169.254.101.219 1
  0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.10 2
  61.55.13.163 255.255.255.255 192.168.1.1 192.168.1.10 1
  127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
  169.254.101.219 255.255.255.255 127.0.0.1 127.0.0.1 50
  169.254.255.255 255.255.255.255 169.254.101.219 169.254.101.219 50
  192.168.1.0 255.255.255.0 192.168.1.10 192.168.1.10 20
  192.168.1.10 255.255.255.255 127.0.0.1 127.0.0.1 20
  192.168.1.255 255.255.255.255 192.168.1.10 192.168.1.10 20
  224.0.0.0 240.0.0.0 192.168.1.10 192.168.1.10 20
  224.0.0.0 240.0.0.0 169.254.101.219 169.254.101.219 1
  255.255.255.255 255.255.255.255 192.168.1.10 192.168.1.10 1
  Default Gateway: 169.254.101.219
  ======================================================
  Persistent Routes:
  None
 
  解决的办法:
 
  删除接入VPN后的路由,命令如下所示:
 
  C:\>route delete 0.0.0.0 mask 0.0.0.0 169.254.101.219
 
  加一条指向VPN服务器所在网络的路由,阿三的情况中(如图1VPN服务器的地址为192.168.0.2,所以只要将到192.168.0.0这个网络的指向VPN的地址169.254.101.219就行了。
 
  C:\>route add 192.168.0.0 mask 255.255.255.0 169.254.101.219
 
  5、几点说明
  1)、建立完VPN连接后,两台电脑的VPNIP地址都是169.0.0.0中的地址,好像不能修改,但这并不影响使用,如图1建立连接后,在192.168.1.10这台电脑中ping 192.168.0.2是通的,也就是说要访问这台机器的资源,只要用192.168.0.2这个地址就行了。就像在局域网中一样。
 
  2)、做为VPN服务器的这台机器的安全设置,如果没有特殊需要很多服务完全可以限制在局域网内,例如FTP服务只允许192.168.0.0网内的电脑访问。这样只要把VPN安全做好就行了。换句话说,以阿三的情况来说,192.168.0.2这台机器访问Internet时是通过NAT地址转换,如果在ADSL猫中不做端口映射,从Internet的其它电脑上是看不到这台机器的,本例只做了VPN服务的1723端口的映射,虽然本机开了很多的服务,开放了很多端口,但这些都是对局域网开放的,要想从Internet访问这台机器,只有先建立了VPN才能访问其它的资源。只做一个服务的安全总比做许多服务的安全要容易些。VPN服务器有许多安全设置,以后再探讨。
 
  3)、建立完VPN连接后,可以通过WWWFTP互相访问,也可通过终端服务等登录到这台机器上,进而访问局域网中的其它电脑。图24就是192.168.1.10在建立完VPN后直接利用远程桌面连接,登录到192.168.0.2的机器上的登录界面。
 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。