Что такое правильный синтаксис pf для правила перенаправления портов iptables

1

Я ищу, чтобы реализовать правило, подобное следующему iptables правила на моем Mac, чтобы перенаправить трафик с моей рабочей станции разработки (размещающей копию разработки проекта Ruby on Rails) на другой хост в моей локальной сети, на котором работает сервер базы данных PostgreSQL. Без необходимости менять database.yml файл конфигурации на моей локальной копии кода :

iptables -t nat -I PREROUTING -d 127.0.0.1 -p tcp --destination-port 5432 -j DNAT --to-destination 192.168.1.104:5432
ryebread
источник

Ответы:

2

После недолгого поиска, я пришел к этому, и это, кажется, работает отлично.

echo "rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 5432 -> 192.168.1.104 port 5432" | sudo pfctl -ef -

Я не уверен, что это лучший способ, поэтому я публикую здесь. Я хотел бы узнать лучший способ сделать это на Mac.

Я получил это предупреждение, хотя я не знаю, что оно на самом деле нарушило какие-либо правила:

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
pfctl: pf already enabled

Со страницы руководства, -f просто говорит, чтобы проанализировать файл, который я отправляю через stdin,

Любая дискуссия, улучшения или советы будут великолепны!

ryebread
источник