Налаштування OpenVPN для виходу в інтернет
Налаштування сервера (Ubuntu)
Встановлюємо OpenVPN зі сховищ.
Генеруємо сертифікати і ключі (які треба тримати в секреті). Нам знадобляться:
- Сертифікати для сервера і для кожного клієнта, а також приватні ключі для них.
- CA-сертифікат ca.crt і ключ ca.key для підпису сертифікатів сервера і клієнтів.
- Ключ Diffie Hellman. Потрібен для встановлення захищеного з'єднання.
У складі OpenVPN є утиліта для генерації ключів, яка лежить в /usr/share/doc/openvpn/examples/easy-rsa/2.0/. У файлі vars можна поміняти настройки під себе, можна залишити дефолтні.
Ініціалізація (звертаємо увагу на те, що після першої точки є прогалина):
Генеруємо ca.crt і ca.key. сертифікати та ключі для сервера / клієнтів і ключ Diffie Hellman. На питання можна не відповідати і просто тиснути Enter.
Копіюємо потрібні на сервері файли в / etc / openvpn /.
Ключ ca.key використовується тільки для підпису сертифікатів - тому його можна не тримати в / etc / openvpn /. але обов'язково потрібно зберегти в надійному місці і нікому не показувати.
Прописуємо правила iptables. Потрібно дозволити клієнтам з підмережі 10.8.0.0/24 доступ в інтернет, дозволити приймати пакети з інтернету і пропустити трафік клієнтів через NAT.
Щоб правила не скинулися після перезавантаження, додаємо їх в /etc/rc.local.
Щоб форвардного заробив без перезавантаження, робимо
Якщо клієнт вже знаходиться за NAT-ом, кидок трафіку не запрацює, а в балках можна буде знайти рядки на кшталт "MULTI: bad source address from client [abcd], packet dropped" - так як у OpenVPN немає правил для обробки пакетів з підмережі abc 0/24. вони Дропана. Тому прописуємо потрібні правила: в /etc/openvpn/server.conf додаємо рядки
а в / etc / openvpn / ccd / створюємо файл client_name1.conf і в ньому пишемо
Налаштування серверної частини закінчена, перезапускаємо OpenVPN.
Налаштування клієнта (Ubuntu)
По-перше, треба встановити OpenVPN на клієнті.
По-друге, з сервера треба скопіювати CA-сертифікат ca.crt. сертифікат client_name1.crt і ключ client_name1.key.
Другий спосіб - настройка через GUI. Ставимо плагін для network manager:
Зауваження щодо DNS: домени можуть не ні перетворювати при перенаправлення трафіку через VPN, якщо використовуються DNS-сервера провайдера, доступні тільки з його локальної мережі. Тому краще використовувати якісь публічні DNS-сервера, наприклад, Google Public DNS (8.8.8.8 і 8.8.4.4).