Принятие у меня есть Виртуальный Частный Сервер от кого-то как Linode, под управлением Ubuntu, как я легко настраиваю VPN PPTP так, чтобы клиенты Ubuntu могли соединиться с ним?
По умолчанию Ubuntu предлагает соединяться с этими сетями PPTP. Я хочу настроить его таким способом, которым очень легко соединиться с (Т.е. не устанавливая пакетов на клиенте).
Настройка сервера Absolute Minimum
Ниже приведены инструкции по абсолютному минимуму, необходимые для получения базовой PPTP VPN. сервер работает под Ubuntu. После этого клиенты смогут подключиться к серверу VPN и направить свой интернет-трафик, чтобы он проходил через сервер в Интернет. Как всегда, обратитесь к полной документации , чтобы понять, что все делает.
Во-первых, установите требуемое программное обеспечение:
sudo apt-get install pptpd
Во-вторых, включите ip_forward
в ядре для IPv4, раскомментировав его. соответствующая строка в /etc/sysctl.conf :
sudo sed -i -r 's/^\s*#(net\.ipv4\.ip_forward=1.*)/\1/' /etc/sysctl.conf
# Reload the config file to have the change take effect immediately.
sudo -i sysctl -p
В-третьих, включите NAT (если он еще не включен), чтобы пользователи в частной сети VPN могли направлять свои пакеты в Интернет. :
OUTIF=`/sbin/ip route show to exact 0/0 | sed -r 's/.*dev\s+(\S+).*/\1/'`
sudo -i iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE
# Enable NAT on boot from the rc.local script.
CMD="iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE"
sudo sed -i "\$i$CMD\n" /etc/rc.local
Примечание: В этом руководстве предполагается, что на сервере не настроен брандмауэр. Если у вас есть брандмауэр на сервере, такой как UFW , обратитесь к соответствующей документации .
В-четвертых, для каждого пользователя VPN создайте учетную запись в файле / и т.д. / PPP / CHAP-секреты . Замените $ USER
фактическим именем пользователя, которое вы хотите использовать для этого пользователя VPN.
KEY=`head -c 20 /dev/urandom | sha1sum | nawk '{print $1}'`
echo "$USER pptpd $KEY *" | sudo tee -a /etc/ppp/chap-secrets
Наконец, вы готовы ...
Сконфигурировать клиент
В Network Manager апплет , выберите VPN-соединения → . Настроить VPN , затем нажмите Добавить . На следующем экране выберите PPTP для типа VPN, затем нажмите Создать .
В этом окне введите имя хоста или IP-адрес вашего сервера вместе с именем пользователя и ключом, которые вы добавили в файл / etc / ppp / chap-secrets на сервере.
Теперь нажмите Дополнительно .
В этом окне включите «Использовать двухточечное шифрование (MPPE)» и выберите 128-битную защиту. Отключите использование аутентификации MSCHAP (оставьте MSCHAPv2 включенным).
Наконец, нажмите Ok , а затем Сохранить , чтобы закрыть предыдущее окно.
Теперь вы можете проверить VPN-соединение, перейдя в апплет Network Manager → VPN-соединения и выбор соединения, которое вы только что создали. Убедитесь, что вы получили сообщение о том, что VPN-соединение установлено успешно, а затем перейдите на веб-сайт для проверки IP-адресов и убедитесь, что ваш IP-адрес теперь отображается как IP-адрес сервера.
Если вы получили сообщение о том, что VPN-подключение к серверу не удалось: сначала убедитесь, что вы правильно ввели параметры клиента; во-вторых, убедитесь, что клиент имеет сетевое подключение к TCP-порту 1723 на сервере; наконец, проверьте файл журнала / var / log / messages на сервере для дальнейших подсказок. Если ваше VPN-соединение установлено успешно, но вы впоследствии не можете просматривать какие-либо веб-сайты с клиента, обратитесь к этому невероятно полезному диагностическому руководству на веб-сайте pptpd.
Примечания
Если вы работаете в локальной сети подключенный к использует подсети 192.168.0.0/24 и 192.168.1.0/24, вы столкнетесь с проблемами, потому что это то, что сервер PPTP использует по умолчанию. Вам придется настроить PPTP для использования разных подсетей в pptpd.conf .
Существует множество других изменений конфигурации, которые вы можете захотеть внести. Например, все ваши доменные имена будут по-прежнему запрашиваться через ваш локальный DNS-сервер, а не через PPTP-сервер. Потратьте время, чтобы прочитать полную документацию , чтобы узнать, как изменить этот параметр и многие другие.
Это учебное руководство, которое я записал, будет вести Вас через. Это должно помочь Вам избежать частых ошибок, сделанных людьми, использующими VPS.
Сначала войдите в систему в свою Панель VPS и включите БОЧКУ/TAP и PPP. Если у Вас нет такого контакта опции Вашим ISP для включения этого для Вас.
Сначала установите этот пакет:
sudo apt-get install pptpd
Поскольку мы не хотим, чтобы наша VPN была общедоступна, мы собираемся создать пользователей.
Я использую VI, можно использовать НАНО или безотносительно текстового редактора, который Вы любите
vi /etc/ppp/chap-secrets
Формат
[username] [service] [password] [ip]
Пример
john pptpd johnspassword *
*
доступ средств от всех IP-адресов предоставляется, укажите IP, только если у Вас есть статический.
vi /etc/pptpd.conf
Ищите localip и remoteip настройки. Удалите #
(символ комментария) для обоих так, чтобы эти настройки были на самом деле распознаны. Измените localip на свой IP сервера. Если Вы не знаете свой IP сервера, можно посмотреть в панели управления VPS.
remoteip является в основном диапазоном IP, что клиентам (компьютеры, которые подключены к Вашей VPN) присвоят. Например, если Вы хотите следующий диапазон IP: 192.168.120.231-235, Ваш сервер VPN сможет присвоиться 192.168.120.232, 192.168.120.233, 192.168.120.234, и 192.168.120.235 клиентам. Вам решать, что Вы хотите использовать для этого поля.
Лично я выбираю это настройки:
localip 10.0.0.1
remoteip 10.0.0.100-200
Таким образом, я могу получить приблизительно 200 соединенных клиентов.
/etc/ppp/pptpd-options
ms-dns 8.8.8.8
ms-dns 8.8.4.4
Вы можете, добавляют ли это к концу файла или находят те строки, не прокомментируйте их и измените дюйм/с на свою желаемую Общественность DNS.
Важно включить передачу IP на Вашем сервере PPTP. Это позволит Вам передачам пакетов между общедоступным IP и частным дюйм/с, которого Вы устанавливаете с PPTP. Просто отредактируйте/etc/sysctl.conf и добавьте следующую строку, если это уже не существует там:
net.ipv4.ip_forward = 1
Для внесения изменений активными работать sysctl -p
Это - важная часть, если Вы используете VPS Вы, вероятно, использование привычки eth0, но venet0 вместо этого, необходимо проверить, какой интерфейс Вы имеете путем выполнения ifconfig
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save
Если Вы также хотели бы, чтобы Ваши клиенты PPTP говорили друг с другом, добавьте следующие правила iptables:
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface eth0 -j ACCEPT
Снова, необходимо заменить eth0 venet0 при использовании VPS.
Я рекомендовал бы работать
sudo iptables-save
Теперь Ваш сервер PPTP также действует как маршрутизатор.
Можно выполнить эту команду, таким образом, сервис VPN запускается на начальной загрузке
systemctl enable pptpd
Я рекомендую установить iptables-персистентный, таким образом, правила остаются даже после перезагрузки
sudo apt-get install -y iptables-persistent
Следуйте этому руководству: VPN-сервер PPTP с Ubuntu
В разделе выбора программного обеспечения выберите сервер OpenSSH - для дистанционное управление машиной - и ручной выбор пакета для актуальный пакет pptpd. Если вы хотите больше услуг, например, если вы Если вы хотите использовать компьютер в качестве веб-сервера, вы можете, конечно, выбрать дополнительное программное обеспечение. По соображениям безопасности я вообще советую люди могут запускать только один доступный внешний сервис для каждой машины если настроен в критической среде, но на самом деле это зависит от вас.
В ручном выборе перейдите к неустановленные пакеты> net , где вы найдете pptpd. Выберите его и дважды нажмите «g», чтобы установите пакет.
Дайте установке завершить и перезагрузите систему.
SSH на вновь настроенную машину и запустите
sudo aptitude update && sudo aptitude safe-upgrade
, чтобы обновить все пакеты. Перезагрузите, если необходимо.Откройте файл pptpd.conf:
sudo nano /etc/pptpd.conf
Настройте параметры IP в нижней части в соответствии с вашими потребностями. Под локальным IP вы вводите IP в локальной сети вашего VPN-сервера (если вы не знаете его, введите 'sudo ifconfig', и он покажет вам ваши сетевые интерфейсы и назначенные IP-адреса). В связи с этим я рекомендую установить статический IP в / etc / network / interfaces или в конфигурации вашего маршрутизатора.Если вы хотите, вы можете изменить имя хоста в
/ etc / ppp / pptpd-options
Укажите имена пользователей и пароли, которые вы хотите дать доступ к вашему vpn:
sudo nano / etc / ppp / chap-secrets
. Если вы изменили имя хоста на шаге перед тем, как ввести то же имя хоста теперь подсервер
Пример:
# секретный IP-адрес сервера клиента eubolist pptpd myübersecretpassword *
Как и в pptp, безопасность файла ключей не зависит исключительно от пароль. Вот почему вы должны выбрать длинный (например, 32 символа), случайный пароль. Вы можете создать такой пароль здесь.
Теперь нам нужно настроить ip-masquerading:
sudo nano /etc/rc.local
Add Следующие строки над строкой с надписью 'exit 0'
# PPTP IP forwarding iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
При желании я рекомендую защитить ваш SSH-сервер от перебора атаки:
#SSH Защита от грубой силы iptables -A INPUT -i eth0 -p tcp --dport 22 -m состояние - состояние NEW -m недавно --set --name SSH iptables -A INPUT -i eth0 -p tcp --dport 22 -m состояние - состояние NEW -m недавно --update - секунд 60 --hitcount 8 --rttl --name SSH -j
DROP
(также для вставки выше «выхода 0»)
Возможно, вам придется изменить «eth 0» на другой интерфейс, в зависимости от какой интерфейс настроен для подключения к Интернету на вашем machine.
Наконец, раскомментируйте эту строку в
/etc/sysctl.conf
:net.ipv4.ip_forward = 1
Перезагрузка
Если ваш vpn-сервер не подключается напрямую к Интернету, вам может потребоваться перенаправить порт 1723 TCP и GRE на IP-адрес вашей локальной сети. VPN-сервер. Обратитесь к руководству вашего маршрутизатора или к portforward.com для инструкции для конкретного поставщика. Опять же, вам может потребоваться назначить статический ip в
/ etc / network / interfaces
.