Как сделать порт вперед в Mac OS X

88471
Daniel Cukier

Я хотел бы сделать все входящие подключения к порту 1000 моего хоста (IP: 200.234.XXX.XXX) для пересылки на порт 80 на хосте 10.211.55.5

Как я могу сделать это на моем хосте? Это работает Mac OS X 10.5.8

31
ах, ты тоже проводишь параллели, сталкиваешься с той же проблемой, что и я? :) LearnCocos2D 11 лет назад 0

6 ответов на вопрос

27
Marius

Довольно просто сделать, во-первых, вам нужно включить службу удаленного входа на вашем Mac ( Системные настройки -> Общий доступ -> Удаленный вход ). Это запускает ваш ssh-сервер.

Затем выполните следующую команду в вашем терминале OS X:

ssh -L 200.234.XXX.XXX:10000:10.211.55.5:80 -N 127.0.0.1 

Возможно, вам придется сначала принять отпечаток сервера, а также ввести свой локальный пароль для входа в систему через ssh. (Вы также можете настроить локальный или локальный открытый / закрытый ключ ssh, чтобы он не запрашивал пароль, оставив это в качестве упражнения для читателя.)

Формат такой:

ssh -L local_addr:local_port:remote_addr:remote_port -N 127.0.0.1 
Можем ли мы сделать это, если порт 22 не открыт? Afshin Moazami 9 лет назад 0
Вам нужно как-то подключиться. Но вы всегда можете запустить ssh на другом порту ... возможно, порт http? или порт BIND (DNS)? Они в основном открыты на брандмауэрах. Marius 9 лет назад 1
удивительно! Большое спасибо, это сработало! kernix 8 лет назад 0
8
Tony Baguette

Very simple using the versatile tool ncat:

sudo ncat --sh-exec "ncat 10.211.55.5 80" -l 1000 --keep-open

Get the binaries of ncat/nmap for Mac OS X from the official website: http://nmap.org/download.html#macosx

EDIT: added sudo to listen on a restricted port <1024

Благодарю. это очень просто, к тому же не нужно перезагружаться! verystrongjoe 7 лет назад 1
Также вам не нужно запускать SSH-сервер на вашем MacOS. Tony Baguette 7 лет назад 0
5
Alexis Hirst

Предполагая, что у вас есть маршрутизатор UPnP, его легко настроить порты с помощью PortMap

У него очень простой пользовательский интерфейс.

alt text

почему ваш образ такой крошечный? barlop 7 лет назад 0
2
jrg

Что ж, я могу рассказать вам, как я делаю такие вещи в моей системе Mac OS X 10.5.8.

Я начал с ответа о NAT, но я думаю, что вы на самом деле хотите использовать программу пересылки TCP (вы упоминаете «прокси» и переадресацию портов).

Есть несколько способов сделать это, в зависимости от ваших потребностей, даже «SSH» может быть задействован, хотя мой любимый короткий и приятный способ - это сценарий Perl tcpforward .

Если вам нужны некоторые манипуляции с HTTP (вам может понадобиться настроить перенаправления HTTP, чтобы при запросе URL-адреса без завершающего символа «/» вы не перенаправлялись на реальный недоступный сервер), тогда Apache может выполнить работа обратного прокси. Вы захотите взглянуть на mod_proxy и, в частности, ProxyPass и ProxyPassReverse. Вы не позволяют ProxyRequests, это вперед проксирование. Для этого должна быть возможность использовать собственный Apache Mac OS, если он у вас запущен. Он поставляется с mod_proxy и /etc/httpd/httpd.conf - это файл конфигурации для обновления.

Даже с Apache вам нужно убедиться, что все ссылки в контенте реального сервера являются относительными, если они ссылаются на реальный сервер, то вы можете попробовать модуль mod_proxy_html (у меня нет опыта того, насколько хорошо это работает.)

-1
Dentrasi

Ваша машина подключена напрямую к интернету (IE - без роутера)? Обычно вы выполняете переадресацию портов на маршрутизаторе, но если вы используете модем для прямого подключения, вероятно, iptables - лучший способ.

Я понятия не имею, почему за это проголосовали, потому что это правда. Hasaan Chop 15 лет назад 0
@HasaanChop Это отрицательно, потому что это не полезно. Если в нем подробно описано, как использовать `iptables` для выполнения поставленного вопроса, это может быть полезно. Jon-Eric 11 лет назад 4
На Mac OS X нет iptables. Dmitry Dulepov 7 лет назад 0
-1
Nisse Engström

Вот хорошая статья: http://www.cyberhq.nl/article/384/port-forwarding-in-macos-x

Но так как вы пересылаете на 80, я предполагаю, что вы хотите, чтобы он перешел на веб-сервер, поэтому я просто изменил бы конфигурацию веб-сервера, чтобы настроить обратный прокси-сервер или что-то в этом роде.

Похоже, ссылка не работает Jochen Bedersdorfer 9 лет назад 6

Похожие вопросы