rdr pass on $internal_ip inet proto tcp from any to any port 22
Não é um especialista, por qualquer meio, acho que deveria fazê-lo. Tem sido um tempo longo desde que eu usei algo diferente de iptables:)
Eu preciso encaminhar toda a conexão para qualquer porta de endereço 22 para um gateway diferente (ou seja, sem padrão). Primeiramente eu suponho fazer isso com o ipfw:
sudo ipfw add 5 fwd $EXTERNAL_IP,22 tcp from any to any 22 keep-state
Mas com o Mac OS X Lion, parece que não funciona. Enfim, olhando para a documentação do ipfw, vejo que ele está obsoleto e eu devo usar o pfctl.
Por isso, modifiquei o arquivo /etc/pf.conf
:
rdr proto tcp from $internal_ip to any port 22 -> $external_ip port 22
Mas sem sorte.
Alguém sabe como traduzir ou encaminhar todas as conexões geradas por aplicativos locais para qualquer endereço, exceto a porta 22, para um gateway / endereço IP diferente?
Atualizar
Seguindo a sugestão de Jake, tentei especificar apenas o IP de destino, então converti a regra rdr para a sintaxe do mac os x:
rdr proto tcp from any to any port 22 -> $external_ip port 22
Mesmo neste caso, não obtive os resultados esperados, ou seja, posso conectar-me por meio do ssh ao meu servidor, mas por meio do gateway padrão.
rdr pass on $internal_ip inet proto tcp from any to any port 22
Não é um especialista, por qualquer meio, acho que deveria fazê-lo. Tem sido um tempo longo desde que eu usei algo diferente de iptables:)
Você pode tentar encontrar uma porta de rinetd para o Mac OS X.