Как создать VPN-соединение, используя только терминал (SSH)?

13

Я пытаюсь создать VPN-соединение для моего компьютера с Ubuntu Server. У меня есть доступ только через сессию терминала SSH.

Я видел много статей, подробно описывающих, как подключиться к существующему соединению, но ни одного о создании нового соединения.

Я использую Ubuntu Server 12.x

Дв
источник
Я полагаю, вы хотите установить VPN-сервер на свою машину, верно?
Лоран
Я так не думаю (если я не недоразумение). Я хочу, чтобы мой сервер подключался к VPN, а не был VPN-сервером
Dve
SSH действительно мощный. Вы можете подключиться, используя $ ssh -X <host> -u <user>. Таким образом, у вас будет соединение с переадресацией X, поэтому вы сможете использовать приложения X с удаленной машины. Это может быть полезно, если вам удобнее использовать X, чем обычную консоль.
jap1968
другой вариант - использовать shadowsocks + proxychains вместо VPN
elprup

Ответы:

7

Поскольку я не понимаю, что именно нужно делать, позвольте мне объяснить, как работает VPN:

Чтобы иметь VPN, вам нужен VPN-сервер (к которому вы подключаетесь) и VPN-клиент (машина, которую вы используете для подключения к серверу). Вы не можете создать соединение без VPN-сервера. У нас есть 3 возможности здесь:

  • Вы хотите, чтобы ваш сервер подключался к другому (VPN-сервер). В этом случае вам нужен клиент, и, поскольку существуют разные типы VPN, вам необходимо следовать инструкциям администратора VPN-сервера.

  • Вы хотите подключиться к вашему серверу с другого компьютера (вероятно, с вашего локального компьютера), и в этом случае вам необходимо установить VPN-сервер на вашем сервере и клиент на вашем компьютере. Для этого я использую OpenVPN уже много лет, и он очень хорошо работает с клиентами Windows и Ubuntu.

  • Вы хотите подключить обе машины к хост-серверу VPN от стороннего производителя, и в этом случае, поскольку существует много разных типов VPN, необходимо следовать инструкциям администратора стороннего производителя.

Если вы хотите только частное / зашифрованное соединение с вашим сервером, у вас уже есть SSH, и у вас не будет намного больше с VPN. VPN полезен для подключения к сети, как если бы вы были локальным компьютером в сети, и не очень полезен для подключения к одному компьютеру, где вы можете использовать SSH-соединения для терминалов (и перенаправлять графический вывод на экран, если на сервере есть графический рабочий стол) и SSH туннели для доступа к другим портам. Например, туннелирование с использованием SSH локального порта на вашей машине к порту 3306 на удаленном сервере для администрирования MySQL с использованием 100% -ного зашифрованного соединения вместо использования phpmyadmin для отправки корневого пароля вашей БД через http.

Обновление PPTP:

Для клиента PPTP через командную строку вы можете использовать клиент pptp-linux:

sudo apt-get install pptp-linux

Есть много учебников о том, как его настроить:

Отредактировано после комментариев от OP: Сайт помощи сообщества Ubuntu сработал.

Другие доступны как клиент PPTP Linux . Учебник предназначен для клиента командной строки или клиента с графическим интерфейсом, поэтому устанавливайте только, pptp-linuxа неnetwork-manager-pptp

Инструкции на сайте pptp-linux для Debian также подробно описаны для командной строки и должны без проблем работать в Ubuntu.

Laurent
источник
1
Да, я понимаю это. Я пытаюсь сделать то, что вы перечислили в первом пункте - подключиться к другому VPN-серверу с моего сервера. Я знаю все детали подключения, я подключен к терминалу моего сервера (через ssh). Я пытаюсь выяснить, как настроить соединение VPN через этот сеанс терминала.
Дв
Так каковы детали подключения? (тип VPN сервера и требуемые параметры, если таковые имеются - пароль не требуется или реальный ip, если есть). У вас нет инструкции по настройке клиента от администратора VPN-сервера?
Лоран
1
Я спрашиваю, какой тип VPN, потому что для каждого протокола VPN нужен свой клиент. Вы можете найти инструкции для некоторых из них в help.ubuntu.com/community/VPNClient
laurent
Это соединение PPTP, ссылка, которую вы разместили, кажется, но она не детализирует шаги по созданию нового соединения PPTP (насколько я вижу). Было бы здорово, если бы я мог запустить network-manager через пересылку ssh X11 - но я не хочу устанавливать gdm просто для этого
Dve
обновленный ответ для PPTP
Laurent
1

Эта статья может быть полезной. http://ashu-geek.blogspot.com/2012/05/vpn-virtual-private-network.html

в нем описано, как создать vpn-соединение с помощью терминала и графического интерфейса dekstop.

Ашгер Хуссейн
источник
3
Добро пожаловать в Спросите Ubuntu! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
Лусио
0

используйте 'pppd' для этого:

sudo pppd nodetach defaultroute replacedefaultroute persist password mypassword file myvpn

замените "mypassword" на пароль вашей учетной записи pptp. myvpn - это файл конфигурации, формат которого:

linkname myvpn 
ipparam myvpn 
pty "pptp server_address --nolaunchpppd " 
name myaccount 
usepeerdns 
require-mppe 
refuse-eap noauth

# adopt defaults from the pptp-linux package 
file /etc/ppp/options.pptp

этот формат файла конфигурации упоминается здесь: https://help.ubuntu.com/community/VPNClient

И «nodetach», или «defaultroute» - это параметры для pppd, описанные здесь: http://manpages.ubuntu.com/manpages/hardy/man8/pppd.8.html

Я использовал этот метод в Java для настройки подключения VPN-клиента pptp, да, он работает.

Файл pid находится в /var/run/ppp-xxx.pid, «xxx» - это ваше имя ссылки в вашем конфигурационном файле. Вы можете прочитать pid pppd из этого файла pid, отправив сигнал в pppd, например, "sudo kill -s SIGTERM pid_of_pppd", чтобы закрыть pppd.

Гохуа Лин
источник