Пересилання локальних портів на Mac


4

Мені потрібно мати Mac взяти трафік, що надходить в нього на одному порту, відправити трафік в інший, але все ще локальний порт.

Тобто. Трафік потрапляє на порт 1234 і переноситься в порт 5900 (vnc)

Це пов'язано з тим, що маршрутизатор не дозволить мені встановлювати портфоліо, де відрізняються порти походження та призначення, і мені потрібно підключитися до декількох машин.

Так, наприклад, у моєму маршрутизаторі я налаштував: порт 1234 - & gt; 192.168.0.2:1234 порт 1235 - & gt; 192.168.0.3:1235 порт 1236 - & gt; 192.168.0.4:1236

Тоді мені потрібно, щоб Mac взяв вхідний порт і відправити його в локальний порт 5900


Як осторонь: деякі реалізації VNC підтримують повторювачі / проксі. Люблю Повторювач UltraVNC . Це може допомогти перенести тільки порт за замовчуванням на один комп'ютер, який може пересилати запити на інші комп'ютери. Однак для цього потрібно мати один Mac, який завжди працюватиме. Крім того, я не знаю, чи підтримує ця функція вбудований сервер Sharing Sharing.
Arjan

1
VNC підтримує порти, менші ніж 5900. Встановіть дисплей на -4666 (5900 - 1234). VNC потім прослухає порт 1234.
BillThor


Або: використовуйте SSH для підключення до Mac? (Протокол VNC не є безпечним, хоча OS X додає опцію для шифрування даних. Я не знаю, що він робить, але використання SSH також можна для підключення використовуйте клієнт Windows VNC Так, на клієнтському комп'ютері: ssh -L 1234:localhost:5900 -p 22 your-remote-mac і підключити клієнта VCN до localhost:1234. Однак, використовуючи маршрутизатор, це потребує унікального sshd порт для кожного Mac. Подивитися Як змінити порт ssh на Mac OS X?
Arjan

Хто знає, як налаштувати IP Firewall? я думав sudo ipfw add fwd 127.0.0.1,1234 tcp from any to me dst-port 5900 може зробити трюк, але: не сигари. Можливо, в 10.6 треба фактично включити ipfw вручну? (Вбудований брандмауер прикладних програм у налаштуваннях системи зовсім інший.)
Arjan

Відповіді:


3

Я сумніваюся, що місцевий тунель SSH є найпростішим рішенням, але вперед 1234 до 5900:

ssh -g -L 1234:localhost:5900 localhost

The -g потрібний, щоб дозволити віддаленим хостам підключатися до локального порту 1234.

Щоб запустити це у фоновому режимі:

ssh -Nfg -L 1234:localhost:5900 localhost

Ви можете включити опції у свій Файл налаштування SSH , люблю LocalForward 1234 localhost:5900.

Щоб перевірити це, коли Спільне використання екрана не запущено, запустіть вбудований веб-сервер Python: python -m SimpleHTTPServer 5900, а потім наведіть на браузер http://localhost:1234


2

Ця стаття на Переадресація портів на Mac OS X здається, має відповідь.

Ось приклад, який вони надають наприкінці:

Наступний приклад пересилає будь-який вхідний трафік 443 на сервер PRO, що працює на локальному порту (127.0.0.1) 4282.

sudo ipfw add 1443 forward 127.0.0.1,4282 ip from any to any 443 in

Також перевірте, чи ввімкнено як "sysctl -n net.inet.ip.fw.enable", так і "sysctl -n net.inet.ip.forwarding" (встановлено на 1). Це має бути спосіб зробити це, однак у Mac OS 10.7 це здається порушеним
Claudio Floreani
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.