1. 程式人生 > >基於CentOS7的PPTP VPN一鍵部署指令碼

基於CentOS7的PPTP VPN一鍵部署指令碼

指令碼已親測可用,環境是centos7.4

#!/bin/bash
[ $(id -u) != "0" ] && { echo "Error: You must be root to run this script"; exit 1; } 
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
############################################################################
echo "##########################################################################"
read -p "pptp_user: " NAME if [ -z $NAME ];then NAME=user fi read -p "pptp_passwd: " PASS if [ -z $PASS ];then p1=`cat /dev/urandom | tr -cd abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ0123456789 | head -c 4` p2=`cat /dev/urandom | tr -cd abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ0123456789 | head
-c 4`
PASS="$p1$p2" fi echo "##########################################################################" ########################################################################################### yum -y update yum -y install epel-release yum -y install firewalld ppp pptpd net-tools echo 'net.ipv4.ip_forward = 1'
>> /etc/sysctl.conf sysctl -p cat >> /etc/ppp/chap-secrets <<END $NAME pptpd $PASS * END cat >/etc/pptpd.conf <<END option /etc/ppp/options.pptpd #logwtmp localip 192.168.2.1 remoteip 192.168.2.10-100 #此處配置分配給VPN內網使用者的IP,可自行修改,不與內部網段衝突即可 END cat >/etc/ppp/options.pptpd <<END name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns 223.5.5.5 #此處修改為阿里的DNS,撥通VPN後開啟國內網頁的速度會快一點 ms-dns 223.6.6.6 proxyarp lock nobsdcomp novj novjccomp nologfd END ens=`route | grep default | awk '{print $NF}'` systemctl restart firewalld systemctl enable firewalld firewall-cmd --set-default-zone=public firewall-cmd --add-interface=$ens firewall-cmd --add-port=22/tcp --permanent firewall-cmd --add-port=1723/tcp --permanent firewall-cmd --add-masquerade --permanent firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -i $ETH -p gre -j ACCEPT firewall-cmd --reload cat > /etc/ppp/ip-up.local << END /sbin/ifconfig $1 mtu 1400 END chmod +x /etc/ppp/ip-up.local systemctl restart pptpd systemctl enable pptpd ############################################################################################### ***_ip=`ifconfig $ens | grep "inet " | awk '{ print $2}'` clear echo "##########################################################################" echo "You can now connect to your *** via your external IP: $***_ip" echo "Username: $NAME" echo "Password: $PASS" echo "##########################################################################"

如需另外新增vpn使用者,請編輯/etc/ppp/chap-secrets檔案,按原來新增的使用者格式新增即可;