Mac OS X Lion - перенаправить все соединения через порт 22 на внешний ip [закрыт]

8

Мне нужно перенаправить все соединения на любой адрес порта 22 на другой шлюз (то есть не по умолчанию). Во-первых, я предполагаю сделать это с ipfw:

sudo ipfw add 5 fwd $EXTERNAL_IP,22 tcp from any to any 22 keep-state

Но с Mac OS X Lion похоже не работают. Во всяком случае, глядя на документацию ipfw, я вижу, что она устарела, и я должен использовать pfctl.

Итак, я изменил /etc/pf.confфайл:

rdr proto tcp from $internal_ip to any port 22 -> $external_ip port 22

Но без удачи.

Кто-нибудь знает, как перевести или переслать все соединения, созданные локальными приложениями, на любой адрес, кроме порта 22, на другой шлюз / IP-адрес?

Обновить

Следуя предложению Джейка, я попытался указать только IP-адрес назначения, поэтому я преобразовал правило rdr в синтаксис Mac OS X:

rdr proto tcp from any to any port 22 -> $external_ip port 22

Даже в этом случае я не получил ожидаемых результатов, то есть я могу подключиться через ssh к своему серверу, но через шлюз по умолчанию.

freedev
источник
Вы поняли это? Я пытаюсь самостоятельно вставить прозрачный прокси на localhost между localhost и внешними сервисами, но безуспешно. Я предполагаю, что OS X только что присоединилась к Windows на этом фронте - больше нет поддержки NAT на уровне системного брандмауэра, но я все еще надеюсь, что это может быть сделано.
foxx1337
2
Нет, я отказался и включил Linux.
freedev
именно то, что я сделал, на самом деле; спасибо за обновление
foxx1337

Ответы:

0
rdr pass on $internal_ip inet proto tcp from any to any port 22

Не специалист ни в коем случае, думаю, что должен это сделать. Было какое долгое время , так как я ничего, кроме IPTables :)

Джейк
источник
Спасибо Джейку за помощь, к сожалению, этот синтаксис не поддерживается, и даже попытка исправить правило rdr не дала ожидаемого результата. Я обновил мой вопрос с вашим предложением.
freedev
0

Вы можете попробовать найти порт Rinetd для Mac OS X.

Майк
источник