Переадресация исходящих запросов с помощью PF
Я пытаюсь перенаправить весь исходящий трафик с моей локальной машины на порт 843, чтобы перейти к моей локальной службе на порт 1234.
Поэтому, когда я делаю запрос, например 1.2.3.4:843
, я хочу, чтобы 127.0.0.1:1234
вместо этого он подключался (прозрачно к запрашивающему приложению).
Я на OS X, поэтому я пытаюсь добиться этого с помощью pf
.
Вот что у меня есть:
ext_if = "en0" int_if = "lo0" rdr on $ext_if inet proto tcp from self to any port 843 -> 127.0.0.1 port 1234
Теперь, когда я это сделаю, telnet 1.2.3.4 843
я ожидал подключения к моей локальной службе (работает через порт 1234).
Однако, похоже, он не перенаправляет должным образом. С помощью tcpdump
я вижу, что пакеты помещаются на интерфейс с адресатом 1.2.3.4
.
Если я делаю правило localhost only, например
rdr on $int_if inet proto tcp from self to any port 843 -> 127.0.0.1 port 1234
Затем telnet localhost 843
работает, как ожидалось, и я получаю ответ от моего локального сервиса, который прослушивает порт 1234
.
Я не уверен, что я делаю не так, и теперь у меня потеря идей. Любая помощь / указатели приветствуются.
РЕДАКТИРОВАТЬ:
Я протестировал немного больше, и похоже, что с последним правилом любой запрос, который попадает на интерфейс обратной связи, работает. Так telnet 127.2.3.4 843
же правильно перенаправляет.
Я пытался добавить $ext_if
к выше
rdr on { $ext_if $int_if } proto tcp from any to any port 843 -> 10.0.1.10 port 1234
Но без успеха. Я также добавил пересылку sysctl. Ничего не сделал.
sudo sysctl -w net.inet.ip.forwarding=1 sudo sysctl -w net.inet6.ip6.forwarding=1
0 ответов на вопрос
Похожие вопросы
-
3
Ускорение загрузки OS X на годичной MBP
-
3
Как повторно связать резервную копию Airport Time Machine после перехода на новый Mac?
-
6
Как вы отключите звук запуска на Mac?
-
-
5
Почему мой Macbook сильно нагревается при использовании Boot Camp?
-
7
Есть ли в Mac OS X эквивалент Ctrl + Tab?
-
6
Способ переноса данных Time Machine на новый диск
-
13
Сброс положения Mac OS X Windows после отсоединения внешнего монитора
-
10
Программное обеспечение для резервного копирования для Mac OS X
-
5
Как удалить и удалить .kext в Mac OS X?
-
4
Как переназначить клавишу извлечения на клавиатуре MacBook, чтобы «удалить»?