Пару месяцев назад я пытался установить VPN-сервер на свой сервер в Нидерландах, но потратив час, я так и не смог добиться успеха. Сегодня наткнулся на отличный скрипт, который делает всё это за три минуты.
Установка VPN-сервера
Создаёте скрипт:
sudoedit vpn.sh
Копируете туда:
#!/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
Делаете его исполняемым и запускаете:
sudo chmod +x vpn.sh ./vpn.sh
На первый вопрос отвечаете «1» (нам нужно установить сервер и создать первого юзера), указываете имя нового юзера и пароль, после скачивания и установки сервера он сообщит эти данные ещё раз, чтобы вы могли их записать.
Подключение клиента
На всех моих рабочих и домашних компьютерах винда (кроме виртуалки с убунтой), поэтому расскажу как подключаться в винде.
«Центр управления сетями и общим доступом» -> «Создание и настройка нового подключения или сети» -> «Подключение к рабочему месту» -> «Использовать моё подключение к интернету» -> В поле «Адрес в интернете» указываете IP сервера. После долгого процесса создания соединения подключаетесь к нему и вводите имя юзера и пароль.
Проверяете, зайдя к примеру на 2ip.ru — адрес должен смениться на адрес вашего сервера.