Centos下vpn(pptpd)的部署(3) - 51CTO.COM

来源:百度文库 编辑:神马文学网 时间:2024/04/29 04:25:49
Centos下vpn(pptpd)的部署(3)
http://netsecurity.51cto.com  2008-12-23 10:55  田逸  51CTO.com  我要评论()
摘要:在centos 5下面安装pptpd最省事的安装就是下载rpm包pptpd-1.3.4-1.rhel5.1.i386.rpm,然后直接执行 rpm –ivh pptpd-1.3.4-1.rhel5.1.i386.rpm 。幸运的是这个包没有其他依赖,因此安装应该是异常的顺利。 标签:Centos  vpn
六、拨号登录。
拨号过程中,登录到vpn服务器查看日志,会看到用户的连接情况,下面是截取的一个片断,供参考:
Dec 19 17:16:01 max-vpn pppd[9833]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded. Dec 19 17:16:01 max-vpn pppd[9833]: pptpd-logwtmp: $Version$ Dec 19 17:16:01 max-vpn pppd[9833]: pppd options in effect: Dec 19 17:16:01 max-vpn pppd[9833]: debug # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: logfile /etc/ppp/vpn.log # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: dump # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: plugin /usr/lib/pptpd/pptpd-logwtmp.so # (from command line) Dec 19 17:16:01 max-vpn pppd[9833]: require-mschap-v2 # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: refuse-pap # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: refuse-chap # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: refuse-mschap # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: name pptpd # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: pptpd-original-ip 200.199.118.72 # (from command line) Dec 19 17:16:01 max-vpn pppd[9833]: 115200 # (from command line) Dec 19 17:16:01 max-vpn pppd[9833]: lock # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: local # (from command line) Dec 19 17:16:01 max-vpn pppd[9833]: novj # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: novjccomp # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: ipparam 200.199.118.72 # (from command line) Dec 19 17:16:01 max-vpn pppd[9833]: ms-dns xxx # [don't know how to print value] # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: proxyarp # (from /etc/ppp/options.pptpd) Dec 19 17:16:01 max-vpn pppd[9833]: 172.16.195.1:172.16.195.101-200 # (from command line) Dec 19 17:16:02 max-vpn pppd[9833]: nobsdcomp # (from /etc/ppp/options.pptpd) Dec 19 17:16:02 max-vpn pppd[9833]: require-mppe-128 # (from /etc/ppp/options.pptpd) Dec 19 17:16:02 max-vpn pppd[9833]: pppd 2.4.4 started by root, uid 0 Dec 19 17:16:02 max-vpn pppd[9833]: Using interface ppp0 Dec 19 17:16:02 max-vpn pppd[9833]: Connect: ppp0 <--> /dev/pts/1 Dec 19 17:16:02 max-vpn pptpd[9832]: CTRL: Ignored a SET LINK INFO packet with real ACCMs! Dec 19 17:16:02 max-vpn pppd[9833]: Unsupported protocol 'IPv6 Control Protovol' (0x8057) received Dec 19 17:16:02 max-vpn pppd[9833]: MPPE 128-bit stateless compression enabled Dec 19 17:16:04 max-vpn pppd[9833]: Cannot determine ethernet address for proxy ARP Dec 19 17:16:04 max-vpn pppd[9833]: local IP address 172.16.195.1 Dec 19 17:16:04 max-vpn pppd[9833]: remote IP address 172.16.195.101 Dec 19 17:16:04 max-vpn pppd[9833]: pptpd-logwtmp.so ip-up ppp0 sery 200.199.118.72 [root@max-vpn ~]#
 
这段日志表明已经有一个来自200.199.118.72连接到vpn服务器,其账号为sery,分配给这个客户端机器的vpn地址是172.16.195.101.在拨号的机器(windows)上查看其现在的网络参数:
C:\Users\sery>ipconfig/all Windows IP 配置 主机名 . . . . . . . . . . . . . : sery-sony 主 DNS 后缀 . . . . . . . . . . . : 节点类型 . . . . . . . . . . . . : 混合 IP 路由已启用 . . . . . . . . . . : 否 WINS 代理已启用 . . . . . . . . . : 否 DNS 后缀搜索列表 . . . . . . . . : maxthon.net PPP 适配器 VPN 连接: 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : VPN 连接 物理地址. . . . . . . . . . . . . : DHCP 已启用 . . . . . . . . . . . : 否 自动配置已启用. . . . . . . . . . : 是 IPv4 地址 . . . . . . . . . . . . : 172.16.195.101(首选) 子网掩码 . . . . . . . . . . . . : 255.255.255.255 默认网关. . . . . . . . . . . . . : 0.0.0.0 DNS 服务器 . . . . . . . . . . . : 61.135.154.5 159.226.240.66 TCPIP 上的 NetBIOS . . . . . . . : 已启用
七、设置路由及ip伪装。
需要在这里可以登录vpn服务器,但由于没有设置相关的转发规则,因此还是没办法访问vpn后面的私有网络或者通过vpn访问互联网(windows机器会在状态栏的网络连接图标显示一个黄色的感叹号)。所以还需要完成下面几步才算真正结束了—看了一些网上的文章,通常就是在这里结束了,看来作者只是登录了一下虚拟环境。
(一)开启ip转发功能:修改配置文件/etc/sysctl.conf,使net.ipv4.ip_forward = 1
(二)写个脚本文件,实现路由,其内容大致如下:
[root@max-vpn ~]# more /usr/local/bin/vpn_route.sh #!/bin/bash /sbin/iptables -t nat -A POSTROUTING -s 192.168.195.0/24 -o eth0 -j SNAT --to-source 61.135.251.50 /sbin/iptables -t nat -A POSTROUTING -s 172.16.195.0/24 -o eth1 -j SNAT --to-source 192.168.195.166 /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
目标网络/vpn的内部网络为192.168.195.0/24,vpn服务器有2个网卡,其中一个连接公网(eth0),ip地址是61.135.251.51,另外一个网卡连私有网络,ip是192.168.195.166。这样就能正常地路由所涉及的网络了。手动执行一下这个脚本,看客户端(windows)是否能访问目标网络里的机器:最简单的方法就是ping,假定目标网络里有一个192.168.195.100的机器,并请允许icmp通过,ping 192.168.195.100 ,正常的话,再进一步访问这个服务器(如远程登录)。没有问题的话,把它加在开机自启里面。为安全起见,你可以在这个脚本里加更多的iptables规则。
【51CTO.COM 独家特稿,转载请注明出处及作者!】