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

У вас почти был код:

youtube-dl -l --extract-audio "$(xclip -o)"

$(command) исполняет command, а $(...) заменяется стандартным выходом command. Цитирование необходимо для предотвращения выхода из строя пробела.

1
задан 17 September 2013 в 03:15

4 ответа

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

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

Однако, чтобы обобщить основные моменты в ссылке: [ ! d5]

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

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

sudo ufw allow 22 sudo ufw allow 1723 sudo ufw enable

3: Редактировать /etc/ppp/pptpd-options. Откройте файл с вашим любимым редактором (мой nano, так что для меня команда sudo nano /etc/ppp/pptpd-options), и закомментируйте эти строки, поставив перед ними #, если вы хотите, чтобы это универсально работало на всех ОС: [!d11 ] 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). Вам нужно добавить локальные VPN-IP для системы, поэтому добавьте:

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: Edit /etc/ppp/chap-secrets. Откройте файл с вашим любимым редактором (мой nano, так что для меня команда sudo nano /etc/ppp/chap-secrets) и добавьте данные auth. Формат для /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: Этот шаг предполагает, что у вас есть. Изменить /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, если на вашем сервере размещен веб-сайт, вам необходимо индивидуально добавить эти порты в разрешенный список с помощью [ F44]

86
ответ дан 25 May 2018 в 12:54
  • 1
    Теперь, что я делаю: D У меня это работает на сервере, не знаю, как подключиться к нему lol – Jamie Hutber 3 July 2014 в 03:17
  • 2
    @Jamie. Здесь есть много других документов и записей на Ask Ubuntu при подключении к VPN, не говоря уже о документации внутри Network Manager. Этот вопрос касается только настройки VPN и серверной части. НЕ соединение с ним. – Thomas Ward♦ 3 July 2014 в 03:18
  • 3
    : D супер быстрый ответ: D Я думаю, что я, возможно, сработал, я должен был просто что-то сказать неправильно. Это говорит, что ufw активен и позволяет большинству портов. Я буду играть с iptables, если это все равно мне понравится – Jamie Hutber 3 July 2014 в 03:35
  • 4
    @Jamie Я могу дать вам команды iptables для использования, когда я вернусь домой, вы предпочитаете iptables для ufw. – Thomas Ward♦ 3 July 2014 в 03:36
  • 5
    iptables / netfilter используется с ufw, ufw просто лучше с правилами и командами для конечных пользователей. – Thomas Ward♦ 3 July 2014 в 04:19

PPTP VPN на Ubuntu 12.04 Пример

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

Установите необходимые пакеты
                          sudo apt-get install ppp pptpd

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

                          sudo nano /etc/pptpd.conf

Настройте диапазоны IP-адресов PPTP на сервере

                          localip 10.89.64.1
                          remoteip 10.89.64.100-150

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

Настройка DNS-серверов для использования при подключении клиентов к этому PPTP-серверу
                          sudo nano /etc/ppp/pptpd-options

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

                          ms-dns 8.8.8.8
                          ms-dns 8.8.4.4

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

                          sudo nano /etc/ppp/chap-secrets
Добавьте строку внизу, чтобы ваш файл выглядел примерно так:
                          # client    server  secret          IP addresses
                          test        pptpd   abcd1234        *

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

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

                          sudo nano /etc/rc.local

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

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

Настроить NAT для PPTP-соединения

Включить защиту IPv4:
                          sudo nano /etc/sysctl.conf

Включить переключение по протоколу IPv4:

                          net.ipv4.ip_forward=1
Затем перезагрузить конфигурацию: [ ! d25]
                          sudo sysctl -p

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

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

Без этого шага вы будете

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

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

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

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

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

19
ответ дан 25 May 2018 в 12:54
  • 1
    Этот метод также работает над версией Ubuntu 12.04 без сервера? Какой IP-номер клиент должен использовать для подключения к этой сети VPN? – Rasoul 29 August 2013 в 19:55
  • 2
    Да, это также для не-серверной версии. Для подключения к vpn @Rasoul вам необходимо использовать сервер ip на клиенте – Qasim 30 August 2013 в 07:42
  • 3
    Не работает, сервер Ubuntu 13.04. Клиент застревает в поисках DNS. – knutole 12 November 2013 в 08:35
  • 4
    @knutole проверьте правильность маршрутизации ваших правил IPTables. Убедитесь, что у вас есть интерфейс en0, и он не называется чем-то другим. Вы должны увидеть общедоступный IP-адрес. – Nick Woodhams 20 November 2013 в 12:35
  • 5
    хорошо, так, в вашем примере, который ip-сервер ip? 10,89,64,1? Затем в сетевом менеджере Ubuntu клиент будет перечислять 10.89.64.1 в качестве шлюза? – dranxo 14 October 2014 в 04:50

Другие ответы на эту тему были лишь частичными ответами в моем случае. Вот что сработало для меня в 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-серверы в / etc / 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-secrets, добавить пользователя VPN в этом формате:

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

Перезапустить PPTP

service pptpd restart

Запустите ifconfig и найдите свой интерфейс по умолчанию, в моем случае это был br0 (я изменил его, чтобы позволить виртуальным машинам на моей физической машине обмениваться интерфейсом. Вероятно, ваш будет en0) [!d8 ]

Резервное копирование 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

Чтобы сохранить

sudo apt-get install iptables-persistent

Добавить VPN на клиентском компьютере (Mac)

Системные настройки> Сеть> [+]> VPN

enter image description here

Затем выберите Authenticat ion settings> Password, затем введите свой пароль здесь

enter image description here

9
ответ дан 25 May 2018 в 12:54

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

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

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

5
ответ дан 25 May 2018 в 12:54
  • 1
    Святая корова. Это просто работает. Интересно, почему он не получил широкого признания. – Marcus 9 June 2017 в 19:13

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

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