Об’єднання двох віддалених офісів та будь-якої кількості віддалених співробітників у єдину локальну мережу

віддалених
Припустимо, що у нас є 2 офіси в різних точках міста, або ж у різних містах або країнах і кожен з них підключений до інтернету досить гарним каналом. Нам треба зв'язати їх у єдину локальну мережу. У такому разі ніхто з користувачів не здогадується, де знаходиться той чи інший комп'ютер або принтер у локальній мережі, користуються принтерами, розшарованими папками та всіма перевагами фізичної мережі. Віддалені співробітники підключившись по OpenVPN зможуть також працювати в мережі, ніби їхні комп'ютери знаходяться у фізичній мережі одного з офісів.

Налаштовуватимемо в операційній системі Debian Squeeze, але інструкція повністю зауважена будь-якому дистрибутиву заснованому на Debian, і з невеликими змінами в командах установки та налаштування мосту і OpenVPN буде застосовна до будь-якого дистрибутиву Linux або FreeBSD.

Припустимо, що дистрибутив Debian або Ubuntu встановлений за однією з інструкцій: Інструкція з встановлення Debian, Інструкція з встановлення Ubuntu

Встановимо та налаштуємо VPN мережу на основі OpenVPN використовуючи міст tap0

Створюємо мережний міст між фізичною мережевою eth1 та віртуальним інтерфейсом tap0

Встановлюємо потрібні програми, погодившись на запит менеджера пакетів:

Налаштовуємо мережу сервера виходячи з того, що у нас 2 мережеві карти: мережна eth0 - отримує інтернет від провайдера і через неї офіс 1 виходить в інтернет, а також мережна eth1 - включена в свіч локальної мережі офісу 1, вона буде включена в міст з інтерфейсом br0

Редагуємо конфігураційний файл /etc/network/interfaces:

Зберігаємо зміни таперезавантажуємо мережу командою:

Налаштовуємо OPENVPN: Копіюємо скрипти для конфігурування нашого openvpn сервера командою:

Вносимо зміни до файлу /etc/openvpn/easy-rsa/vars, щоб визначити глобальні змінні та при створенні менших ключів вводити дані:

Переходимо до папки зі скриптами для створення сертифікатів та ключів командою:

Ініціалізуємо PKI (Public Key Infrastructure) командами:

. Увага. При виконанні команди ./clean-all видаляться всі існуючі сертифікати та ключі як сервера так і клієнтів, тому не виконуйте на бойовому сервері або виконуйте попередньо зберігши папку /etc/openvpn/ в архів командою:

Генеруємо Certificate Authority (CA) сертифікат та ключ командою:

офісів

Більшість параметрів підхопиться із файлу vars. Тільки параметр Name треба вказати явно:

Взагалі, можете всі поля заповнювати щоразу так, як Вам потрібно.

Генеруємо параметри Діффі – Хеллмана командою:

офісів

Генеруємо сертифікат і секретний ключ сервера, на запит введення пароля нічого не вводимо і при запиті Sign the certificate? [y/n]: вводимо y та натискаємо Enter виконавши команду:

двох

Усі параметри приймаємо за умовчанням. На запит Common Name вводимо server

На запитання Sign the certificate? і 1 out of 1 certificate requests certified, commit? відповідаємо позитивно:

Залишилося створити сертифікати та ключі для клієнтів. Спочатку ініціалізуємо параметри:

Створюємо ключі для користувача server1. За прикладом, користувачів додаємо стільки, скільки потрібно:

будь-якої

Прописуємо кожному клієнту свій IP у мережі командами:

Створюємо конфігураційний файл сервера:

Дозволяється OpenVPN запускати скрипти:

Створюємо скрипт/etc/openvpn/up.sh, що запускається при запуску OpenVPN сервера:

Даємо право на виконання скрипту /etc/openvpn/up.sh командою:

Після цього перезавантажуємо OpenVPN сервер командою:

Збираємо архів з ключами для роздачі віддаленим співробітникам та відправки на офіс 2

Створюємо папки з іменами користувачів командами:

Створюємо папку з архівованими ключами командою:

Збираємо ключі та сертифікати за папками користувачів командами:

Створюємо конфігураційні файли з розрахунку, що server1 - сервер віддаленого офісу 2, а client1 і client2 це віддалені співробітники підключаються до VPN мережі зовні з Windows.

Створюємо конфігураційний файл OpenVPN для server1:

Архівуємо ключі для server1 командою:

Створюємо файл конфігурації для client1:

Архівуємо ключі для client1 командою:

Створюємо файл конфігурації для client2 командою:

Архівуємо ключі для client2 командою:

Налаштовуємо VPN сервер офісу 2

В інструкції вище ми встановили та налаштували VPN сервер на Debian GNU/Linux використовуючи OpenVPN, створили ключі із сертифікатами для віддаленого сервера офісу 2 та віддалених співробітників. Тепер нам необхідно з'єднати офіс 1 з офісом 2 в єдину локальну мережу через VPN.

Нам необхідно встановити програмне забезпечення командою:

Налаштовуємо мережу сервера

Налаштовуємо мережу виходячи з того, що у нас 2 мережеві карти мережна eth0 - отримує інтернет від провайдера і через неї офіс 1 виходить в інтернет, а також мережна eth1 - включена в свіч локальної мережі офісу 1, вона буде включена в міст з інтерфейсом br0

Редагуємо конфігураційний файл /etc/network/interfaces:

Зберігаємо зміни та перезавантажуємо мережу командою:

Заливаємо з VPN сервера офісу.зібраний архів ключів OpenVPN на сервер офісу 2 командою:

Або ж, якщо server1 офісу 2 не має постійного або динамічного айпі будемо зливати ключі з VPN сервера офісу 2 командою:

На запит пароля - вводимо пароль користувачаroot, після введення правильного пароля завантажується архів з ключами до папки /root/server1.tgz

Розпаковуємо вміст архіву (тільки файли ключів без папок) /root/server1.tgz в папку /etc/openvpn/

Дозволяється OpenVPN запускати скрипти:

Створюємо скрипт /etc/openvpn/up.sh, що запускається при підключенні VPN клієнта до VPN серверу:

Перезавантажуємо OpenVPN сервер командою:

Тепер можна пінгувати з обох офісів комп'ютери іншого офісу, користуються розшарованими папками, принтерами, ресурсами іншого офісу, а також влаштовувати ігрові баталії офіс 1 на офіс 2 :)

Для перевірки інтерфейсів підключених до міст виконуємо команду:

Бачимо нашу локальну мережеву картку eth1 та віртуальний інтерфейс OpenVPN tap0

Завдання виконано, два віддалені офіси з'єднані в одну локальну мережу.