Build an automated shell script using Ubuntupptpd
#!/bin/bash## pptp.sh is writed by Mislost.## Auto install and config pptpd vpn server## Update system and install pptpsudo apt-get -y updatesudo apt-get -y install ppp pptpd## get ip and remoteipPRIVATE_IP=`ifconfig eth0 | grep "inet addr:" | sed -n 's/.*inet addr:\(.*\) B.*/\1/p'`
SUBNET=`echo ${PRIVATE_IP%.*}.10-250`## config /etc/pptpd.confsudo sed -i "s/^localip .*/localip $IP/;s/^remoteip.*/remoteip $SUBNET/" /etc/pptpd.conf## config /etc/ppp/optionssudo sed -i 's/^ms-dns.*/ms-dns 8.8.8.8/' /etc/ppp/options## create vpn accountsudo sh -c 'echo "test pptpd test *" >> /etc/ppp/chap-secrets'## config ip_forwardsudo sed -i 's/^\(net.ipv4.ip_forward=\).*/\1=1/' /etc/sysctl.confsudo sysctl -p## iptables forwardsudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEecho "sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE" >> /etc/rc.localsudo iptables -A FORWARD -p tcp --syn -s ${PRIVATE_IP%.*}.0/24 -j TCPMSS --set-mss 1356echo "sudo iptables -A FORWARD -p tcp --syn -s ${PRIVATE_IP%.*}.0/24 -j TCPMSS --set-mss 1356" >> /etc/rc.local## restart pptpd servicesudo killall pptpdsudo service pptpd restart##echo "Successful~!"