- 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 інтерфейсі)
На сервері задаючи ім'я і пароль слід ставити * через пробіл.
Якщо у вас, так само як у мене, роутер на базі 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 тунелю закінчена.