Створення vpn тунелю між двома квартирами на базі роутерів з dd-wrt

  • 10.11.15 08:20 •
  • Deav •
  • # 270563 •
  • Хабрахабр •
  • З пісочниці •
  • 7 •
  • 6500

- такий же як Forbes, тільки краще.

Передісторія:


Власне, завдання - об'єднати будинок 1 і будинок 2. На озброєнні маємо схеми:

Будинок 1: -internet пров. Beeline l2tp; psTV (196.168.2.13); dir615С2 (внут: 192.168.2.1, зовн: 95.24.х.х (буде клієнтом VPN))

Дом 2: -internet пров. Interzet з білим ip; PS4 (192.168.1.13); dir615Е4 (зовн st.IP: 188.Х.Х.Х, внут: 192.168.1.1 (буде сервер VPN)

На обох роутерах були встановлені прошивки від dd-wrt. Процедура встановлення не складна, в інтернеті багато інформації на цю тему.

Мета щоб обладнання dir615с2 (далі «В») було доступно в локальній мережі dir615Е4 (далі «А») і назад.

Підготовка, проблеми, рішення:


Після установки dd-wrt і настройки підключення до інтернету було помічено на роутері А відсутність ping між клієнтами, підключеними по lan (по wifi такої проблеми немає). Вирішується ця проблема двома способами:

2. Захід у вкладку «Адміністратор - Команди» і виконання команди:


Захопившись настройками, відчув бажання зробити автоматичне відключення і включення WIFI, чи то з метою експерименту, то чи для зменшення кількості випромінюючих приладів в квартирі. Для це було знайдено кілька рішень:

1. Використання команд ifup, ifdown і командами cron. Для це у вкладці «Адміністратор» в пункті Cron пишемо:


Це дозволить вкл. о 7:00 ранку і викл. 00:00 ночі. Але у мене як і у багатьох вона не працювала.

2. Цей метод полягає в використанні кнопки WPS / Перезавантаження на корпусі роутера. Для це в меню Services в пункті SES / AOSS / EZ-SETUP / WPS Button слід вкл. Turning off radio. Але кожен раз натискати кнопку це не дуже цікаво.

3. Використання команди розкладу роботи WIFI:


Де 0 - викл, 1 - вкл. в моєму прикладі він вкл. о 7:00 а викл. о 01:00.

Тепер можна і приступити до налаштування VPN. На «А» піднято сервер PPTP, а на «В» клієнт. Переконатися в роботі VPN можна на вкладці «Статус - lan». У самому низу вказується, що клієнт «В» підключений до сервера «А».

(Налаштування сервера і клієнта проводились в Web інтерфейсі)

Створення vpn тунелю між двома квартирами на базі роутерів з dd-wrt

На сервері задаючи ім'я і пароль слід ставити * через пробіл.

Створення vpn тунелю між двома квартирами на базі роутерів з dd-wrt

Якщо у вас, так само як у мене, роутер на базі Atheros AR7240. то можливо клієнт VPN буде при підключенні залишатися зі своїм локальним IP (не беручи ip з діапазону сервера). В цьому випадку необхідно додати noipdefault в поле мппе шифрування. Також не зайвим буде додати --nobuffer в поле ип ППТП сервера через пробіл для викл. буферизації.

Тепер, коли у нас є VPN-тунель, нам треба прописати маршрут до сусідньої мережу.

«А» має мережу 192.168.1.0/24 і ip як сервер VPN 172.16.1.1
«В» має мережу 192.168.2.0/24 і ip як клієнт VPN 172.16.1.51

Для доступу з «А» в «В» потрібно задати:


Для доступу з «В» в «А» потрібно задати:


Так як при перепідключенні клієнта до сервера VPN маршрут буде скинутий і його треба буде повторно ставити, було прийнято рішення про написання Shell-скрипта. Він би перевіряв періодично на наявність маршруту і в разі його відсутності перевіряв підняття тунелю, і при його наявності ставив би маршрут.

Виглядає він для сервера так:


Для клієнта міняємо 192.168.2.0 на 192.168.1.0, 172.16.1.51 на 172.16.1.1, 172.16.1.1 на 172.16.1.51.

Тепер нам потрібно зробити так, щоб цей скрипт спрацьовував по заданому інтервалу. Це можливо зробити у вкладці «Адміністратор» в пункті Cron, пишемо:


Це нам дасть запуск скрипта кожні 3 хвилини, кожну годину і кожен день. На цьому настройка VPN тунелю закінчена.