Поднимаем OpenVPN сервер на Debian, Mikrotik в качестве клиента

0
2580

Поднимаем OpenVPN сервер на Debian, Mikrotik в качестве клиента

Для начала нужно определиться с хостингом, я выбираю ТаймВэб, хорошая цена, надежно, быстро. Нам подойдет VPS / VDS хостинг, стоимость от 170 р. Выбрать можно по ссылке https://vk.cc/9RxS1Z

Покупаем сервер, на почту приходят логин и пароль, далее авторизуемся на сервере и начинаем.

КОД: 

Затем ставим то, с чем мы будем работать. У всех разные наборы пакетов. Я как минимум ставлю набор для компиляции ( хоть и редко пользуюсь им), привычный текстовый редактор и иногда файловый менеджер.

КОД: 

Вход по паролю не слишком секьюрный вариант, и хотя я не очень страдаю паранойей, мне нравится вход по ключу. Настраиваем:

КОД: 

По-умолчанию ключи создаются в директории /root/.ssh/ , о чём будут информационные сообщения в консоли.

КОД: 

Если хочется как-то изменить имя ключа для простоты идентификации, надо вводить весь путь полностью /root/.ssh/rsa_vasya После этого ключи будут созданы в указанной директории. Так как у меня это просто пример для простоты описания, я сделаю имена с именем провайдера, просто чтобы отличать их от других ключей с разных серверов. Публичный ключ перетаскиваем на Микротик и импортируем его для нужного пользователя. Потом пробуем войти с сервера на Микротик (52222 — нестандартный порт для входа, vasya — пользователь, которому мы прикрутили публичный ключ, IP-адрес — адрес Микротика в сети)

КОД: 

Если неохота каждый раз указывать путь, где лежит ключ ( у меня обычно разные файлы ключей к различным железкам и Debian может путаться в них), создаём файлик

КОД: 

со следующим содержимым

КОД: 

Следует понимать, что у кого то из пары клиент сервер должен быть приватный ключ, при этом соединение можно инициализировать только с одной стороны. Для двух стороннего соединения приватный ключ должен быть у обоих. Но с Микротика на сервер мы вряд ли будем ходить, так что того, что мы сделали вполне хватит для всех наших нужд.
Не забываем перезагрузить ssh

КОД: 

Следующим действием мы поставим на сервер OpenVPN. Про это написано столько, что буду комментировать по минимуму.

КОД:

Система спросит и мы скажем да

КОД: 

Копируем

КОД: 

Если хочется, можно подредактировать файл переменных

КОД: 

КОД: 

Маленькая хитрость. Потребуется файл openssl.cnf, создадим его

КОД: 

Содержание файла

КОД: 

И поехали, со всем соглашаемся, где надо, вставляем y. Обратим внимание, что я создаю несколько клиентских сертификатов, на несколько устройств сразу.

КОД:

Правим файл sysctl.conf

КОД: 

Находим строку и раскомментируем, если параметр равен 0, меняем на 1:

КОД: 

Перезагружаем правила

КОД: 

Создаём конфигурацию

КОД: 

Содержание будет приблизительно такое. Нет смысла описывать то, что в сети просто по крупицам расписано сотни раз

КОД: 

Создаём директорию клиентских конфигураций

КОД: 

Название файла конфигурации в ней должно соответствовать названию файла сертификата для этого же клиента.

КОД: 

Там мы можем прописать некоторые маршруты и определить адреса

КОД: 

Перезапускаем всё это

КОД: 

Осталось разобраться с маскарадом. Смотрим наименование интерфейса. В Debian 9 это делается командой

КОД: 

Теперь маскарадим трафик

КОД: 

Где ens3 — интерфейс на сервере, смотрящий в мир. У меня на Debian 9 он именно так называется. Присутствие данной записи в таблице NAT после перезагрузки сервера обеспечивает соответствующая запись в файле rc.local. Кстати, rc.local по-умолчанию в Debian 9 не существовал, пришлось создать файл

КОД: 

Содержание файла ( сразу с правилом маскарада)

КОД: 

Делаем исполняемым

КОД: 

Теперь создаем службу

КОД: 

Содержание файла

КОД: 

Ну и включение службы и ее запуск

КОД: 

Если надо посмотреть статус

КОД: 

Полезли теперь на Микротик и порулим немного там. Тащим на него сертификаты и применяем по следующему порядку — ca.crt, vasya.crt, vasya.key

КОД: 

Создаём профиль и секрет, а затем и само соединение.

КОД: 

Осталось направить нужный трафик в туннель для части юзеров

КОД: 

Формирование адрес-листов оставляю на усмотрение читающих. Естественно, это не единственный вариант настройки. Но этот работает точно. Сервер арендовался исключительно для написания статьи. Все настройки в режиме реального времени писались в эту статью. Как правило, большая часть вопросов возникает при мелких неточностях, которые оказываются критическими.

источник

 

 

 

 

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here