e do artigo mencionado, para removê-lo sudo pfctl -F all -f /etc/pf.confe para exibir suas regras atuais de encaminhamento de porta, #sudo pfctl -s nat
234 Brad Parks
4
ter em mente que esta solução não adicionar regras, mas substitui qualquer outra regra carregado antes, inclusive o pf.confarquivo
erandros
36
A maneira moderna de encaminhar portas em El Capitan está usando pf. No exemplo abaixo, todas as solicitações da porta 80 são encaminhadas para a porta 8080 no mesmo host. Ajuste os redirecionamentos de acordo com suas necessidades.
Crie um arquivo âncora org.user.forwarding em /private/etc/pf.anchors
com o seguinte conteúdo e uma linha vazia à direita
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr pass on en0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr pass on en1 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
ou
rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
Modifique o arquivo /private/etc/pf.conf, mas mantenha uma linha vazia à direita
Você precisa desativar a Proteção de integridade do sistema para fazer isso. Após editar o arquivo, reative o SIP. Após a reinicialização, o seu Mac pf será ativado (essa é a opção -e).
Após uma atualização ou atualização do sistema, alguns dos arquivos originais acima podem ter sido substituídos e você deve reaplicar todas as alterações.
Se você deseja encaminhar através de diferentes interfaces, é necessário habilitar isso no /etc/sysctl.conf:
Por que não existe mais um comando simples para fazer isso? É muito complicado agora.
precisa saber é o seguinte
@klanomath - isso funciona e eu posso encaminhar a porta x para a porta y em 127.0.0.1 etc, mas não consigo encaminhar portas para o meu windows vm executando na área de trabalho paralela, Alguma idéia? aqui está minha pergunta stackoverflow.com/questions/40695684/…
Sudhir N
Não parece trabalho quando o encaminhamento de porta para uma máquina virtual que está sendo executado no ambiente de trabalho paralelos
Sudhir N
@sudhir Você não foi vinculado com sucesso à sua nova pergunta. Por padrão, uma VM do Parallels não é visível para a rede, como medida de segurança. Você pode alterar uma configuração na configuração da VM para tornar a VM visível. E lembre-se, pingé seu amigo no diagnóstico de problemas de rede.
Para estender a solução da resposta @ sal-ferrarello, criei dois scripts shell super-básicos para ativar ou desativar o redirecionamento sem comprometer as entradas já existentes no pf.
I. Primeiro encontre com quais entradas você já possui:
sudo pfctl -s nat
Minha saída foi como:
No ALTQ support in kernel
ALTQ related functions disabled
nat-anchor "com.apple/*" all
rdr-anchor "com.apple/*" all
O que nos interessa são entradas reais, então omita as duas primeiras linhas de informação.
II Criar enable.shscript:
#!/bin/sh
echo "
nat-anchor \"com.apple/*\" all
rdr-anchor \"com.apple/*\" all
rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
" | sudo pfctl -ef -
sudo pfctl -s nat
As duas primeiras linhas a seguir echosão as entradas que já estavam lá. A terceira linha está com o novo redirecionamento - neste caso, 80 a 8080. No final, chamamos sudo pfctl -s natpara ver se as alterações foram aplicadas.
III Criar disable.shscript:
Semelhante ao enable.shque criamos script, mas sem redirecionamento 80-> 8080, mas com entradas anteriores já existentes:
#!/bin/sh
echo "
nat-anchor \"com.apple/*\" all
rdr-anchor \"com.apple/*\" all
" | sudo pfctl -ef -
sudo pfctl -s nat
Respostas:
Para encaminhar todo o tráfego da porta 80 para a porta 8080, você pode inserir o seguinte na linha de comando do Terminal.
Retirado de https://salferrarello.com/mac-pfctl-port-forwarding/
fonte
sudo pfctl -F all -f /etc/pf.conf
e para exibir suas regras atuais de encaminhamento de porta, #sudo pfctl -s nat
pf.conf
arquivoA maneira moderna de encaminhar portas em El Capitan está usando
pf
. No exemplo abaixo, todas as solicitações da porta 80 são encaminhadas para a porta 8080 no mesmo host. Ajuste os redirecionamentos de acordo com suas necessidades.Crie um arquivo âncora org.user.forwarding em /private/etc/pf.anchors
com o seguinte conteúdo e uma linha vazia à direita
ou
Modifique o arquivo /private/etc/pf.conf, mas mantenha uma linha vazia à direita
arquivo original:
para
Analise e teste seu arquivo âncora para garantir que não haja erros:
Agora modifique /System/Library/LaunchDaemons/com.apple.pfctl.plist de
para
Você precisa desativar a Proteção de integridade do sistema para fazer isso. Após editar o arquivo, reative o SIP. Após a reinicialização, o seu Mac pf será ativado (essa é a opção -e).
Como alternativa, você pode criar seu próprio daemon de inicialização semelhante à resposta aqui: Usando o Servidor 5.0.15 para compartilhar a Internet SEM compartilhamento de Internet .
Após uma atualização ou atualização do sistema, alguns dos arquivos originais acima podem ter sido substituídos e você deve reaplicar todas as alterações.
Se você deseja encaminhar através de diferentes interfaces, é necessário habilitar isso no /etc/sysctl.conf:
fonte
ping
é seu amigo no diagnóstico de problemas de rede.Para estender a solução da resposta @ sal-ferrarello, criei dois scripts shell super-básicos para ativar ou desativar o redirecionamento sem comprometer as entradas já existentes no
pf
.I. Primeiro encontre com quais entradas você já possui:
sudo pfctl -s nat
Minha saída foi como:
O que nos interessa são entradas reais, então omita as duas primeiras linhas de informação.
II Criar
enable.sh
script:As duas primeiras linhas a seguir
echo
são as entradas que já estavam lá. A terceira linha está com o novo redirecionamento - neste caso, 80 a 8080. No final, chamamossudo pfctl -s nat
para ver se as alterações foram aplicadas.III Criar
disable.sh
script:Semelhante ao
enable.sh
que criamos script, mas sem redirecionamento 80-> 8080, mas com entradas anteriores já existentes:fonte