配置环境:

操作系统:32位CentOS 5.5 虚拟机
内核:2.6.18-194.el5

  1.  
  2. #!/bin/sh  
  3. #####################################################  
  4. #本文内容来自《老男孩linux运维实战培训》学生—张雷  
  5. #如有转载,请务必保留本文链接及本版权信息。  
  6. #欢迎广大运维同仁一起交流linux/unix网站运维技术!  
  7. #QQ:20691687  
  8. #E-mail:sukaka@vip.qq.com  
  9. #Blog:http://sukaka.blog.51cto.com  
  10. #####################################################  
  11. #以下为正式内容  
  12. #先用yum删除已有的pptpd和ppp  
  13. yum remove -y pptpd ppp  
  14. rm -rf /etc/pptpd.conf  
  15. rm -rf /etc/ppp  
  16.  
  17. #下载软件包  
  18. wget http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm  
  19. wget http://poptop.sourceforge.net/yum/stable/packages/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm  
  20. wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm  
  21. wget http://poptop.sourceforge.net/yum/stable/rhel5Server/i386/ppp-2.4.4-14.1.rhel5.i386.rpm  
  22.  
  23. #安装软件包  
  24. rpm -ivh ppp-2.4.4-14.1.rhel5.i386.rpm  
  25. rpm -ivh dkms-2.0.17.5-1.noarch.rpm  
  26. rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm  
  27.  
  28. #删除默认的options.pptpd  
  29. rm /etc/ppp/options.pptpd  
  30. #写入数据  
  31. #pptpd server的名称  
  32. echo "name pptpd" >> /etc/ppp/options.pptpd  
  33. #拒绝pap 身份验证模式  
  34. echo "refuse-pap" >> /etc/ppp/options.pptpd  
  35. #拒绝chap 身份验证模式  
  36. echo "refuse-chap" >> /etc/ppp/options.pptpd  
  37. #拒绝mschap 身份验证模式  
  38. echo "refuse-mschap" >> /etc/ppp/options.pptpd  
  39. #在端点进行连接无收时需要使用微软的mschap-v2进行身份验证  
  40. echo "require-mschap-v2" >> /etc/ppp/options.pptpd  
  41. #MPPE模块使用128 为进行加密  
  42. echo "require-mppe-128" >> /etc/ppp/options.pptpd  
  43. #启用代理ARP 如果分配给客户端的ip地址与内网网卡在  
  44. #一个子网就需要启用  
  45. echo "proxyarp" >> /etc/ppp/options.pptpd  
  46. #锁定科幻的的PTY 设备文件  
  47. echo "lock" >> /etc/ppp/options.pptpd  
  48. #禁用BSD 压缩模式  
  49. echo "nobsdcomp" >> /etc/ppp/options.pptpd  
  50. #启用novj  
  51. echo "novj" >> /etc/ppp/options.pptpd  
  52. #禁用Van  Jacobson 压缩模式  
  53. echo "novjccomp" >> /etc/ppp/options.pptpd  
  54. #禁止将错误信息记录到标准错误输出设备  
  55. echo "nologfd" >> /etc/ppp/options.pptpd  
  56. echo "idle 2592000" >> /etc/ppp/options.pptpd  
  57. #***服务器提供给客户端的dns地址  
  58. echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd  
  59. echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd  
  60.  
  61. #写入用户和密码配置文件  
  62. #sukaka为用户  密码为自动生成  
  63. #*号为分配的随机分配remoteip地址池的地址  
  64. #可自己指定固定IP地址    
  65. pass=`openssl rand 8 -base64`  
  66. if [ "$1" != "" ]  
  67. then pass=$1  
  68. fi  
  69. echo "sukaka pptpd ${pass} *" >> /etc/ppp/chap-secrets#开启数据包转发  
  70. sysctl -w  "net.ipv4.ip_forward=1"  
  71. sysctl -p  
  72.  
  73. #删除已有的pptpd.conf  
  74. rm /etc/pptpd.conf  
  75. #写入新的数据  
  76. #指定pptpd扩展属性配置文件为options.pptpd  
  77. echo "option /etc/ppp/options.pptpd" >> /etc/pptpd.conf  
  78. #指定日志文件/var/log/wtmp  
  79. echo "logwtmp" >> /etc/pptpd.conf  
  80. #1.1.1.1  ***连接后显示的服务器ip  不是设置***时填写的ip  
  81. #为了安全服务器的ip和分配的IP不要在同一个网段  
  82. #2.2.2.100-200  ***连接后自动分配的ip  
  83. #可根据情况自行修改  
  84. echo "localip 1.1.1.1" >> /etc/pptpd.conf  
  85. echo "remoteip 2.2.2.100-200" >> /etc/pptpd.conf  
  86.  
  87. /etc/init.d/pptpd start  
  88. chkconfig --level 3 pptpd on  
  89. echo "***已安装,用户为***,密码为${pass}"