pptp.sh 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #!/bin/bash
  2. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
  3. export PATH
  4. #===================================================================
  5. # SYSTEM REQUIRED: CentOS 6 (32bit/64bit)
  6. # DESCRIPTION: Auto install pptpd for CentOS 6
  7. # Author: Teddysun <[email protected]>
  8. #===================================================================
  9. if [[ $EUID -ne 0 ]]; then
  10. echo "Error:This script must be run as root!"
  11. exit 1
  12. fi
  13. if [[ ! -e /dev/net/tun ]]; then
  14. echo "TUN/TAP is not available!"
  15. exit 1
  16. fi
  17. cur_dir=`pwd`
  18. clear
  19. echo ""
  20. echo "#############################################################"
  21. echo "# Auto Install PPTP for CentOS 6 #"
  22. echo "# System Required: CentOS 6(32bit/64bit) #"
  23. echo "# Intro: http://teddysun.com/134.html #"
  24. echo "# Author: Teddysun <[email protected]> #"
  25. echo "#############################################################"
  26. echo ""
  27. # Remove installed pptpd & ppp
  28. yum remove -y pptpd ppp
  29. iptables --flush POSTROUTING --table nat
  30. iptables --flush FORWARD
  31. rm -f /etc/pptpd.conf
  32. rm -rf /etc/ppp
  33. arch=`uname -m`
  34. IP=`ip addr | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | egrep -v "^192\.168|^172\.1[6-9]\.|^172\.2[0-9]\.|^172\.3[0-2]\.|^10\.|^127\.|^255\." | head -n 1`
  35. # Download pptpd
  36. if [ -s pptpd-1.4.0-3.el6.$arch.rpm ]; then
  37. echo "pptpd-1.4.0-3.el6.$arch.rpm [found]"
  38. else
  39. echo "pptpd-1.4.0-3.el6.$arch.rpm not found! download now......"
  40. if ! wget http://lamp.teddysun.com/files/pptpd-1.4.0-3.el6.$arch.rpm; then
  41. echo "Failed to download pptpd-1.4.0-3.el6.$arch.rpm, please download it to $cur_dir directory manually and retry."
  42. exit 1
  43. fi
  44. fi
  45. # Install some necessary tools
  46. yum -y install net-tools make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers dkms ppp
  47. rpm -ivh pptpd-1.4.0-3.el6.$arch.rpm
  48. rm -f /dev/ppp
  49. mknod /dev/ppp c 108 0
  50. echo 1 > /proc/sys/net/ipv4/ip_forward
  51. echo "mknod /dev/ppp c 108 0" >> /etc/rc.local
  52. echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local
  53. echo "localip 192.168.8.1" >> /etc/pptpd.conf
  54. echo "remoteip 192.168.8.2-254" >> /etc/pptpd.conf
  55. echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd
  56. echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd
  57. pass=`openssl rand 6 -base64`
  58. if [ "$1" != "" ]
  59. then pass=$1
  60. fi
  61. echo "vpn pptpd ${pass} *" >> /etc/ppp/chap-secrets
  62. iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -j SNAT --to-source ${IP}
  63. iptables -A FORWARD -p tcp --syn -s 192.168.8.0/24 -j TCPMSS --set-mss 1356
  64. service iptables save
  65. chkconfig --add pptpd
  66. chkconfig pptpd on
  67. service iptables restart
  68. service pptpd start
  69. echo
  70. echo "PPTP VPN service is installed."
  71. echo "ServerIP:${IP}"
  72. echo "Username:vpn"
  73. echo "Password:${pass}"
  74. echo "Welcome to visit: https://teddysun.com/134.html"
  75. echo
  76. exit 0