Использование pfctl в Mac OS 10.11 (El Capitan) для пересылки портов

в настоящее время я тестирую, будет ли моя среда разработки работать на новом предстоящем Mac OS 10.11 и смогу ли я обновить ее, как только она будет выпущена. На моей тестовой машине я в настоящее время запускаю бета-версию 3. Кажется, все идет хорошо.

Я просто не могу сделать pfctl для пересылки моих портов. Я использую Vagrant и Parallels Desktop для запуска системы Debian для моего локального веб-сервера. Бродяга пересылает порт 8080 на хост 80 на гостя. Так что 127.0.0.1:8080 работает нормально. Но в некоторых проекты я хочу иметь тот же домен, что и в производстве. (без :8080) также мне это нравится больше. ;-)

для этого я использую pfctl для пересылки 80 на 8080 на хосте. Вот мои файлы конфигурации:

~ / Port-forwarding/pf.conf

rdr-anchor "forwarding"
load anchor "forwarding" from "/Users/nick/port-forwarding/rules.conf"

~ / переадресация портов / правила.conf

rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080 
rdr pass on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 4433 

чтобы включить его, я бегу:

sudo pfctl -vnf ~/port-forwarding/pf.conf
sudo pfctl -evf ~/port-forwarding/pf.conf

это дает мне это:

pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.

rdr-anchor "forwarding" all

Loading anchor forwarding from /Users/nick/port-forwarding/rules.conf
rdr pass on lo0 inet proto tcp from any to any port = 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to any port = 443 -> 127.0.0.1 port 4433
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.

No ALTQ support in kernel
ALTQ related functions disabled
rdr-anchor "forwarding" all

Loading anchor forwarding from /Users/nick/port-forwarding/rules.conf
rdr pass on lo0 inet proto tcp from any to any port = 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to any port = 443 -> 127.0.0.1 port 4433
pf enabled
logout
Saving session...completed.

судо через pfctl -с нац говорит:

No ALTQ support in kernel
ALTQ related functions disabled
rdr-anchor "forwarding" all

пока это выглядит хорошо, я думаю. Но это просто не работает.

127.0.0.1:80 - никакой связи 127.0.0.1:8080 - строительство

Я использую те же файлы на Yosemite, и он отлично работает там.

кто-нибудь знает, было ли изменение в том, как использовать pfctl или если я делаю что-то неправильно или если есть ошибка, которая может быть сообщена.

спасибо лот!--12-->

Ник

1 ответов


это применимо только для OSX 10.11 - Эль-Капитан - публичная бета-1

x-сообщение от: https://superuser.com/questions/938999/osx-10-11-el-capitan-beta-pf-conf-behaviour-changed/943981#943981

В последней бета-версии 10.11, 127.0.0.1 блокируется. Решение? Использовать 127.0.0.2. Для этого:

Сначала добавьте 127.0.0.2 в псевдоним loopback sudo ifconfig lo0 alias 127.0.0.2 up

измените правило pf, чтобы использовать новый псевдоним. rdr pass proto tcp from any to any port 80 -> 127.0.0.2 port 8080

из командной строки, без использования файл:

echo "rdr pass proto tcp from any to any port {80,8080} -> 127.0.0.2 port 8080" | pfctl -Ef -