Как создать собственный vpn. Пошаговая настройка

Как создать собственный vpn


Как создать собственный vpn и пользоваться безопасным серфингом. В этой статье я рассказывал, про впн предоставляемый сервисами. Плюс, множество ip адресов. Минус, вы не контролируете ничего. Например, большинство сервисов утверждают, что не ведут логи и не знают какие сайты посещаете. На самом деле убедится в этом нельзя. И некоторых из них уже были уличены в том, что обманывали клиентов. Но это не значит, что нет сервисов честных. Хотя сегодня не об этом.

Покупка vps сервера для vpn

Для работы vpn потребуется виртуальный выделенный сервер. Сейчас они не дорогие поэтому не будет разорительно. Я нашел очень дешево сервера. Всего 2,9 $ в месяц. При этом достаточно для нужд впн. Данный хостер предлагает серверы которые находятся в Нидерландах. Поэтому никаких ограничений для доступа к ресурсам недоступным из других стран не будет.

Для наших целей подойдет тариф «VDS/VPS «Micro»». В дополнение к безопасному серфингу вы получите ещё и персональное облако на 20 Гб. Если нужно больше места то выберите тариф с большим объемом.

Итак закажите сервер в 3 шага:

  1. Зайдите НА САЙТ;
  2. Перейдите в раздел «Оптимальные VPS/VDS»
  3. Выберите тариф и нажмите кнопку «Заказать сервер»

Бюджетные серверы на которых применяется технология OpenVZ не подойдет! На них нельзя сделать vpn. Для активации потребуется номер телефона!

Заполните обязательные поля.

После регистрации вы попадете на страницу заказа в своего кабинета.

Здесь еще раз подтвердите выбранный тариф. Укажите период оплаты и нажмите кнопку «Заказать».

На следующей странице Выберите операционную систему Debian-8x86_64. Прочитайте условия предоставления услуг и поставьте галочку о согласии с ними. Нажмите кнопку «В корзину».

Оплатите хостинг удобным для вас способом. Затем потребуется активировать сервер. Для активации сервера нужно указать номер телефона. Вам позвонит робот и сообщит код активации. После того как сервер будет активирован. В колонке «Состояние», будет написано зеленым цветом «Активен».

Настройка сервера vpn на операционной системе Debian

Теперь можно настраивать. Перейдите в раздел «Товары/Услуги». Кликните по вашему серверу. Панель инструментов станет активна. Нажмите кнопку «Инструкция».

Откроется страница с информацией о сервере. Его ip адрес, пароль пользователя «root». Ссылка на страницу управления сервером и реквизитами для входа. Технический домен и тп. Это важная информация не сообщайте её никому.

Подключение к серверу с помощью putty и терминала

Для управления сервером из под windows используйте программу putty. Скачайте её — скачать putty. Установите и запустите её. В поле «Host Name (or ip address)» впишите ip адрес вашего сервера и нажмите кнопку «Open».

В linux Debian так же есть putty. Установить командой:

Можно использовать обычный терминал. Для доступа к серверу укажите:

 

При первом подключении откроется окно с сообщением о подключении. Нажмите кнопку «Да».



 

Затем откроется терминал с предложением указать имя пользователя с помощью которого мы хотим зайти «login as». Пользователь у нас пока один -«root» впишите его, затем введите пароль указанный на странице с информацией о сервере.

После того как войдете на сервер измените пароль для пользователя «root». Сделать это можно командой:

введите новый пароль и подтвердите его. Учтите, что при вводе в терминале не будет отображаться символов, как будто вы ничего не набираете.

Менять пароль нужно сразу. Так  будет удобней работать в будущем. А некоторые хостеры при первом входе на сервер сразу требуют изменить пароль на свой. И это правильно. В этой статье я рассказал как авторизоваться с помощью ssh-ключа. Это безопасно и можно заходить на сервер не вводя пароль.

1. Установка OpenVPN

Итак, все подготовительные процедуры выполнены. Приступим. Что бы не вводить команды вручную копируйте их и вставляйте в терминал с помощью сочетания двух клавиш «Shift+Insert». Обновите систему:

Теперь установим openvpn:

2. Настройка OpenVPN

Распакуем пример файла конфигурации из /etc/openvpn.

Откройте файл для редактирования с помощью «nano» или любым другим редактором. Я буду показывать на примере нано.

В этом файле потребуется изменить 4 параметра. Найдите в сроку «dh dh1024.pem» и замените её значение на «dh dh2048.pem» (без кавычек). Это повысит уровень шифрования.

Учтите, что мышка здесь не работает. Пользуйтесь курсорными клавишами. Для поиска в редакторе используйте сочетание клавиш «Ctrl+w». Вставлять можно так же по «Shift+insert». Для сохранения изменений используйте сочетание «Ctrl+o» (буква «о» не ноль). Что бы подтвердить сохранение изменений нажмите «Enter». Для выходя из редактора используйте сочетание «Ctrl+x».

Теперь найдите, по очереди, строки:

Удалите знак точка с запятой «;» в начале строки. Это называется — рскоментировать. В результате они должны выглядеть так:

Далее, раскоментируйте строки:

Сохраните файл и закройте редактор.

3. Включить Packet Forwarding

Разрешим пересылку пакетов:

Что бы после перезагрузки перенаправление работало. Откройте и отредактируйте файл:

Найдите строку «#net.ipv4.ip_forward=1». Раскоментируйте её удалив знак решетка («#») в начале строки. В результате она должна выглядеть так:

Сохраните и закройте редактор.

4. Установка и конфигурирование файерволла ufw

Для установки сначала обновите информацию о пакетах:

Теперь установите ufw командой:

Включим разрешение работать с ssh:

Разрешим трафик для openvpn по udp порт 1194:

Разрешим проброс. Откройте в редакторе файл настроек:

Найдите строку — DEFAULT_FORWARD_POLICY=»DROP». И замените «DROP» на «ACCEPT». В результате строка должна выглядеть так:

Сохраняем и закрываем.

Добавим правило для nat. Откроем файл /etc/ufw/before.rules:

Сразу после записи — «ufw-before-forward». Вставьте добавьте правило:

Должно выглядеть так:

Вот скришот, для наглядности.

Включим ufw командой:

Будет выведено сообщение — «Command may disrupt existing ssh connections. Proceed with operation (y|n)?». Ответить «y». Проверим состояние:

Вывод должен быть примерно таким:

Если так. Значит всё в порядке. Переходим к следующему шагу.

5. Создаем центр сертификации

Копируем скрипты командой:

Создадим директорию для ключей:

Измените настройки по умолчанию:

Измените значения, выделенные красным, на свои.

export KEY_COUNTRY=»US»
export KEY_PROVINCE=»TX»
export KEY_CITY=»Dallas»
export KEY_ORG=»My Company Name»
export KEY_EMAIL=»sammy@example.com»
export KEY_OU=»MYOrganizationalUnit»

Замените в строке:

# X509 Subject Field
export KEY_NAME=»EasyRSA»

Значение «EasyRSA» на «server». Можно изменить на любое другое. В этом случае дальше в инструкции не забывайте менять «server» на своё.

Должно получиться так:

# X509 Subject Field
export KEY_NAME=»server»

Сохраните и закройте редактор.

Генерируем ключи Diffie-Helman:

Дайте команду:

Генерация займет какое то время. Затем перейдите в каталог /etc/openvpn/easy-rsa:

Инициализируем скрипт:

Будет выведено предупреждение — «NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys».  Не нужно волноваться.

Очистим ключи:

Далее:

Нажимайте «Enter» на все запросы.

6. Генерируем сертификаты и ключи для сервера

Создадим ключ для сервера:

Начнется генерация и будут отображаться значения заполненные нами ранее в файле vars. Подтверждайте нажимая «Enter». В полях:

A challenge password []:
An optional company name []:

ничего не пишете, так же нажмите «Enter». На впопросы:

Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]

Отвечайте утвердительно, нажав клавишу «y». Если все было сделано правильно, увидим сообщение:

Write out database with 1 new entries
Data Base Updated

Переходим к следующему шагу.

7. Копирование серверных сертификатов и ключей

Скопируем сертификаты и ключи командой:

*Если значение «server» менялось. Не забудьте подставлять своё.

Проверить можно командой:

Теперь можно запустить openvpn командой:

Проверим статус работы openvpn:

Если всё в порядке. Сообщение должно быть таким:

«* openvpn.service — OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; enabled)
Active: active (exited) since Thu 2015-06-25 02:20:18 EDT; 9s ago
Process: 2505 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 2505 (code=exited, status=0/SUCCESS)»

Скриншот для наглядности:

openvpn-status

8. Генерация ключей и сертификатов для клиента

Первое:

*отвечаем по примеру сервера.

Копируем:

Редактируем файл client.ovpn:

Указываем адрес своего сервера в строке — «my-server-ip»:

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote my-server-ip 1194

Вместо «my-server-ip» укажите ip вашего сервера.

Раскоментировать строки, user nobody и group nogroup. Должно выглядеть так:

Сохраните.

9. Унифицируем ключи для клиентов

Откройте файл client.ovpn:

Закоментируйте строки; ca ca.crt, cert client.crt, key client.key. Приведя к виду:

Обратите внимание. Здесь нужно добавить знак «;» а не удалить!

Далее по очереди выполнить команды в три этапа:

  1. Блок команд:

2. Блок

3. Блок

На этом всё. Теперь нужно скопировать сертификаты и ключи на локальный компьютер. Это можно сделать с помощью любого ftp менеджера, например filezilla. При настройке подключения к серверу выберите протокол — «SFTP — SSH File Transport Protocol». Тип входа — «Нормальный». Укажите логин и пароль.

Скачайте себе 4 файла:

  • client1.crt
  • client1.key
  • client.ovpn
  • ca.crt

Файл «ca.crt» лежит в папке — /etc/openvpn/. Остальные в папке — /etc/openvpn/easy-rsa/keys/.

Для работы с сервером не требующем прав главного пользователя root, например, загрузка файлов на сервер с помощью filezilla и т.п., создайте обычного пользователя. Вот в этой статье я рассказал как создавать пользователей в линукс. Обязательно сделайте. Это нужно для безопасности вашего сервера!

Отключаем логи сервера openvpn

После того как убедились, что всё работает отключите логи. Для этого отредактируем файл server.conf.

Найдите параметр «verb». Измените его значение с 3 на 0. В самый конец файла допишите:

Сохраните и закройте. После этого перезапустите сервис командой:

Теперь у вас есть собственный vpn сервис без логов и дополнительное место для хранения данных. Эта инструкция подойдет, почти, для любого хостера который позволяет создавать впн и операционной системы Debian. Если нужен сервер в России то хорошим вариантом по соотношению цена/качество будет firsvds. Как подключится к своему впн читайте в этой статье.

Такой вариант будет хорошим решением для защиты своей частной жизни. Не используйте vpn для противозаконных действий!


Понравилась статья на блоге? Поделись информацией с другими:

К записи "Как создать собственный vpn" 4 комментария
  1. Дмитрий:

    У хостинга, который приведен в пример, создание vpn-серверов запрещено. Ну по крайней мере так написано в соглашении. Или я чего-то не понимаю?

    Chuzhoy Reply:

    @Дмитрий, На момент написания статьи было можно. Сейчас уточнил, можно для личного пользования.

  2. Дмитрий:

    Это хорошо. Спасибо за Вашу работу!Удачи Вам во всех ваших начинаниях и не бросайте этот блог. Это не просто блог, а настоящая сокровищница знаний! Все понятным языком и без излишеств. СПАСИБО!

    Chuzhoy Reply:

    @Дмитрий, Рад, что информация полезна. Делаю, что могу.

Оставить свой комментарий

Поиск
Помочь деньгами

ВКонтакте

Посетите наши страницы в социальных сетях!

ВКонтакте.      Facebook.      Twitter.      YouTube.      Одноклассники.      RSS.
Вверх
© 2017    Копирование материалов сайта разрешено только при наличии активной ссылки   //    Василий Чужойon Google+