/ / Як стукати у вашу мережу (DD-WRT)

Як збити в вашу мережу (DD-WRT)

Ви коли-небудь хотіли мати той особливий «гуртожитокстукати »своїм маршрутизатором, оскільки він« відкриває двері »лише тоді, коли секретний стукіт розпізнаний? How-To Geek пояснює, як встановити демон Knock на DD-WRT.

Зображення Bfick та Aviad Raviv

Якщо ви цього ще не зробили, переконайтеся, перегляньте попередні статті з серії:

  • Перетворіть свій домашній маршрутизатор в суперпотужний маршрутизатор з DD-WRT
  • Як встановити додаткове програмне забезпечення на домашній маршрутизатор (DD-WRT)
  • Як видалити рекламу за допомогою Pixelserv на DD-WRT

Припускаючи, що ви знайомі з цими темами, продовжуйте читати. Майте на увазі, що цей посібник трохи більш технічний, і новачкам слід бути обережними при моделюванні свого маршрутизатора.

Огляд

Традиційно, щоб мати можливість спілкуватися з пристроєм / послугою, потрібно було б ініціювати повний мережеве з'єднання з ним. Однак це виявляє, що називається в епоху безпеки, поверхню атаки. Демон Knock - це свого роду мережевий снифер, який може реагувати, коли спостерігається попередньо налаштована послідовність. Оскільки з'єднання не потрібно встановлювати для того, щоб демон стуку розпізнавав налаштовану послідовність, поверхня атаки зменшується, зберігаючи бажану функціональність. У певному сенсі ми будемо попередньо обробляти маршрутизатор a бажаний Відповідь "два біти" (на відміну від поганого Роджера ...).

У цій статті ми будемо:

  • Покажіть, як використовувати Knockd для підключення маршрутизатора Wake-On-Lan до комп’ютера у вашій локальній мережі.
  • Покажіть, як активувати послідовність Knock із програми Android, а також із комп’ютера.

Примітка: Поки інструкції з встановлення більше не актуальні, ви можете переглянути серію фільмів, яку я створив, "ще коли", щоб побачити весь опис налаштування на стукіт. (Просто вибачте за грубу презентацію).

Вплив на безпеку

Дискусія про те, "наскільки безпечний Нокд?", Тривала і сягає багатьох тисячоліть (в Інтернет-роки), але суть в наступному:

Стук - це рівень безпеки, що невідомий, до якого слід лише звикати посилити інші засоби, такі як шифрування, і не повинні використовуватися як такі, як кінець, щоб бути всім заходом безпеки.

Передумови, припущення та рекомендації

  • Передбачається, що у вас є маршрутизатор DD-WRT з підтримкою Opkg.
  • Трохи терпіння, оскільки для налаштування це може зайняти «деякий час».
  • Настійно рекомендується отримати обліковий запис DDNS для зовнішнього (як правило, динамічного) IP.

Давайте тріщить

Встановлення та базова конфігурація

Встановіть демон Knock, відкривши термінал маршрутизатора і видавши:

opkg update ; opkg install knockd

Тепер, коли Knockd встановлено, нам потрібно налаштуватипослідовності запуску та команди, які будуть виконуватися після їх запуску. Для цього відкрийте файл “knockd.conf” у текстовому редакторі. На маршрутизаторі це буде:

vi /opt/etc/knockd.conf

Зробіть його зміст таким:

[options]
logfile = /var/log/knockd.log
UseSyslog

[wakelaptop]
sequence = 56,56,56,43,43,43,1443,1443,1443
seq_timeout = 30
command = /usr/sbin/wol aa:bb:cc:dd:ee:22 -i $( nvram get lan_ipaddr | cut -d . -f 1,2,3 ).255
tcpflags = sync

Пояснимо вищезазначене:

  • Сегмент "параметри" дозволяє налаштуватиглобальні параметри для демона. У цьому прикладі ми доручили демону вести журнал як у системному журналі, так і у файлі. Хоча використання обох варіантів у поєднанні не шкодить, вам слід подумати про те, щоб зберегти лише один із них.
  • Сегмент “wakelaptop” - це приклад послідовності, яка буде запускати команду WOL у вашу локальну мережу для комп’ютера з MAC-адресою aa: bb: cc: dd: ee: 22.
    Примітка: Наведена вище команда передбачає поведінку за замовчуванням наявності підмережі класу C.

Щоб додати більше послідовностей, просто скопіюйте та вставте сегмент “wakelaptop” та скоригуйте новими параметрами та / або командами, які повинен виконувати маршрутизатор.

Стартап

Щоб маршрутизатор викликав демон під час запуску, додайте нижче до сценарію “geek-init” з керівництва OPKG:

knockd -d -c /opt/etc/knockd.conf -i "$( nvram get wan_ifname )"

Це запустить демон Knock на інтерфейсі “WAN” вашого маршрутизатора, щоб він слухав пакети з Інтернету.

Стук з Android

В епоху мобільності майже обов’язково “мати для цього програму” ... тому StavFX створив її для цього завдання :)
Ця програма виконує стукаючі послідовності прямо з вашого пристрою Android і підтримує створення віджетів на домашніх екранах.

  • Встановіть додаток Knocker з ринку Android (також будь ласка, будь ласка, і дайте йому хороший рейтинг).
  • Після встановлення на вашому пристрої запустіть його. Вас повинно привітати щось на зразок:
  • Можна довго натискати піктограму прикладу, щоб редагувати її, або натиснути “меню”, щоб додати новий запис. Новий запис мав би виглядати так:
  • Додайте рядки та заповніть інформацію, необхідну для вашого стуку. Для прикладу конфігурації WOL зверху це буде:
  • За бажанням змініть піктограму, довго натискаючи піктограму поруч із назвою Knock.
  • Збережіть стукіт.
  • Одноразово торкніться нового Knock на головному екрані, щоб активувати його.
  • За бажанням створіть для нього віджет на головному екрані.

Майте на увазі, що поки ми налаштувалиприклад файлу конфігурації з групами по 3 для кожного порту (через розділ Telnet нижче), у цій програмі немає обмежень на кількість повторень (якщо взагалі) для порту.
Веселіться за допомогою програми, яку подарував StavFX :-)

Стук із Windows / Linux

Поки можливо виконати стукіт за допомогоюНайпростіша мережева утиліта, відома як "Telnet", Microsoft вирішила, що Telnet є "ризиком для безпеки", і згодом більше не встановлюватиме її за замовчуванням на сучасних вікнах. Якщо ви запитаєте мене: «Ті, хто може відмовитись від основної свободи, щоб отримати трохи тимчасової безпеки, не заслуговують ні свободи, ні безпеки. ~ Бенджамін Франклін ”, але я відступаю.

Причина, по якій ми встановлюємо приклад послідовності до груп3 для кожного порту, це те, що, якщо telnet не може підключитися до потрібного порту, він автоматично повторить спробу ще 2 рази. Це означає, що telnet насправді стукне 3 рази перед тим, як здатися. Отже, нам залишається виконати команду telnet один раз для кожного порту в групі портів. Це також причина, через яку вибрано інтервал очікування 30 секунд, оскільки нам потрібно чекати часу очікування telnet для кожного порту, поки ми не виконаємо наступну групу портів. Після завершення етапу тестування рекомендується автоматизувати цю процедуру за допомогою простого сценарію Batch / Bash.

Використовуючи наш приклад послідовності, це буде виглядати так:

  • Якщо ви на Windows, дотримуйтесь інструкцій MS, щоб встановити Telnet.
  • Перейдіть до командного рядка та видайте:
    telnet geek.dyndns-at-home.com 56
    telnet geek.dyndns-at-home.com 43
    1443. телнет geek.dyndns-at-home.com

Якщо все пройшло добре, це повинно бути все.

Вирішення проблем

Якщо ваш маршрутизатор не реагує на послідовності, ось кілька кроків з усунення несправностей, які ви можете зробити:

  • Переглянути журнал - Knockd буде вести журнал, який ви можете переглядати в режимі реального часу, щоб побачити, чи послідовності стуку прийшли до демона і чи команда була виконана правильно.
    Припускаючи, що ви принаймні використовуєте файл журналу, як у прикладі вище, щоб побачити його в режимі реального часу, видайте в терміналі:</p>

    tail -f /var/log/knockd.log

  • Пам’ятайте про брандмауери - інколи ваш провайдер,на робочому місці чи в інтернет-кафе, візьміть на себе свободу блокування спілкування для вас. У такому випадку, хоча ваш маршрутизатор може прослуховувати, стукіт у порти, заблоковані будь-якою частиною ланцюга, не досягне маршрутизатора, і йому буде важко реагувати на них. Ось чому рекомендується спробувати комбінації, які використовують добре відомі порти, такі як 80, 443, 3389 тощо, перш ніж пробувати більш випадкові. Знову ж таки, ви можете переглянути журнал, щоб побачити, які порти досягають інтерфейсу WAN маршрутизатора.
  • Спробуйте послідовності всередині - Перед залученнямвищезазначену складність, яку можуть внести інші частини ланцюга, рекомендується спробувати виконати послідовності внутрішньо, щоб побачити, що вони А. потрапляють у маршрутизатор, як ви вважаєте, що вони повинні Б. виконати команду / команди, як очікувалося. Для цього ви можете запустити Knockd, прив’язавшись до інтерфейсу локальної мережі за допомогою:

    knockd -d -i "$( nvram get lan_ifnameq )" -c /opt/etc/knockd.conf

    Як тільки вищезазначене буде виконано, ви можете спрямувати Knocking client на внутрішній IP маршрутизатора замість зовнішнього.
    Порада: Оскільки knockd слухає на рівні “інтерфейсу”, а не на рівні IP, можливо, ви захочете постійно запускати екземпляр KnockD на інтерфейсі LAN. Оскільки “Knocker” оновлено для підтримки двох хостів для стуку, це буде зроблено для спрощення та консолідації ваших стукаючих профілів.

  • Пам'ятайте, на котрій стороні ваш - це неможливовибити інтерфейс WAN з інтерфейсу LAN у вищевказаній конфігурації. Якщо ви хочете мати можливість стукати незалежно від того, на якій стороні ви знаходитесь, ви можете просто запустити демона двічі, один раз прив’язавшись до WAN, як у статті, і один раз прив’язавшись до локальної мережі, як на етапі налагодження зверху. Немає проблем із запуском обох спільно, просто додавши команду зверху до того самого сценарію geek-init.

Зауваження

Незважаючи на те, що наведений вище приклад може бути здійснений різними іншими методами, ми сподіваємось, що ви можете використовувати його, щоб дізнатись, як досягти більшого прогресу.
Частина друга цієї статті, яка приховує послугу VPN за стуком, вже наближається, тож слідкуйте за нами.

Завдяки Knocking ви зможете: динамічно відкривати порти, вимикати / вмикати послуги, віддалено WOL-комп’ютери та багато іншого…