Я знаю, что в сети есть много руководств по настройке VPN-клиента и сервера.
Если вы найдете простой / короткий , меня интересует только серверная часть.
Для клиента я буду использовать OS X, поэтому я предпочитаю решение, которое использует L2TP over IPsec
или PPTP
, потому что я полагаю, что Cisco IPsec будет стоить что-то.
Я не хочу тратить слишком много часов на его настройку. Вы знаете, может быть, кто-то уже сделал скрипт установки:)
Примечание: я использую микроэкземпляр EC2, на котором работает Ubuntu 12.04.
ОБНОВЛЕНИЕ : Начиная с Sierra, macOS больше не поддерживает PPTP vpn. Этот ответ недействителен для клиентов macOS Sierra и последующих версий.
PPTP через PoPToP легко
apt-get install pptpd
/etc/pptpd.conf
и установите для параметра remoteip значение диапазон в вашей сети, который НЕ обслуживается вашим DHCP-сервером. / etc / ppp / chap-secrets
и добавьте имя пользователя и пароль например
vpnuser pptpd vpnpassword *
Это все, что нужно для настройки pptp. Теперь проверьте это с помощью своего клиента OS X.
Вот краткое руководство по настройке базового 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
И для Windows
Вот довольно милый проект, который избавляет от боли OpenVPN скриптами:
https://github.com/Nyr/openvpn-install
Просто запустите его, и он установит открытый vpn. и настройте его. В конце появится файл client.ovpn, который можно использовать для настройки клиента. Кажется, работает неплохо.
ამ თემის სხვა პასუხები მხოლოდ ნაწილობრივი პასუხები იყო ჩემს შემთხვევაში. 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
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 ]
შეიტანეთ სარეზერვო ასლის გახსნა 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
შემდეგ აირჩიეთ ავთენტიფიკაციის პარამეტრები> პაროლი, შემდეგ აქ შეავსეთ თქვენი პაროლი
ПРЕДУПРЕЖДЕНИЕ: 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