1

Проблемы с открытием порта 9 на os x 10.10.3 с помощью брандмауэра pf. Я хочу сделать это для того, чтобы иметь возможность получать пакеты wake-on-lan на этот порт. Я предполагаю, что для работы WoL должен быть открыт порт (на пробуждаемой машине) для пакетов UDP (Пожалуйста, исправьте меня, если я не прав)

Имея это в /etc/pf.conf:

# Open port 9 for UDP on all interfaces
pass in proto udp from any to any port 9 keep state

Перезапустите pf с помощью этой команды:

sudo /sbin/pfctl -f /etc/pf.conf

Но когда я port closed ,

sudo nmap -sU -p 9 localhost
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000085s latency).
PORT  STATE  SERVICE VERSION
9/udp closed discard

Я пытался создать пользовательский /etc/pf_cust.conf:

anchor "pf.rules"
load anchor "pf.rules" from "/etc/pf.anchors/pf.rules"

и используйте пользовательский набор правил /etc/pf.anchors/pf.rules:

# Open port 9 for UDP on all interfaces
pass in proto udp from any to any port 9 keep state

используя: sudo pfctl -f /etc/pf_cust.conf Но nmap показывает, что он по-прежнему закрыт и пробуждение по локальной сети не работает (MacPro является относительно новым (2013), имеет Wake On Wireless: поддерживается и проверен "Пробуждение для доступа к сети") в Системных настройках -> Экономия энергии).

Пожалуйста, укажите мне в правильном направлении.

1 ответ1

0

Этот Mac Pro действует как сетевой промежуточный ящик какого-либо типа (маршрутизатор / шлюз / NAT / мост)? Или это конечная точка, которую вы пытаетесь разбудить?

Если вы пытаетесь разбудить конечную точку, вам не нужно открывать порт. Wake on LAN пакеты работают на канальном уровне. Чип Ethernet (или Wi-Fi) ищет магический шаблон (ff:ff:ff:ff:ff:ff, за которым следуют 16 копий аппаратного MAC-адреса интерфейса) в каждом пакете, который он получает. Он даже не обращает внимания на что-либо еще в пакете, поэтому он не знает, является ли пакет даже IP-пакетом или нет, или к какому порту TCP или UDP он адресован.

Когда дело доходит до волшебных пакетов WoL, беспокойство об IP-адресах и портах необходимо только в том случае, если вы пытаетесь отправить пакет из другой части Интернета, и вам нужно найти способ получить его через маршрутизаторы и брандмауэры и Шлюзы NAT. Но как только он попал в аппаратное обеспечение Ethernet целевого хоста, который должен проснуться, он сделал свою работу и вызвал пробуждение. Не имеет никакого значения, если ОС хоста после пробуждения решит отклонить пакет, потому что к тому времени хост проснулся, и работа будет выполнена.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .