设为首页收藏本站language 语言切换
查看: 2110|回复: 5
收起左侧

Centos下vpn(pptpd)的部署

[复制链接]
 成长值: 63400
发表于 2010-10-14 15:23:40 | 显示全部楼层 |阅读模式
一、安装
    在centos 5下面安装pptpd最省事的安装就是下载rpm包pptpd-1.3.4-1.rhel5.1.i386.rpm,然后直接执行 rpm –ivh pptpd-1.3.4-1.rhel5.1.i386.rpm 。幸运的是这个包没有其他依赖,因此安装应该是异常的顺利。如果使用源码安装,会出现ppp版本高的情况,需删除pppd2.3.4 再安装pppp2.4.3,反而麻烦了。    安装完rpm包后,自动生成几个配置文件,主配置文件/etc/pptpd.conf,选项文件/etc/ppp/options.pptpd, 帐号文件/etc/ppp/chap-secrets.后面配置pptpd主要就是对这几个文件进行修改。
    二、vpn拓扑结构
    vpn的访问逻辑上存在3个网络:
    1、  欲访问的目标网络。通常在vpn服务器所在的内部网络(vpn服务器有2个网卡,一个是公网的,一个是私有网络的)
    2、  Vpn的公网网络。
    3、  Vpn连接后与客户端形成的虚拟网络。建议单独设置一个网络,这样就不会占用vpn后面的私有网络(目标网络)的ip资源/地址。


  

                               
登录/注册后可看大图
    当然vpn隧道网络可以跟目标网络是同一个网段,不过不推荐这样。三、vpn服务器端的配置
    (一)修改主配置文件/etc/pptpd.conf.只需要加入下面两行:
localip
172.16.195.1
remoteip 172.16.195.101-200


    Localip这行是给vpn服务器设置一个隧道ip
    Remoteip是自动分配给客户端的ip地址范围。
    (二)修改选项文件/etc/ppp/options.pptpd.需要设定分配给客户端的dns,因此仅需把ms-dns前的注释去掉,改成可用的dns如下:
   
ms-dns 61.135.154.5
ms-dns 159.226.240.66


    为了方便查看调试信息,把debug行前面的注释取消即可。Dump前的注释也取消。
    (三)添加帐号。通过编辑文件/etc/ppp/chap-secrets逐行加入;一个账号占一行。一行分4列,其表示如下:
   
用户名
服务器名
密码
ip
没有字符数限制
Pptpd—都用这个,如果用其它的名称,需要修改options.pptpd文件的name行的内容
用双引号的话,密码就不能包含双引号了
* 表示有pptpd随机分配ip



    账号和密码是明文的,所以需要妥善设置访问权限。一个设置好的账号文件与下列项目类似:
      “sery”    pptpd   “&hds)$+”   *
    四、运行pptpd.执行命令service pptpd start或者执行/etc/init.d/pptpd 即可启动它。通过检查进程、查看系统日志来确定pptpd是否正常。
    五、客户端配置(windows)。这个应该很容易了,就不再多费口舌。六、拨号登录。


                               
登录/注册后可看大图

    拨号过程中,登录到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规则。
发表于 2010-10-20 15:35:23 | 显示全部楼层
沙发 2010-10-20 15:35:23 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-9-16 13:29:53 | 显示全部楼层
都快过来围观,楼主的好帖赞爆了
板凳 2013-9-16 13:29:53 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2015-3-31 14:53:38 | 显示全部楼层
666666666666666666
地板 2015-3-31 14:53:38 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-4 22:01 , Processed in 0.054703 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表