VPN (15)

Win2003 单网卡 VPN+NAT代理 服务器

  • Published in VPN
一、问题的提出 如图1所示,在单位有个私有地址为192.168.0.0的网络,各电脑是通过ADSL共享方式接入Internet,在家中有台电脑也通过ADSL访问Internet,现在想在家中随时安全地访问单位192.168.0.2这台机器,实现方法很多,最为安全的是通过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 )虚拟专用网。 图1 三、优点 通过VPN最大的优点就是安全。这点将在后面介绍到。 四、设置VPN服务 实现VPN的方式非常多,用带VPN功能的路由器或用Linux、Windows操作系统等,在windows系统下用双网卡建立VPN服务器更容易实现、但要增加一块网卡。介绍这方面的内容很多,不再赘述。本文介绍的是在Windows 2003中用单网卡来实现。下面介绍实际实现过程,首先是在192.168.0.2这台机器上配置VPN服务。 选择"开始"'"所有程序"'"管理工具"'"路由和远程访问"。 设置过程如图2至图9所示,出现图10界面就完成了单网的VPN服务器端的设置,这里特别指出的是用单网卡一定要在图6处选择"自定义配置",否则就进行不下去了。 图2 图3 图4 图5 图6 图7 图8 图9 图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地址为 169.x.xx . ** .. **,这是VPN默认的IP地址,是正常的,不用管它。 图15 图16 图17 图18 图19 图20 图21 图22 图23 3、远程连接前准备 在远程连接之前要做好两个准备。 第一要获得VPN服务器接入Internet的公共IP地址,如果是分配的静态IP,那就简单了,如果是动态IP,那必须在远程能随时获得这个IP地址,本例如图1,192.168.0.2这台机器的公网IP实际上就是ADSL猫接入Internet时,是ISP给自动分配的,获得动态IP的方法请参考拙作《获取动态IP地址的几种方法》。 第二要做个端口映射,从图1的拓扑可以看出,本例是通作在ADSL猫中通过NAT转换接入Internet的,通过这种方式一定要在ADSL中作端口映射,由于Windows 2003的VNP服务用的是1723端口,所以如图23,将1723端口映射到192.168.0.2这台设有VPN服务的机器。如果用的是直接拨号,那在防火墙中将这个端口放开就行了。 图24 4、远程连接 上面的服务器中的测试完成后,就可以在家中进行远程连接了,其过程和在本机连接测试的过程一样,如图14至图21所示,在实际连接时到图18这一步时,输入VPN服务器所在的公网IP就行了。 实际应用中我是按照图1的拓扑连接的,连接很顺利,但遇到一个问题,在家通过VPN连入单位的机器后,和单位的机器通信完全正常,但不能正常上网。用route print检查路由(如表1所示)发现有两个到目标0.0.0.0的路由,网关一个是本来的网关192.168.1.1,一个是建立VPN后的网关169.254.101.219,这样在访问Internet网络时就有问题了。 C:>route print 。。。。。。。 Active Routes: Network Destination Netmask Gateway Inte**ce 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…
Read more...

CentOS 5.5 安装 IPSEC / L2TP VPN

  • Published in VPN
CentOS 5.5 安装 IPSEC / L2TP VPN 继续折腾 Linode VPS , 上次成功的学会了 Linode VPS (LAMP+ PPTP VPN)配置笔记 ,更进一步,学习安装 IPSEC / L2TP VPN 。 在这里记录一下安装过程、与遇到的问题。 已经安装的工作环境为 Linode VPS + CentOS 5.5 32 bit 一、部署IPSEC 、安装 openswan 1、关联包 yum install make gcc gmp-devel bison flex 2、编译安装 cd /usr/src wget http://www.openswan.org/download/openswan-2.6.24.tar.gz tar zxvf openswan-2.6.24.tar.gz cd openswan-2.6.24 make programs install 3、配置 vi /etc/ipsec.conf config setup nat_traversal=yes virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12 oe=off protostack=netkey conn L2TP-PSK-NAT rightsubnet=vhost:%priv also=L2TP-PSK-noNAT conn L2TP-PSK-noNAT authby=secret pfs=no auto=add keyingtries=3 rekey=no ikelifetime=8h keylife=1h type=transport left=YOUR.SERVER.IP.ADDRESS leftprotoport=17/1701 right=%any rightprotoport=17/%any 4、 设置 Shared Key vi /etc/ipsec.secrets YOUR.SERVER.IP.ADDRESS %any: PSK “YourSharedSecret” (别忘了把红色的「YOUR.SERVER.IP.ADDRESS」这部分换成你的服务器的 IP 地址,把「zhimakaimen」部分换成随便一个字串,例如你喜欢的一句话如 ilovemoney,等等。) 5、 修改包转发设置 for…
Read more...

pptpd PPP VPN LOG

  • Published in VPN
vpn 服务,但通过last查看的时候,只有登录的IP信息, 无法查看VPN客户端登录的用户名,登录地址,断开时间等信息。 请同事写了两个脚本。用于记录登录信息及登出信息。记一下,以备后用 修改ip-up ,ip-down文件,增加以下内容(export PATH 行后面),将日志信息记录到 /var/log/pptpd.log文件 中 vim /etc/ppp/ip-up echo "" >> /var/log/pptpd.log echo "IP UP \ `date -d today +%F_%T` \ $6 \ $PEERNAME \ $1 \ $5" >> /var/log/pptpd.log vim /etc/ppp/ip-down文件。ip-down写入pptpd.log与最后一个 ip-up进行配对,以方便查看 tac /var/log/pptpd.log | while read line do _tmphead=$(echo $line | cut -d" " -f1,2) _tmptime=$(echo $line | cut -d" " -f3) _tmpuser=$(echo $line | cut -d" " -f5) if [ "IP UP" = "$_tmphead" -a "$PEERNAME" = "$_tmpuser" ] then _rep_line="$line" sed -i "s/$line/$_rep_line\nIP DOWN \ `date -d today +%F_%T` \ $6 \ $PEERNAME \ $1 \ $5/" /var/log/pptpd.log break fi done
Read more...

Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/vhosts/shan.info/httpdocs/templates/gk_publisher/html/com_k2/templates/default/category.php on line 191