2015-07-20 17 views
8

Aktualnie testuję, czy moje środowisko programistyczne będzie działać na nowym nadchodzącym Mac OS 10.11 i czy będę mógł je zaktualizować, gdy tylko zostanie wydane. Na mojej maszynie testowej używam wersji beta 3. Wszystko działa dobrze.Używanie pfctl w systemie Mac OS 10.11 (El Capitan) do przekazywania portów

Po prostu mogę uzyskać pfctl przesłać moje porty. Używam programów Vagrant i Parallels Desktop do uruchamiania systemu Debian dla mojego lokalnego serwera WWW. Vagrant przesyła port 8080 na hoście do 80 na gościa. Tak więc 127.0.0.1:8080 działa dobrze. Ale w niektórych projektach chcę mieć tę samą domenę lokalną, jaka będzie w produkcji. (bez: 8080) Po prostu lubię to bardziej. ;-)

Aby to zrobić, używam pfctl do przesyłania od 80 do 8080 na hoście. Oto moje pliki konfiguracyjne:

~/port-forwarding/pf.conf

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

~/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 

Aby go włączyć, Prowadzę:

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

Daje mi to :

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. 

sudo pfctl -s nat mówi:

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

tej pory wygląda dobrze, myślę. Ale to po prostu nie działa.

127.0.0.1:80 - brak połączenia 127.0.0.1:8080 - działa

używam tych samych plików na Yosemite i działa dobrze tam.

Czy ktoś wie, czy nastąpiła zmiana w sposobie korzystania z pfctl lub jeśli robię coś źle lub jeśli istnieje błąd, który można zgłosić.

Thanks a lot

Nick

+1

Ktoś poprosił o tym na [superuser] (http://superuser.com/questions/938999/osx-10-11-el-capitan-beta-pf-conf-behaviour-changed) i [ten komentarz] (http://superuser.com/questions/938999/osx-10-11-el-capitan-beta-pf-conf-behavior-changed-comment # comment1281706_938999) może pomóc, jeśli chcesz zmienić porty, do których przesyłane są wiadomości. Możesz mimo to śledzić post, ponieważ jest tam więcej niż na stackoverflow. –

Odpowiedz

10

Dotyczy to tylko OSX 10.11 - El Capitan - Public Beta 1

x-post od: https://superuser.com/questions/938999/osx-10-11-el-capitan-beta-pf-conf-behaviour-changed/943981#943981

W najnowszej 10.11 beta , 127.0.0.1 jest zablokowany. Rozwiązanie? Użyj 127.0.0.2. Aby to zrobić:

Pierwszy dodać 127.0.0.2 do alias pętli zwrotnej sudo ifconfig lo0 alias 127.0.0.2 up

Modyfikuj regułę pf używać nowego aliasu. rdr pass proto tcp from any to any port 80 -> 127.0.0.2 port 8080

Z linii poleceń, bez użycia pliku:

echo "rdr pass proto tcp from any to any port {80,8080} -> 127.0.0.2 port 8080" | pfctl -Ef - < - Pamiętaj, aby dodać tę ostatnią kleszcza, jesteś w rurociąg stdin)

+0

Właśnie aktualizuję do wersji 10.11 Beta 4 i wygląda na to, że działa tak jak wcześniej. – Dafen

+0

To jest niesamowite! – Cory

+1

upewnij się, że używasz sudo: 'echo" rdr przekazuj proto tcp z dowolnego do dowolnego portu {80,8080} -> 127.0.0.2 port 8080 "| sudo pfctl -Ef -' – Irimia

Powiązane problemy