Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

OpenVPN є дуже популярною серед системних адміністраторів, коли потрібно швидко і ефективно поєднати VPN-каналами віддалені офіси. Сьогодні пропонуємо вам статтю нашого Новомосковсктеля в якій він розповість вам як налаштувати безпечний канал між офісами з додатковою пральний захистом на платформі Windows.

І так нам потрібно організувати VPN канал між двома офісами. Мережа Офіс 1 (назвемо його С_ОФ1) і мережу Офіс 2 (назвемо його С_ОФ2).

Скажу відразу що в моєму випадку OpenVPN в обох офісах встановлено на Windows 7.

С_ОФ1 включає:
Машина куди ставимо OpenVPN Server має 2 мережевих інтерфейсу.
Також на ній встановлений проксі-сервер який роздає інет в локалку, тим самим будучи для всіх машин в локалке основним шлюзом (192.168.0.100)
192.168.0.100 дивиться в мережу
192.168.1.2 дивиться в світ через роутер. Роутер має статичний IP скажімо 111.222.333.444. На роутере зроблений кидок порту 1190 (в моєму випадку порт 1190 проброшена на 192.168.1.2)
Користувач в мережі: 192.168.0.50

С_ОФ2 включає:
Машина куди ставимо OpenVPN Client має 2 мережевих інтерфейсу.
Також на ній встановлений проксі-сервер який роздає інет в локалку, тим самим будучи для всіх машин в локалке основним шлюзом (172.17.10.10)
172.17.10.10смотріт в мережу
192.168.1.2 дивиться в світ через роутер.
Користувач в мережі: 172.17.10.50

Завдання: Користувач С_ОФ1 (192.168.0.50) повинен бачити Розшарені ресурси на Користувача С_ОФ2 (172.17.10.50) і навпаки.

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

Приступаємо до налаштування

Викачуємо OpenVPN з офіційного сайту відповідно до розрядністю системи.

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки
Запускаємо установку, на 3-му кроці активуємо неактивні пункти.

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

Наступний крок - шлях для установки. Щоб полегшити собі подальше життя, встановлюємо в корінь диска С.

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

Перейменуємо його у "VPN"

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

В директорії "C: \ OpenVPN" слід відразу ж створити додатково папку ssl (тут ми будемо зберігати ключі аутентифікації) папку ccd (тут будуть знаходиться конфігурація налаштувань сервера для клієнта).

В папці easy-rsa створюємо файл vars.bat. даний пакетний файл буде задавати змінні для сеансу генерації сертифікатів, в тій частині що стосується організації і розташування заповнюємо своїми даними.

Запускаємо командний рядок від імені адміністратора.


Переходимо по шляху C: \ OpenVPN \ easy-rsa, набравши для переходу в командному рядку команду

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

Далі запускаємо clean-all.bat:

Тепер запускаємо build-ca.bat. Так як вся інформація про сервер у нас вже заповнена, все залишаємо без змін:

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки
після цього у нас в папці ssl з'явиться два файли ca.crt і ca.key.

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

в результаті у нас в папці ssl з'явиться файл dh1024.pem.

Створюємо серверний ключ, для цього вводимо команду:

де "ServerVPN" це назва нащего VPN сервера, як в моєму випадку,

Важливо! Вказуємо параметр "commonname" - пишемо ім'я нашого VPN сервера. Всі інші параметри залишаємо за замовчуванням, на всі питання відповідаємо yes

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

в результаті у нас в папці ssl з'являться файли ServerVPN.crt. ServerVPN.csr. ServerVPN.key.

Приступаємо до формування клієнтських ключів.

де "UserVPN_1" ім'я нашого клієнта.

Важливо! Вказуємо параметр "commonname" - пишемо ім'я нашого VPN клієнта (UserVPN_1). Всі інші параметри залишаємо за замовчуванням, на всі питання відповідаємо yes

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

В результаті у нас в папці ssl з'являться файли UserVPN_1.crt. UserVPN_1.csr. UserVPN_1.key.

Якщо у вас кілька клієнтів, то повторюємо формування ключів; не забуваючи кожного клієнта привласнювати свої імена

Генерація ключа tls-auth (ta.key) для аутентифікації пакетів, для цього переходимо в кореневу папку OpenVPN:

і виконуємо команду:

в результаті в папці ssl плучілось файл ta.key.

Приступаємо до створення конфіга сервера. В папці config створюємо файл OpenVPN.ovpn:

В папці ccd створюємо файл без розширення і називаємо його точно, як клієнта UserVPN_1. відкриваємо його блокнотом і пишемо наступне:

Створюємо конфиг клієнта.

Встановлюємо на клієнті OpenVPN, зраджуємо йому ca.crt. UserVPN_1.crt. UserVPN_1.key. ta.key.

Налаштовуємо файрволи та антивіруси на клієнті і на сервері для безперешкодного проходження пакетів. Описувати не буду все залежить від встановлених антивірусів і файрволов.

Після всього цього запускаємо наш сервер і клієнт.

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

Якщо все правильно зробили наш сервер отримає IP 10.10.10.1 і підключиться до нього клієнт і отримає IP 10.10.10.2. І так підключення у нас відбулося тепер сервер і клієнт пінг один одного по IP нашій VPN мережі, тобто 10.10.10.1 і 10.10.10.2.

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

Hужно зайти в якості роботи, налаштувати її на автоматичне включення і запустити.

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки
Після цього ми зможемо пінгувати внутрішні IP сервера і клієнта (172.17.10.10 клієнт і 192.168.0.100 сервер).

Але у цього способу є маленький недолік: після включення цієї служби і підключення до нашого VPN-каналу на значку мережевого підключення повисне червоний хрест до відключення VPN.

При цьому всі мережі працюють в штатному режимі. Особисто мене цей хрест дратує і іноді збиває з пантелику.

Є другий спосіб як зробити видимими внутрішні IP мереж наших сервера і клієнта.

Для цього заходимо в реєстр, відкриваємо гілку реєстру:

Знаходимо параметр і міняємо значення: IPEnableRouter типу REG_DWORD значення 1.

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки

Не забуваємо перезавантажити машину, щоб настройки вступили в силу!

Це потрібно зробити і на сервері, і на клієнті.

Отже ми пінгуем наші мережі по внутрішнім IP, а так як у нас і сервер і клієнт для своїх мереж є шлюзами, то і машини з мережі 1 можуть бачити машини з мережі 2 і навпаки. тобто Користувач С_ОФ1 (192.168.0.50) може бачити розшарені папки Користувача С_ОФ2 (172.17.10.50) і навпаки.

Якщо сервер і клієнт ні бути шлюзами для своїх мереж, в тому випадку доведеться прописувати маршрути руками.

Приклад для С_ОФ1:

Приклад для С_ОФ2:

в моєму випадку цього не знадобилося.

Для автоматичного запуску сервера і клієнта нам потрібно включити службу OpenVPN Service

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки
тепер при завантаженні машини сервер автоматично стартує, а при включенні машини клієнта він також автоматично підключиться до сервера.

додатковий захист

Як відомо в OpenVPN є можливість аутентифікації за сертифікатами, як описано вище, а так само за логіном і паролем, але можна ще й об'єднати їх разом. Наскільки мені відомо тільки в Linux є можливість штатними засобами налаштувати аутентифікацію за логіном і паролем, але в Windows це теж можна вирішити. Для цього в папці config створюємо файл auth.vbs і пишемо в нього наступне

Так само в папці config сода файл Users.pw туди пише логін і пароль нашого клієнта

Якщо кілька клієнтів то:

Організація каналів між офісами за допомогою openvpn з додатковою пральний захистом - записки
У мене налаштоване що ім'я користувач (логін) відповідає імені клієнта в сертифікаті, тобто UserVPN_1. але можна задати й інше ім'я відмінне від імені в сертифікаті, для цього потрібно дивитися настройки в auth.vbs.

а в конфіги клієнта міняємо рядок auth-user-pass на auth-user-pass C: \\ OpenVPN \\ ssl \\ pass.txt.

Тепер я включаю машину де встановлений OpenVPN -Server, запускається служба і сервер VPN автоматично піднімається. Клієнт запускає машину і у нього також проходить автоматичне підключення до мого сервера. Тепер можна заходити в загальні папки або по RDP працювати, наприклад, в 1С, встановленої в іншій організації.

Додаткові матеріали: