Це правда, що ми не можемо дозволити будь-якій машині спати, до якої може знадобитися доступ через VPN-з'єднання?
(Я прошу це про помилку сервера, оскільки мова йде про стільки про VPN-сервери, скільки про сплячі ПК кінцевого користувача)
Це правда, що ми не можемо дозволити будь-якій машині спати, до якої може знадобитися доступ через VPN-з'єднання?
(Я прошу це про помилку сервера, оскільки мова йде про стільки про VPN-сервери, скільки про сплячі ПК кінцевого користувача)
Відповіді:
Стара нитка, але я хотів передзвонити, тому що це все ще найкращий результат пошуку за "wol over vpn".
Так, магічний пакет WOL визначений у межах обмежень рівня 2, але це не означає, що він не може міститися всередині об’єкта мережі та транспортного протоколу, який потім може бути використаний для маршрутизації його через VPN. Причиною цього є "магічна" послідовність може бути де завгодно в межах корисного навантаження. Тож по суті стає питанням отримання звичайного маршрутизованого пакету до цільового хоста з "магічною" послідовністю всередині його корисного навантаження.
Більшість реалізацій магічного пакету використовують порт UDP 9, хоча це насправді не має значення, якщо він правильно прокладений і передається в тому ж домені широкомовної програми, що і цільовий комп'ютер. Поки клієнт VPN має правильні маршрути, він може правильно відправити широкомовний пакет, такий як 192.168.1.255 (широкомовна адреса), до шлюзу VPN через Інтернет.
Тож маршрутизація дійсно проста, проблема може полягати в тому, щоб правильно їх транслювати через цільовий шлюз VPN. Це означає, що налаштувати шлюз VPN / знайти опцію для переадресації трафіку від віддалених клієнтів VPN до локальної мережі.
Зазвичай немає, оскільки "MagicPacket" насправді знаходиться на рівні 2. Він навіть не маршрутизований без допомоги експедиторів (наприклад, IP-помічник).
Існує фантастичний спосіб побудувати тунель другого рівня з SSH, і з цим WOL повинен добре працювати. Тому я не бачу причин обійтися, не відправляючи машини спати.
На основі згадки @slm я включив важливі частини джерела нижче.
Передумови:
1) на обох комп'ютерах має бути ввімкнено кореневий вхід. (Вибачте - ваші облікові дані на обох комп'ютерах повинні дозволяти створювати пристрій TAP). Це означає: на системному рівні root має пароль;
2) у файлі sshd_config хоста, на якому працює демона ssh, встановлені параметри PermitTunnel так і PermitRootLogin так;
3) ip переадресація включена в ядрі. Використовуйте команду sysctl, щоб встановити цей параметр: sysctl -w net.ipv4.ip_forwarding = 1; також додайте рядок net.ipv4.ip_forwarding = 1 у файл /etc/sysctl.conf, щоб налаштування залишилося після перезавантаження. Робіть це на обох комп’ютерах;
4) Ви встановили пакет bridge-utils або іншим чином команда brctl доступна для вас на обох комп'ютерах.
Створіть тунель:
ssh -w 1: 1 -o Tunnel = ім'я хоста Ethernet
опція -w встановлює назву пристрою TAP на будь-якому хості (тут tap1 буде створено з обох кінців).
Параметр -o призначений для визначення параметра конфігураційного файлу в командному рядку. Ми використовуємо Tunnel = ethernet для налаштування тунелю рівня 2.
Ця форма дозволить зберегти сеанс ssh на передньому плані. Якщо ви хочете, щоб він відмовився від оболонки після встановлення тунелю, ви можете скористатися параметром -f, щоб сказати, щоб він розщедрився на задній план. Однак для цього потрібна команда розщедритися, тому ви можете просто використовувати манекенську команду, таку як true, щоб змусити її працювати. Ви також можете використовувати цю функціональність, щоб встановити міст на віддаленому кінці, але я зараз не вступаю в це. Отже, це виглядатиме так:
ssh -f -w 1: 1 -o Tunnel = Ім'я хоста Ethernet
Додайте пристрої TAP до мосту:
brctl addbr br0; brctl addif tap1; ifconfig tap1 вгору; ifconfig br0 вгору
Ви запускаєте це на обох хостах (зауважте, що я не призначив IP-адресу). brctl - команда, яка використовується для управління мостовими пристроями. brctl addbr додає міст br0, і команда addif приєднується до пристрою tap1 до нього.
Далі слід додати фізичні інтерфейси Ethernet до мостового пристрою. Як ви хочете це зробити, буде різнитися, тому я розберуся над декількома сценаріями. Перший сценарій - це те, коли ваші однорангові VPN знаходяться в одній підмережі (тобто між ними немає маршрутизації), а другий сценарій - через Інтернет.
Безсоромно викрадено з: http://la11111.wordpress.com/2012/09/24/layer-2-vpns-using-ssh/
Так, ви можете замість того, щоб надсилати пакет WoL для трансляції адреси в цільовій мережі, просто надіслати його на IP-адресу машини, яку ви хочете прокинути. Програми, протестовані за допомогою PPTP VPN:
Я згоден з user48838 - за визначенням чарівний пакет надсилається лише через локальну підмережу. Однак я раніше використовував сценарій, написаний jpo, який працював з іншої підмережі через звичайний маршрутизатор. Спробуйте це - YMMV
ну насправді відповідь ТАК.
Я успішно використовую WOL через PPTP VPN за допомогою цього додатка: https://play.google.com/store/apps/details?id=com.benfinnigan.wol&hl=pl
Я перевірив це, і відповідь ТАК :)
В Інтернеті я знайшов інструмент, який надсилає пакет WOL як uni-cast на призначений хост, за допомогою якого уникнути передачі широкомовного пакету через випуск маршрутизатора.
Один момент, з яким потрібно стежити за цим рішенням, потрібно поставити статичний arp запис на маршрутизаторі, оскільки хост буде вимкнено і не відповість на запит ARP маршрутизатора. Ура!