Подробный мануал о том, как настроить собственный VPN и отключить логирование на сервере.
Безопасный VPN
Специально для читателей CPA.RIP мы написали скрипт, который поможет нам настроить VPN-сервер и отключить логирование syslog и auth.log:
За счёт этого дальнейшее логирование направляется в /dev/null. В результате логи будут пустые.
Основная задача данного скрипта, заключается в том, чтобы упростить и максимально сократить время, для развертывания собственного ВПН сервера по скоростному протоколу IKEv2, на безе дистрибутива Debian 9 системы Linux. Который создает невидимый и зашифрованный тоннель обмена данными между сервером и клиентом, тем самым скрывая и шифруя вашу деятельность в сети интернет.
Если у вас есть предложение по улучшению или доработкам скрипта, пишите в комментариях.
Для работы понадобиться домен и сервер на Debian 9. Для теста мы заказали сервер на Reg.ru. Но под VPN мы бы порекомендовали брать сервер расположенный, например, где-то в Израиле!)
После заказа на почту придут данные для входа. Они необходимы для дальнейшей работы.
Вся установка и настройка скрипта производится через SSH.
- Для подключения с сайта https://www.putty.org/ скачиваем программу PuTTY.
- Устанавливаем и запускаем.
- В поле Host Name (or IP address) указываем IP-адрес сервера. Подключаемся по SSH.
- Нажимаем Open и заходим на сервер через суперпользователя. Для этого в поле login as пишем
root
. Чтобы вставить скопированную команду или пароль, необходимо навести курсор в нужное место и нажать правой кнопкой мыши. - Дальше указываем пароль от сервера.
Важный момент: в консоли не показывается вводимый пароль. Нет ни звёздочек, ни точек. Поэтому внимательно вводим пароль.
- Нажимаем Enter.
Чтобы обезопасить работу на сервере, создадим нового пользователя. Дальше будем заходить не через root-доступ, а через созданного пользователя.
- Чтобы создать нового пользователя, вводим простую команду:
adduser z3vpn
z3vpn – имя нового пользователя. Можете указать любое имя пользователя.
- Нажимаем Enter. После этого необходимо ввести и подтвердить пароль.
- После ввода пароля нас просят заполнить анкету. Можно заполнить. Можно пропустить, нажимая Enter. В конце соглашаемся с указанной информацией, введя букву Y.
- Мы пропустили все пункты.
- Нажимаем Enter.
Новый пользователь создан. В целях безопасности выйдем из root-пользователя, и зайдём под новым пользователем.
- Создадим новую сессию. Для этого нажимаем правой кнопкой мыши на верхнюю часть программы. Выбираем Duplicate Session.
- Выходим из root-пользователя. Вводим команду:
exit
- Вводим логин и пароль от нового пользователя.
- После входа вводим следующую команду:
su
- Указываем пароль от root-пользователя.
Сейчас мы находимся под root-пользователем в домашней директории пользователя.
Все эти действия обезопасят нас от утечки пароля через перехват пакета данных, который передаются между пользователем и сервером. С помощью нового пользователя мы произвели внутренний переход в root-права. Теперь можно спокойно работать.
- Теперь загрузим скрипт на сервер. Откроем стандартный текстовый редактор. Для этого вводим следующую команду:
nano Debian9-IKEv2-setup.sh
- Нажимаем Enter. Открылся пустой редактор.
- Переходим на GitHub: https://github.com/Web-Thinker/Debian9-IKEv2-setup/blob/main/Debian9-IKEv2-setup.sh.
- Копируем код скрипта и вставляем в редактор. Чтобы вставить код в консоли, необходимо навести курсор на строку ввода, и нажать на правую кнопку мыши.
- Для сохранения нажимаем Ctrl+O. Подтверждаем имя файла, нажав Enter. Для выхода нажимаем Ctrl+X.
- Теперь новому файлу дадим права на запуск, только от root полозователя.. Вводим команду:
chmod u+x Debian9-IKEv2-setup.sh
- Для проверки прав вводим команду:
ls -alF
Если мы дали нужны права файлу, у него буду следующие обозначения -rwxr–r– и знак * в конце. Это необходимо, чтобы запустить скрипт.
- Для установки и запуска скрипта вводим команду:
./Debian9-IKEv2-setup.sh
Начался процесс установки всех необходимых компонентов.
- Если появилась такое окно, нажимаем Enter.
- Ждём завершение установки.
На следующем этапе будет создаваться корневой сертификат VPN-соединения для безопасного подключения. Поэтому внимательно указываем информацию.
- Вводим действующий E-mail. Пишем доменное имя. Доменное имя – это адрес сервера, к которому будет подключаться наш VPN-клиент.
Важно! У домена и сервера должен быть одинаковый IP-адрес. Для этого достаточно в личном кабинете регистратора в A записях домена прописать IP нашего сервера. Оставив NS записи регистратора. В интернете полно информации по этому вопросу, поэтому не будем останавливаться и идём дальше.
- После ввода запрашиваемой информации нажимаем Enter.
Началось создание корневых и приватных ключей и сертификатов нашего VPN-сервера.
- После завершения переходим к остальным настройкам. Вводим данные публичного DNS-адреса. По умолчанию используется DNS Яндекса. Можно использовать бесплатный DNS от Google.
DNS-адрес необходим для того, чтобы сервер понимал и сопоставлял доменные имена с их IP-адресами. Чтобы он видел, какой домен к какому IP-адресу прикреплён.
- После этого вводим имя и пароль VPN.
- Указываем порт. По умолчанию работает порт 22. Сейчас оставляем это значения без изменений. Вводим 22.
- Нажимаем Enter
Всё готово.
- Чтобы создать больше VPN-пользователей, необходимо ввести команду:
nano /etc/ipsec.secrets
- В открывшемся текстовом редакторе после созданного пользователя нажимаем Enter. Вводим данные нового пользователя в формате: user : EAP password.
- Для сохранения нажимаем Ctrl+O. Подтверждаем имя файла, нажав Enter. Для выхода нажимаем Ctrl+X.
- Дальше необходимо ввести команду:
ipsec update
Это команда для перечитывания конфигурации.
- Если не можем подключиться к серверу, VPN-клиент запрашивает пароль, перезагружаем сервер. Вводим команду для перезагрузки:
reboot
Если всё сделали правильно, можем подключаться к VPN и проверять.
Проверка VPN-сервера
Для проверки зайдём на сайт 2ip.ru с компьютера.
Видим IP нашего сервера, значит мы сидим через VPN.
Проверяем на iPhone.
- Выбираем тип IKEv2
- В поле сервер прописываем наш домен
- Удаленный ID прописываем наш домен
- Имя пользователя – прописываем, то которое задали при установке скрипта
- Пароль – который задали при установке
Включаем VPN и проверяем IP:
VPN-сервер работает. Значит, всё сделали правильно. Можно спокойно сёрфить и работать в интернете.
Привет! Я только начинаю знакомство с данной тематикой. Насчёт “Вводим действующий E-mail” – это же не нужно в том случае, если сервер поднимается для личных целей? Насколько я понимаю – раз нет почтового сервера на машине, где установлен впн-сервер, то и письма слать всё равно не откуда.