Іноді потрібно отримати віддалений доступ до мережі підприємства, створити тунель між серверами або надати доступ до Інтернету доброму сусідові якого відключили від Мережі через заборгованість А, може бути, - просто мати можливість отримати доступ до своєї мережі з будь-якого куточка світу, де є Інтернет.
Для цих цілей можна використовувати віртуальні приватні мережі (Virtual Private Network - VPN). В нашому випадку, це буде найпоширеніший протокол у країнах СНД, а саме - PPTP (Point-to-Point Tunneling Protocol). Багато кабельні провайдери інтернету використовують його для надання послуг доступу до Всесвітньої мережі.
Підняти свій сервер на Linux Ubuntu Server LTS не так вже важко. Для цього нам знадобиться доступ до Інтернету й реальний IP (якщо потрібно буде підключатися з Інтернету).
Заходимо на сервер, використовуючи обліковий запис root і встановлюємо необхідні пакети командою apt-get install pptpd Нам запропонують також встановити пакет bcrelay, він дозволяє дублювати широкомовні пакети, прийняті на вхідному інтерфейсі на віртуальні (PPP тунелі клієнтів).
Натискаємо enter і наш сервер встановлений. Приступимо до конфігурації. Відкриємо файл nano /etс/pptpd.conf і в самому низу побачимо наступні рядки
#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245
# or
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245
Це налаштування IP адрес клієнтів. Раскомментируем перші два рядки (видалимо символ"#") і трохи підправимо їх.
Рядок localip 192.168.0.1 означає, що у нашого VPN сервера буде IP 192.168.0.1 можна вказати наш IP в одній з безпосередньо підключених мереж. Наприклад, у мене в домашній мережі у сервера IP адреса - 172.30.2.1 Щоб не навантажувати сервер ще й непотрібною маршрутизацією я використовував його.
Другий рядок - remoteip 192.168.0.234-238,192.168.0.245 вказує діапазон IP-адрес, які будуть присвоюватись клієнтам. Як видно з цих рядків, мережна адреса може бути будь-яким (у другій групі рядків). Для зручності ми виберемо його з того ж діапазону що і IP нашого сервера.
Я використовую вдома таку логіку видачі IP: 1й - роутер, 2-19 - комп'ютери, 20-49 - статичний VPN (при підключенні видається один і той же адреса), 50-100 - VPN клієнти, 101-199 - Wi-Fi клієнти, 200-254 - для різних пристроїв (наприклад IP роутера, телевізора тощо). Зазначимо такий діапазон remoteip 172.30.2.50-100 і збережемо конфігурацію.
Перейдемо в каталог cd /etс/ppp/ тут зберігаються всі файли налаштування pptpd (сервер) і pppd (клієнт).
Перейменуємо файл pptpd-options командою mv pptpd-options pptpd-options.bak і створимо його за новою nano pptpd-options Це зроблено для того, щоб легше було вставити кілька рядків в новий файл, ніж шукати параметри серед десятків рядків з коментарями. Вставимо в цей новий файл такий вміст:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
#require-mppe-128
ms-dns 172.30.2.1
nodefaultroute
lock
nobsdcomp
auth
logfile /var/log/pptpd.log
Що все це значить? Давайте по порядку:
Зберігаємо і закриваємо цей конфігураційний файл.
Тепер потрібно додати користувачів, які будуть підключатися до нашого сервера. Відкриємо файл nano chap-secrets (він використовується для зберігання облікових записів PPP).
Для коректної роботи потрібно дотримуватися такий формат: колонки повинні бути розділені хоча б одним пропуском або табом (Tab), не допускається використання прогалин в іменах (інакше пробіл розглядається як наступна колонка), логін повинен починатися на букву. Наприклад:
Перша колонка - це логін користувача, друга - ім'я сервісу. У нашому випадку це pptpd. Далі - пароль користувача, остання - IP адресу, який буде виданий. Причому, якщо стоїть * то IP-адреса буде виданий з раніше заданого діапазону автоматично. Також в якості IP можна вказати адресу, який може бути за межами діапазону.
Перед тим, як використовувати сервер, потрібно перезапустити його. Для цього виконаємо /etс/init.d/pptpd restart якщо в конфігурації немає помилок, сервер буде запущений.
rоot@CoolServ:/etс/ppp# /etс/init.d/pptpd restart
Restarting PPTP:
Stopping PPTP: pptpd.
Starting PPTP Daemon: pptpd.
Якщо ви використовуєте IPTables (фаєрвол) в нього треба додати такі рядки:
# VPN - PPTPD
iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p gre -m state --state RELATED,ESTABLISHED -j ACCEPT
Для надання доступу до Інтернету VPN клієнтам через наш сервер потрібно дописати таке правило IPTables:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
де eth1 - інтерфейс в бік Інтернету.
Для перевірки можна створити тестове підключення VPN з відключеним шифруванням (не обов'язковим) і використовуючи будь-який вказаний логін підключитися до сервера.
Часті помилки при підключенні
691 - перевірте логін і пароль (регістр і прогалини в ньому) 718 - проблема з налаштуванням фаєрволу на сервер або сервер не зміг запуститися 741 або 742 - потрібно відключити обов'язкове шифрування на стороні клієнта
Щоб створити клієнтське підключення PPTP з Windows XP виконуємо наступні пункти: натискаємо "Пуск" - "Панель управління" - "Мережа та підключення до інтернету" - "Мережеві підключення".
Тиснемо на "Створення нового підключення" - це запустить "Майстер нових підключень".
Натискаємо "Далі". В наступному вікні вибираємо "Підключити до мережі на робочому місці".
Натискаємо кнопку "Далі" Тепер вибираємо "Підключення до віртуальної приватної мережі" і знову тиснемо "Далі"
Тепер вписуємо назву підключення. Тут можна написати що завгодно, це буде просто назвою підключення, для прикладу ми напишемо "PPTP" (за типом з'єднання).
Може з'явитися наступне питання «налаштовані Використовувати підключення до Інтернету?» (Якщо у Вас вже налаштоване підключення PPPoE), в ньому натискаємо "Не набирати номер".
Якщо таке повідомлення не з'явилося, читаємо далі.
Тепер у Вас попросять ввести адресу сервера, вказуємо IP вашого сервера або його ім'я.
Натискаємо далі. Ставимо за бажанням галочку "Створити ярлик на робочому столі" і натискаємо "Готово". Запускаємо тільки що створене VPN підключення:
У вікні, показаному на фото вище, вибираємо "Властивості". З'явиться віконце, в якому вибираємо вкладку "Безпека". Знаходимо в ньому пункт "Потрібно шифрування даних" і прибираємо галочку. в іншому випадку ми не зможемо підключитися, будуть з'являтися помилки 741 або 742 - «потрібний тип шифрування не підтримується сервером».
Після цього натискаємо кнопку «ОК», повертаємося в попереднє вікно, вводимо логін, пароль і підключаємося до нашого віддаленого сервера по захищеному VPN каналу !
Залишити свій відгук або побажання Ви можете в самому низу сторінки, а зв'язатися з автором статті можна за цією адресою: