Налаштування openvpn для виходу в інтернет

Налаштування 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).

Схожі статті