Использование 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 -