Set up pptp server on Ubuntu

1. Install pptpd.

sudo apt install pptpd

2. Allocate ip address.

sudo nano /etc/pptpd.conf
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

3. Create vpn account.

sudo nano /etc/ppp/chap-secrets
username pptpd password *

Note: ‘*’ means unlimited ip address.

4. Set DNS server.

sudo nano /etc/ppp/options
ms-dns 8.8.8.8
ms-dns 8.8.4.4

5. Set Transmitting.

sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1

Enable transmitting.

sudo sysctl -p

Edit iptables to set up fire wall.

 sudo /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

6. Restart pptpd server.

sudo /etc/init.d/pptpd restart

7.一键完成脚本

if [ $# != 2 ];then    
    echo "run user pass"    
    exit    
fi    
sudo apt-get install -y pptpd    
sudo sed 's/#localip 192.168.0/localip 192.168.0/g' -i /etc/pptpd.conf    
sudo sed 's/#remoteip 192.168.0/remoteip 192.168.0/g' -i /etc/pptpd.conf    
sudo echo "$1 pptpd "$2" *">>/etc/ppp/chap-secrets    
sudo service pptpd restart    
sudo sed 's/#ms-dns 10.0.0.1/ms-dns 8.8.8.8/g' -i /etc/ppp/pptpd-options    
sudo sed 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' -i /etc/sysctl.conf    
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE    
sudo sysctl -p    
sudo service pptpd restart    
echo "now open 1723 and 47 on firewall"#sudo apt-get update