Last active
July 26, 2019 04:17
-
-
Save nshkuro/7078599 to your computer and use it in GitHub Desktop.
DigitalOcean VPN script. Ubuntu 12.04
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
echo "Select on option:" | |
echo "1) Set up new PoPToP server AND create one user" | |
echo "2) Create additional users" | |
read x | |
if test $x -eq 1; then | |
echo "Enter username that you want to create (eg. client1 or john):" | |
read u | |
echo "Specify password that you want the server to use:" | |
read p | |
# get the VPS IP | |
ip=`ifconfig eth0 | grep 'inet addr' | awk {'print $2'} | sed s/.*://` | |
echo | |
echo "Downloading and Installing PoPToP" | |
apt-get update | |
apt-get install pptpd | |
echo | |
echo "Creating Server Config" | |
cat > /etc/ppp/pptpd-options <<END | |
name pptpd | |
refuse-pap | |
refuse-chap | |
refuse-mschap | |
require-mschap-v2 | |
require-mppe-128 | |
ms-dns 8.8.8.8 | |
ms-dns 8.8.4.4 | |
proxyarp | |
nodefaultroute | |
lock | |
nobsdcomp | |
END | |
# setting up pptpd.conf | |
echo "option /etc/ppp/pptpd-options" > /etc/pptpd.conf | |
echo "logwtmp" >> /etc/pptpd.conf | |
echo "localip $ip" >> /etc/pptpd.conf | |
echo "remoteip 10.1.0.1-100" >> /etc/pptpd.conf | |
# adding new user | |
echo "$u * $p *" >> /etc/ppp/chap-secrets | |
echo | |
echo "Forwarding IPv4 and Enabling it on boot" | |
cat >> /etc/sysctl.conf <<END | |
net.ipv4.ip_forward=1 | |
END | |
sysctl -p | |
echo | |
echo "Updating IPtables Routing and Enabling it on boot" | |
iptables -t nat -A POSTROUTING -j SNAT --to $ip | |
# saves iptables routing rules and enables them on-boot | |
iptables-save > /etc/iptables.conf | |
cat > /etc/network/if-pre-up.d/iptables <<END | |
#!/bin/sh | |
iptables-restore < /etc/iptables.conf | |
END | |
chmod +x /etc/network/if-pre-up.d/iptables | |
cat >> /etc/ppp/ip-up <<END | |
ifconfig ppp0 mtu 1400 | |
END | |
echo | |
echo "Restarting PoPToP" | |
/etc/init.d/pptpd restart | |
echo | |
echo "Server setup complete!" | |
echo "Connect to your VPS at $ip with these credentials:" | |
echo "Username:$u ##### Password: $p" | |
# runs this if option 2 is selected | |
elif test $x -eq 2; then | |
echo "Enter username that you want to create (eg. client1 or john):" | |
read u | |
echo "Specify password that you want the server to use:" | |
read p | |
# get the VPS IP | |
ip=`ifconfig venet0:0 | grep 'inet addr' | awk {'print $2'} | sed s/.*://` | |
# adding new user | |
echo "$u * $p *" >> /etc/ppp/chap-secrets | |
echo | |
echo "Addtional user added!" | |
echo "Connect to your VPS at $ip with these credentials:" | |
echo "Username:$u ##### Password: $p" | |
else | |
echo "Invalid selection, quitting." | |
exit | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment