PF: Não é possível abrir a porta no OS X

1

Ter problemas ao abrir a porta 9 no os x 10.10.3 usando o firewall pf. Eu quero fazer isso para ser capaz de obter pacotes wake-on-lan para esta porta. Eu suponho que para o WoL funcionar a porta (na máquina a ser acordada) deve ser aberta para os pacotes UDP (Por favor, corrija-me se eu não estiver certo)

Tendo isto em /etc/pf.conf :

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

Reiniciando o pf com este comando:

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

Mas recebendo port closed quando eu faço:

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

Eu tentei criar um /etc/pf_cust.conf personalizado:

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

e use o conjunto de regras personalizadas /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

usando: sudo pfctl -f /etc/pf_cust.conf Mas o nmap mostra que ainda está fechado e o wake on lan não funciona (MacPro é relativamente novo (2013), tem Wake On Wireless: Supported e "Wake for network access" verificado em Preferências do Sistema - > Energy Saver).

Por favor, aponte-me na direção certa.

    
por Drew 12.06.2015 / 22:04

1 resposta

0

O Mac Pro funciona como uma middlebox de rede de algum tipo (router / gateway / NAT / bridge)? Ou é o endpoint que você está tentando acordar?

Se é o ponto final que você está tentando despertar, você não precisa da porta aberta. Os pacotes Wake on LAN funcionam na camada de link. O chip Ethernet (ou Wi-Fi) procura o padrão mágico (ff: ff: ff: ff: ff: ff seguido por 16 cópias do endereço MAC de hardware da interface) em cada pacote que recebe. Ele nem presta atenção em mais nada no pacote, por isso não faz ideia se o pacote é mesmo um pacote IP ou não, ou a que porta TCP ou UDP ele está endereçado.

Quando se trata de pacotes mágicos de WoL, preocupar-se apenas com endereços IP e portas só é necessário se você está tentando enviar o pacote de uma parte diferente da Internet, e você precisa descobrir uma maneira de obtê-lo através de roteadores e firewalls e gateways NAT. Mas, uma vez atingido o hardware Ethernet do host de destino que precisa ser ativado, ele faz seu trabalho e causa a ativação. Não faz diferença se o sistema operacional host, uma vez acordado, decide rejeitar o pacote, porque até lá, o host está acordado, então o trabalho está feito.

    
por 12.06.2015 / 23:54