Как я настраиваю VPN PPTP на своем собственном Сервере Ubuntu?

Принятие у меня есть Виртуальный Частный Сервер от кого-то как Linode, под управлением Ubuntu, как я легко настраиваю VPN PPTP так, чтобы клиенты Ubuntu могли соединиться с ним?

По умолчанию Ubuntu предлагает соединяться с этими сетями PPTP. Я хочу настроить его таким способом, которым очень легко соединиться с (Т.е. не устанавливая пакетов на клиенте).

16
задан 10 August 2011 в 02:27

3 ответа

Настройка сервера 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, затем нажмите Создать .

enter image description here

В этом окне введите имя хоста или IP-адрес вашего сервера вместе с именем пользователя и ключом, которые вы добавили в файл / etc / ppp / chap-secrets на сервере.

Теперь нажмите Дополнительно .

enter image description here

В этом окне включите «Использовать двухточечное шифрование (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-сервер. Потратьте время, чтобы прочитать полную документацию , чтобы узнать, как изменить этот параметр и многие другие.

28
ответ дан 23 November 2019 в 02:30

Это учебное руководство, которое я записал, будет вести Вас через. Это должно помочь Вам избежать частых ошибок, сделанных людьми, использующими VPS.

Сначала войдите в систему в свою Панель VPS и включите БОЧКУ/TAP и PPP. Если у Вас нет такого контакта опции Вашим ISP для включения этого для Вас.

enter image description here

Сначала установите этот пакет:

sudo apt-get install pptpd

Поскольку мы не хотим, чтобы наша VPN была общедоступна, мы собираемся создать пользователей.
Я использую VI, можно использовать НАНО или безотносительно текстового редактора, который Вы любите

vi /etc/ppp/chap-secrets

Формат

[username] [service] [password] [ip]

Пример

john pptpd johnspassword *

* доступ средств от всех IP-адресов предоставляется, укажите IP, только если у Вас есть статический.

Редактирование настроек PPTPD

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 соединенных клиентов.

Добавьте серверы DNS к /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

Создайте правило NAT для iptables

Это - важная часть, если Вы используете 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
4
ответ дан 23 November 2019 в 02:30

Следуйте этому руководству: VPN-сервер PPTP с Ubuntu

  1. В разделе выбора программного обеспечения выберите сервер OpenSSH - для дистанционное управление машиной - и ручной выбор пакета для актуальный пакет pptpd. Если вы хотите больше услуг, например, если вы Если вы хотите использовать компьютер в качестве веб-сервера, вы можете, конечно, выбрать дополнительное программное обеспечение. По соображениям безопасности я вообще советую люди могут запускать только один доступный внешний сервис для каждой машины если настроен в критической среде, но на самом деле это зависит от вас.

  2. В ручном выборе перейдите к неустановленные пакеты> net , где вы найдете pptpd. Выберите его и дважды нажмите «g», чтобы установите пакет.

  3. Дайте установке завершить и перезагрузите систему.

  4. SSH на вновь настроенную машину и запустите sudo aptitude update && sudo aptitude safe-upgrade , чтобы обновить все пакеты. Перезагрузите, если необходимо.

  5. Откройте файл pptpd.conf: sudo nano /etc/pptpd.conf Настройте параметры IP в нижней части в соответствии с вашими потребностями. Под локальным IP вы вводите IP в локальной сети вашего VPN-сервера (если вы не знаете его, введите 'sudo ifconfig', и он покажет вам ваши сетевые интерфейсы и назначенные IP-адреса). В связи с этим я рекомендую установить статический IP в / etc / network / interfaces или в конфигурации вашего маршрутизатора.

  6. Если вы хотите, вы можете изменить имя хоста в / etc / ppp / pptpd-options

  7. Укажите имена пользователей и пароли, которые вы хотите дать доступ к вашему vpn: sudo nano / etc / ppp / chap-secrets . Если вы изменили имя хоста на шаге перед тем, как ввести то же имя хоста теперь под сервер

    Пример:

     # секретный IP-адрес сервера клиента
    eubolist pptpd myübersecretpassword *
    

    Как и в pptp, безопасность файла ключей не зависит исключительно от пароль. Вот почему вы должны выбрать длинный (например, 32 символа), случайный пароль. Вы можете создать такой пароль здесь.

  8. Теперь нам нужно настроить 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.

  9. Наконец, раскомментируйте эту строку в /etc/sysctl.conf :

     net.ipv4.ip_forward = 1
    
  10. Перезагрузка

  11. Если ваш vpn-сервер не подключается напрямую к Интернету, вам может потребоваться перенаправить порт 1723 TCP и GRE на IP-адрес вашей локальной сети. VPN-сервер. Обратитесь к руководству вашего маршрутизатора или к portforward.com для инструкции для конкретного поставщика. Опять же, вам может потребоваться назначить статический ip в / etc / network / interfaces .

3
ответ дан 23 November 2019 в 02:30

Другие вопросы по тегам:

Похожие вопросы: