Будуємо VPN на Raspberry Pi. Частина друга: створення зашифрованої сторони клієнта
Рейтинг статті: / 4
НайгіршеНайкраще 
OpenVPN Pi ClientОскільки недоліки безпеки дозволяють подальші атаки на наше інтернет-життя, то відчуваємо все більше і більше, що варто мати у себе безпечний сервер.
Таким чином, Ви зможете вільно писати електронні листи і передавати дані, не турбуючись про те, що щось або хтось може перехопити його на шляху від Вашого комп'ютера до мережі Інтернет.
Якщо Ви слідували інструкціям з першої частини цього уроку, то у Вас є повнофункціональний сервер VPN на Вашому Raspberry Pi. Ви можете використовувати його, щоб безпечно підключатися до домашньої мережі звідусіль, де є незашифроване бездротове з'єднання. Ви також можете отримати доступ до загальних файлів і мультимедійної інформації, які зберігаєте у своїй домашній мережі.
Тільки Ви, поки що, не можете отримати доступ до цих файлів. Ми створили ключі для клієнтів (ком’ютерів і пристроїв), щоб використовувати, але ми не сказали клієнтам, де знайти сервер, як зв'язатися, а також, який ключ використовувати.
Якщо Ви пам'ятаєте, ми створили кілька різних клієнтських ключів для кожного з пристроїв, яким ми хочемо надати VPN-доступ. Ми назвали їх Client1, Client2 і Client3.
Було б багато неприємностей, якби треба було створювати новий файл конфігурації для кожного клієнта з нуля, тому ми будемо використовувати оригінальний сценарій, написаний Еріком Jodoin інституту SANS. Замість створення файла для кожного клієнта нами власноруч, цей сценарій буде робити це за нас.
Рухайтеся за сценарієм
Сценарій надасть доступ до наших налаштувань за замовчуванням, щоб створити файли для кожного клієнта. Перше, що нам потрібно зробити, це створити порожній текстовий файл, в якому ці налаштування за замовчуванням можуть бути прочитані.
nano /etc/openvpn/easy-rsa/keys/Default.txt
Заповніть порожній текстовий файл з наступним:
client
dev tun
proto udp
remote <Тут Ваша публічна IP-адреса> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ns-cert-type server
key-direction 1
cipher AES-128-CBC
comp-lzo
verb 1
mute 20
Він повинен виглядати як на скріншоті нижче, за винятком того, що він повинен показувати Вашу публічну IP-адресу. Ви бачите, що автор видалив свою власну публічну IP-адресу, тому що це приватна інформація, якою Ви не повинні ділитися з навколишніми. З іншого боку, локальні статичні IP-адреси дуже схожі для всіх. Як правило, вони починаються з "192.168".
OpenVPN Pi_Client-1
Тепер, якщо у Вас немає статичної публічної IP-адреси, необхідно використати службу системи динамічних доменних імен (DDNS), щоб отримати для себе доменне ім'я, яке замінить IP-адресу. Автор рекомендує використовувати безкоштовний сервіс DNS Dynamic, який дозволяє вибрати ім'я за Вашим вибором. Тоді на Pi Вам треба запустити DDClient, щоб автоматично оновити DDNS-реєстр. Повне керівництво про те, як це зробити, тут.
Як завжди, натисніть Ctrl+X для збереження і виходу з редактора нано.
Далі, нам необхідно створити сам файл сценарію. Сценарій буде запускатися з файлу оболонки, який є виконуваним скриптом, що зазвичай автоматизує завдання в Linux, в тому числі, в цьому випадку.
nano /etc/openvpn/easy-rsa/keys/MakeOPVN.sh
Ось сценарій, який написав Jodoin. Скопіюйте та вставте його в свій порожній файл оболонки. (Примітка: Цей сценарій був трохи не в порядку із-за - як ви вже здогадалися - помилки копіпасту. Зараз він повинен працювати...)
Вам все ще необхідно дати дозвіл цьому сценарію на запуск. По-перше, перейдіть в папку, де він знаходиться:
cd /etc/openvpn/easy-rsa/keys/
А потім дайте йому повноваження root. Як Ви пам'ятаєте з першої частини, дозволи в Linux регулюються різними тризначними номерами. Сімсот означає "власник може читати, писати і виконувати":
chmod 700 MakeOPVN.sh
Нарешті, виконайте скрипт з:
./MakeOPVN.sh
Коли скрипт запущений, він попросить Вас ввести імена існуючих клієнтів, для яких Ви раніше генерували ключі CA. Приклад: "Client1". Переконайтеся, що назвали тільки клієнтів, які вже існують.
Якщо все піде добре, то Ви повинні побачити цей представлений рядок:
Done! Client1.opvn Successfully Created.
Повторіть цей крок для кожного існуючого клієнта.
Останнє, що потрібно зробити, це підключитися до Raspberry Pi так, щоб Ви могли завантажити з нього файли. Ви повинні використовувати клієнта SCP (Secure Copy Protocol) для того, щоб це зробити. Для Windows, автор рекомендує WinSCP, а для Mac скористатися Fugu.
Зверніть увагу: якщо Ви не можете отримати дозвіл на підключення до Вашого клієнта SCP, то повинні будете надати собі дозвіл на читання/запис для папки. Поверніться на Raspberry Pi, введіть:
chmod 777 -R /etc/openvpn
Будьте впевнені, що скасували це, коли закінчите копіювання файлів, так щоб інші не змогли ним скористатися! Поверніть дозвіл назад в 600, коли закінчите, так щоб тільки користувач Pi зміг читати/записувати файли:
chmod 600 -R /etc/openvpn
Поставте його в Вашого клієнта, і все готово.
Робота з клієнтським програмним забезпеченням
Добре, важка частина закінчена. Звідси, ми повинні ввести сценарії, які згенерували раніше, в графічному інтерфейсі користувача. Для Вашого ПК, Android, або мобільного пристрою iOS, Ви можете завантажити OpenVPN Connect. Існує не одна програма для Вашого Mac-комп'ютера, тому автор спробував як Tunnelblick, так і Viscosity.
Tunnelblick безкоштовний, в той час як Viscosity коштує $9 після безкоштовного 30-денного тріалу. У будь-якому разі, давайте розглянемо налаштування комп'ютера Mac як клієнта.
У випадку автора, його Mac був п'ятим пристроєм, який автор захотів підключити до сервера VPN, тому файл, який створив автор за допомогою даного сценарію, названий client5.opvn.
Завантажте версію Tunnelblick, яка працює для Вашої версії OS X. Автор використовує Mavericks, так що він завантажив бета-версію. Той факт, що він вискочив на купу мов, виглядало смішно, але це законне скачування:
OpenVPN Pi_Client-2
Тепер буде запитано, чи у Вас вже є файл, який хочете використовувати. Автор ввів - його файл Client5.opvn.
OpenVPN Pi_Client-3
Тоді буде запитано, Ваш файл конфігурації у форматі .opvn чи .tblk. Якщо виберете .opvn, то він проведе Вас через зміну типу файлу для власного типу Tunnelblick. Автор зробив це шляхом передачі Client5.opvn в надану папку Tunnelblick, а потім змінив ім'я папки на Client5.tblk.
Тепер все готово для підключення. Натисніть на значок Tunnelblick в правому верхньому куті екрану і виберіть Client5.
OpenVPN Pi_Client-4
У Вас буде запрошена кодова фраза. Це та ж сама парольна фраза, яку ми згенерували в останньому підручнику, ще коли генерували ключі для кожного клієнта.
OpenVPN Pi_Client-5
Якщо Ви правильно ввели пароль, це буде виглядати наступним чином!
Спробуйте нове підключення в кафе, в місцевій бібліотеці, всюди, де є незашифрований Wi-Fi. Ви все ще можете використовувати відкрите з'єднання, але через VPN Ваші дані будуть зовсім не відкриті.
(Джерело EN: readwrite.com)
 
>
КнигаНовиниПрактика пошукуПартнериПро нас
Підтримка та дизайн: Могильний С.С. Шаблон: Joomla Templates by BuyHTTP Joomla Hosting