Я хотел бы, чтобы все входящие соединения с портом 1000 моего хоста (IP: 200.234.XXX.XXX) перенаправлялись на порт 80 на хосте 10.211.55.5.
Как это сделать на моем хосте? Он работает под управлением Mac OS X 10.5.8
решение1
Сделать это довольно просто. Во-первых, вам нужно включить службу удаленного входа на вашем 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
решение2
Очень просто с помощью универсального инструмента ncat:
sudo ncat --sh-exec "ncat 10.211.55.5 80" -l 1000 --keep-open
Получите исполняемые файлы ncat/nmap для Mac OS X с официального сайта: http://nmap.org/download.html#macosx
EDIT: добавлен sudo для прослушивания на ограниченном порту <1024
решение3
Если у вас есть маршрутизатор UPnP, то настроить порты легко, используяКартаПортов
Очень простой пользовательский интерфейс.
решение4
Если вам все еще интересно, я разработал приложение для переадресации портов на macOS. Вы можете проверить его здесь:
https://github.com/hronro/iPortForwarder
Он позволяет легко переадресовывать отдельный порт или диапазон портов без изменения системного брандмауэра.