З’єднуємо мережі використовуючи OpenVPN в Debian через TUN - докладний посібник, Готуємо смачний сервер
АЛЕ. цілком можлива робота і через динамічний DNS, використовуючи сервіс no-ip.com. Динамічний IP використовувався мною з провайдером DSL на даному сервісі більше 4 років і добре показав себе в роботі 24/7.
Якщо для організації необхідно надати підключення віддалених співробітників до мережевих служб і заощадити на робочому місці, то підключення OpenVPN буде одним з кращих, простих і безпечних рішень. Віддалені співробітники зможуть також працювати в мережі, начебто їхні комп'ютери знаходяться у мережі офісів.
Мережеві картки на всіх серверах:
- eth0 - Локальна мережа
- eth1 - Інтернет-провайдер
Для внутрішньої VPN мережі виділяємо собі підмережу:
- Зовнішній IP: 95.243.2.27
- Локальна мережа: 192.168.10.0/24
- IP VPN: 192.168.255.1
Офіс 2:
- Локальна мережа: 192.168.20.0/24
- IP VPN: 192.168.255.5
Офіс 3:
- Локальна мережа: 192.168.30.0/24
- IP VPN: 192.168.255.9
Для серверів можна вибрати собі інший айпі з таблиці нижче, якщо Ви підключатимете віддалених співробітників, з цієї ж таблиці вибираємо їм IP:
| 1,2 | 5,6 | 9,10 | 13,14 | 17,18 | 21,22 | 25,26 | 29,30 | 33,34 | 37,38 | 41,42 |
| 45,46 | 49,50 | 53,54 | 57,58 | 61,62 | 65,66 | 69,70 | 73,74 | 77,78 | 81,82 | 85,86 |
| 89,90 | 93,94 | 97,98 | 101,102 | 105,106 | 109,110 | 113,114 | 117,118 | 121,122 | 125,126 | 129,130 |
| 133,134 | 137,138 | 141,142 | 145,146 | 149,150 | 153,154 | 157,158 | 161,162 | 165,166 | 169,170 | 173,174 |
| 177,178 | 181,182 | 185,186 | 189,190 | 193,194 | 197,198 | 201,202 | 205,206 | 209,210 | 213,214 | 217,218 |
| 221,222 | 225,226 | 229,230 | 233,234 | 237,238 | 241,242 | 245,246 | 249,250 | 253,254 |
Приступаємо до встановлення та налаштування сервера OpenVPN.
На кожному сервері встановлюємо OpenVPN сервер, виконавши команду:
Копіюємо скрипти для формування ключів та сертифікатів виконавши команду:
Відредагуємо основні параметри у файлі vars, щоб не прописувати кожного разу як створюватимемо користувачів:
Переходимо до скопійованої папки:
Ініціалізуємо PKI (Public Key Infrastructure) виконавши команди:
Генеруємо Certificate Authority (CA) сертифікат та ключ виконавши команду:
Більшість параметрів підхопиться із файлу vars. Тільки параметри Organizational Unit Name та Name необхідно вказати явно:

Генеруємо параметри Діффі – Хеллмана виконавши команду:
Генеруємо сертифікат та секретний ключ сервера виконавши команду:
Усі параметри приймаємо за умовчанням. Більшість параметрів підхопиться із файлу vars. Тільки параметр Name необхідно вказати явно:

Додамо відразу і ключі для наших двох офісів, які підключатимуться до сервера OpenVPN:
Усі параметри приймаємо позамовчуванням. На запит Name вводимо відповідно назви офісу: office1, office2:


Якщо за деякий час Вам знадобиться додати ще один офіс або кілька віддалених співробітників, необхідно виконати команду:
Після цього командою./build-key user1 додаємо необхідну кількість клієнтівOpenVPN сервера, не забудьте тільки створити ccd файл для нового клієнта мережі VPN. Створимо папку ccd виконавши команду:
Створимо ccd файл для кожного офісу, в якому пропишемо постійний IP (IP вибираємо з таблиці IP у статті вище) та маршрути:
Створюємо файл ccd для офісу 2 виконавши команду:
Створюємо файл ccd для офісу 3 виконавши команду:
. Якщо якийсь із клієнтів необхідно буде відключити, просто розкоментуємо параметрdisable прибравши символ#
Створюємо конфігураційний файл OpenVPN сервера, виконавши команду:
Створимо папку куди скопіюємо ключі та конфіг для клієнтів, виконавши команди:
Створимо конфігураційний файл для офісу2 попередньо змінивши ip_openvpn_server на зовнішній IP сервер office1 або доменне ім'я:
Створимо конфігураційний файл для офісу2 попередньо змінивши ip_openvpn_server на зовнішній IP сервер office1 або доменне ім'я:
. Якщо необхідно щоб вся мережа офісу 2 або офісу 3, або в подальшому віддаленого співробітника, що підключається, проходила через VPN головного сервера (офіс 1), наприклад для приховування свого зовнішнього IP необхідно розкоментувати параметрredirect-gateway, прибравши#. Після розкоментування необхідно буде дозволитиNAT, дляIP VPN потрібного клієнта на офісному сервері, саме параметр NAT_INTERNAL_NET="" у файлі /etc/arno-iptables-firewall/conf.d/00debconf .conf. Якщо потрібно додатикілька IP, вони поділяються комою.
Скопіюємо сертифікати та ключ для офісу 1 та офісу 2:
Архівуємо папку з ключами для кожного офісу:
Закидаємо архів із ключами на сервери офісів: Копіюємо на сервери офісу2 та офісу3 за наявності зовнішнього айпі командою:
Якщо немає зовнішнього айпі, тоді копіюємо з сервера офісу2 та офісу3 командою:
На сервері офісу 2 розпаковуємо архів, виконавши команди:
На сервері офісу 2 розпаковуємо архів, виконавши команди:
Після цього перевантажуємо сервер OpenVPN на кожному сервері і через хвилинку пробуємо пінгувати ip 192.168.255.1, 192.168.255.5 та 192.168.255.9 - IP серверів. Команда перезавантаження сервера OpenVPN:
Встановлюємо та налаштовуємо Arno-Iptables-Firewall
Тепер необхідно налаштувати файрвол для того, щоб ми могли мати доступ до локальних мереж.
Встановлюємо файрвол Arno-Iptables-Firewall виконавши команду:
Відповідаємо на запитання інсталятора та налаштовуємо Arno-Iptables-Firewall згідно з інструкцією з встановлення та налаштування Arno-Iptables-Firewall:
Налаштовуємо файрвол Office1: У нашому випадку відкриваємо порти на tcp 22 порт і на udp 1194 порт:
Налаштовуємо файрвол Office2: У нашому випадку відкриваємо порти на tcp 22 порт і на udp 1194 порт:
Налаштовуємо файрвол Office3: У нашому випадку відкриваємо порти на tcp 22 порт:
. Щоб всі комп'ютери за серверами з OpenVPN пінгували комп'ютери іншого офісу, вони повинні мати шлюзом свій сервер.
Після всієї роботи, можете пінгувати комп'ютери іншого офісу. Цей посібник зі з'єднання локальних мереж різних офісів завершено.