Самый простой способ настроить Ubuntu в качестве VPN-сервера

Я знаю, что в сети есть много руководств по настройке VPN-клиента и сервера.

Если вы найдете простой / короткий , меня интересует только серверная часть.

Для клиента я буду использовать OS X, поэтому я предпочитаю решение, которое использует L2TP over IPsec или PPTP, потому что я полагаю, что Cisco IPsec будет стоить что-то.

Я не хочу тратить слишком много часов на его настройку. Вы знаете, может быть, кто-то уже сделал скрипт установки:)

Примечание: я использую микроэкземпляр EC2, на котором работает Ubuntu 12.04.

68
задан 17 September 2013 в 02:15

5 ответов

ОБНОВЛЕНИЕ : Начиная с Sierra, macOS больше не поддерживает PPTP vpn. Этот ответ недействителен для клиентов macOS Sierra и последующих версий.

PPTP через PoPToP легко

  1. apt-get install pptpd
  2. edit /etc/pptpd.conf и установите для параметра remoteip значение диапазон в вашей сети, который НЕ обслуживается вашим DHCP-сервером.
  3. отредактируйте / etc / ppp / chap-secrets и добавьте имя пользователя и пароль

например

vpnuser pptpd vpnpassword *

Это все, что нужно для настройки pptp. Теперь проверьте это с помощью своего клиента OS X.

23
ответ дан 17 September 2013 в 02:15

PPTP VPN в Ubuntu 12.04 Пример

Вот краткое руководство по настройке базового PPTP VPN-сервера в Ubuntu 12.04.

Установить необходимые пакеты

                          sudo apt-get install ppp pptpd

Настроить диапазоны IP PPTP на the Server

                          sudo nano /etc/pptpd.conf

Добавьте следующие строки в конец

                          localip 10.89.64.1
                          remoteip 10.89.64.100-150

. Это настраивает сервер PPTP на использование IP 10.89.64.1 при распределении диапазона IP от 10.89.64.100 до 10.89.64.150 клиентам PPTP. Измените их по своему усмотрению, если они являются частными IP-адресами и не конфликтуют с IP-адресами, уже используемыми вашим сервером.

Настроить DNS-серверы для использования при подключении клиентов к этому PPTP-серверу

                          sudo nano /etc/ppp/pptpd-options

Изменить ИЛИ Добавьте следующие строки в конец

                          ms-dns 8.8.8.8
                          ms-dns 8.8.4.4

Создание пользователя PPTP

                          sudo nano /etc/ppp/chap-secrets

Добавьте строку внизу, чтобы ваш файл выглядел примерно так:

                          # client    server  secret          IP addresses
                          test        pptpd   abcd1234        *

Настроить NAT для подключений PPTP

Без этого шага вы сможете подключитесь, но ваше соединение не сможет загрузить какое-либо веб-соединение с этого сервера.

                          sudo nano /etc/rc.local

Добавьте следующее в правом нижнем углу перед строкой «exit 0»:

                          iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Предполагая, что eth0, вы можете использовать ifconfig для проверки имени сети.

Включить пересылку IPv4:

                          sudo nano /etc/sysctl.conf

Раскомментируйте следующую строку:

                          net.ipv4.ip_forward=1

Затем перезагрузите конфигурацию:

                          sudo sysctl -p

Перезагрузите свой VPS, и все должно работать плавно с любого клиента PPTP.


Конфигурация на стороне клиента

Для Mac убедитесь, что вы добавили подключение PPTP VPN. Кроме того, вам нужно только указать адрес сервера, имя учетной записи и пароль в настройках аутентификации. Здесь нет проблем.

В Linux NetworkManager для добавления VPN-соединений. Убедитесь, что вы добавили соединение PPTP VPN. И конфигурация, которую я использую, находится здесь:

Как отладить и исправить подключение клиента PPTP / VPN

enter image description here

И для Windows

enter image description here

18
ответ дан 17 September 2013 в 02:15

Вот довольно милый проект, который избавляет от боли OpenVPN скриптами:

https://github.com/Nyr/openvpn-install

Просто запустите его, и он установит открытый vpn. и настройте его. В конце появится файл client.ovpn, который можно использовать для настройки клиента. Кажется, работает неплохо.

7
ответ дан 17 September 2013 в 02:15

ამ თემის სხვა პასუხები მხოლოდ ნაწილობრივი პასუხები იყო ჩემს შემთხვევაში. Ubuntu 12.04.3

sudo apt-get install pptpd

- ისთვის, რაც იმუშავა ჩემთვის. დაამატეთ შემდეგი /etc/pptpd.conf (IP მისამართს არ აქვს მნიშვნელობა, ეს მხოლოდ IP მისამართებია თქვენი ppp0 ინტერფეისისთვის.)

localip 10.0.0.1
remoteip 10.0.0.100-200

DNS სერვერების დამატება / ა.შ. / ppp / pptpd-options

ms-dns 8.8.8.8
ms-dns 8.8.4.4

ჩართეთ IP გადამისამართება

sudo vim /etc/sysctl.conf

კომენტარის გაკეთება ამ ხაზის შესახებ

net.ipv4.ip_forward=1

შენახვა ცვლილებების შეცვლა

sudo sysctl -p /etc/sysctl.conf

რედაქტირება / etc / ppp / chap- საიდუმლოებები, დაამატეთ VPN მომხმარებელი ამ ფორმატით:

# Secrets for authentication using CHAP
# client    server  secret          IP addresses
username pptpd supersecretpassword *

გადატვირთეთ PPTP

service pptpd restart

აწარმოე ifconfig და იპოვნე შენი ნაგულისხმევი ინტერფეისი, ჩემს შემთხვევაში ის იყო br0 (მე ის შევცვალე, რომ ვირტუალურ მანქანებს საშუალება მიეცათ გაეზიარებინათ ინტერფეისი. თქვენი ალბათ იქნება en0 ]

enter image description here

შეიტანეთ სარეზერვო ასლის გახსნა iptables

iptables-save > ~/iptables.save

ახლა გააკეთეთ თქვენი iptables ცვლილებები, გამოიყენეთ თქვენი ნაგულისხმევი ინტერფეისი, როგორც ამას ifconfig აჩვენებს.

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
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 br0 -j ACCEPT

თქვენი სისტემის შენარჩუნებისას, [V24] დაამატეთ VPN კლიენტის კომპიუტერზე (Mac)

სისტემის პარამეტრები> ქსელი> [+]> VPN

enter image description here

enter image description here

შემდეგ აირჩიეთ ავთენტიფიკაციის პარამეტრები> პაროლი, შემდეგ აქ შეავსეთ თქვენი პაროლი

enter image description here

8
ответ дан 17 September 2013 в 02:15

ПРЕДУПРЕЖДЕНИЕ: PPTP ЯВЛЯЕТСЯ НЕБЕЗОПАСНЫМ ПРОТОКОЛОМ! Мало того, что шифрование было взломано, оно отправляет вашу аутентификацию в виде открытого текста и легко перехватывается. Было подсчитано, что время, необходимое для перебора пароля, примерно эквивалентно времени, необходимому для перебора одного ключа DES. Подумайте об использовании OpenVPN или другой архитектуры VPN вместо PPTP!

Я использовал это руководство для настройки PPTP VPN-сервера на моем сервере Ubuntu 12.04.


Тем не менее, чтобы суммировать основные моменты в ссылке, :

1: Установите pptpd и ufw . iptables можно использовать вместо ufw, но для простоты ufw лучше, если вы не знаете iptables .

sudo apt -get install pptpd ufw

2: Открыть необходимые порты. Руководство предлагает для pptp vpn 22 (SSH) и 1723.

sudo ufw allow 22
sudo ufw allow 1723
sudo ufw enable

3: Отредактируйте / etc / ppp / pptpd-options . Откройте файл в своем любимом редакторе (мой nano, поэтому для меня команда - sudo nano / etc / ppp / pptpd-options ) и закомментируйте эти строки, поставив # перед ними, если вы хотите, чтобы это работало универсально во всех ОС:

refuse-pap
refuse-chap
refuse-mschap

Вы можете прокомментировать эту строку, если хотите отключить шифрование: require-mppe-128

4: При редактировании / etc / ppp / pptpd-options , добавьте DNS-серверы для VPN. В этом примере используются серверы OpenDNS:

ms-dns 208.67.222.222
ms-dns 208.67.220.220

5: Отредактируйте /etc/pptpd.conf . Откройте файл с помощью вашего любимого редактора (у меня nano, поэтому мне нужна команда sudo nano /etc/pptpd.conf). Вам необходимо добавить локальные IP-адреса VPN для системы, поэтому добавьте:

localip 10.99.99.99
remoteip 10.99.99.100-199

Если ваша система является VPS, используйте общедоступный IP-адрес для "localip". Если это не так и находится в локальной сети, используйте сетевой IP-адрес вашего компьютера. Используйте разные IP-адреса и диапазоны, если эти IP-адреса существуют в вашей подсети! Если вы не знаете свой общедоступный IP-адрес своего VPS, найдите его, запустив dig + short myip.opendns.com @ resolver1.opendns.com

6: Отредактируйте / etc / ppp / chap- секреты . Откройте файл в своем любимом редакторе (мой nano, поэтому для меня команда - sudo nano / etc / ppp / chap-secrets ) и добавьте данные аутентификации.
Формат для / etc / ppp / chap-secrets :

[Username] [Service] [Password] [Allowed IP Address]

Примером может быть: sampleuser pptpd samplepassword *

7: Перезапустите pptpd. Выполните эту команду в терминале: sudo /etc/init.d/pptpd restart

8: Отредактируйте /etc/sysctl.conf . Откройте файл с помощью вашего любимого редактора (у меня - nano, поэтому мне нужна команда sudo nano /etc/sysctl.conf). Не комментируйте следующую строку (удалив # в ее начале) в /etc/sysctl.conf : net.ipv4.ip_forward = 1
Перезагрузите конфигурацию: sudo sysctl -p

9: Предполагается, что у вас есть ufw.
Отредактируйте / etc / default / ufw и измените параметр DEFAULT_FORWARD_POLICY от DROP до ACCEPT

10: Этот шаг предполагает, что у вас есть ufw.
Edit /etc/ufw/before.rules , и добавьте следующее либо в начале /etc/ufw/before.rules , либо непосредственно перед правилами * filter (рекомендуется):

# NAT table rules
*nat

:POSTROUTING ACCEPT [0:0]
# Allow forward traffic to eth0
-A POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE

# Process the NAT table rules
COMMIT

Если у вас ядро ​​версии 3.18 и новее (вы можете проверить это, запустив uname -r ), также добавьте следующие строки перед # drop INVALID packets ... строка:

-A ufw-before-input -p 47 -j ACCEPT

11: Перезапустите брандмауэр, чтобы обновить наборы правил и применить правила, которые мы добавили к файлам / etc / ufw / *. rules : sudo ufw disable && sudo ufw enable

Предупреждение: Если у вас есть другие порты, которые вам нужно открыть, например, для HTTPS, если на вашем сервере размещен веб-сайт, вам необходимо индивидуально добавить эти порты в список разрешенных с помощью sudo ufw allow

85
ответ дан 17 September 2013 в 02:15

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

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