Как перенаправить порт, доступный миру на моем Mac?

Я понимаю, что там много информации о переадресации портов, но вот мой конкретные ситуации.

мне нужно использовать Remote in (через VNC) на моем Mac. По умолчанию сервер удаленного общего доступа Mac прослушивает порт 5900. Что бы все хорошо, кроме моей компании блокирует порт 5900 входящие подключения!

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

вот что я пробовал:
ssh 127.0.0.1 -L3389:127.0.0.1:5900

это не совсем то, что я хочу, потому что тогда подключения только с 127.0.0.1 на порт 3389.

 netstat -an | egrep 'Proto|LISTEN'
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp6       0      0  *.5900                 *.*                    LISTEN
tcp4       0      0  *.5900                 *.*                    LISTEN
tcp4       0      0  127.0.0.1.3389         *.*                    LISTEN

мне нужно слушать от мира, * порт 3389. Как я могу это сделать?

30
задан Shamoon
09.11.2022 13:44 Количество просмотров материала 2755
Распечатать страницу

4 ответа

ваш вопрос немного короткий по конкретным деталям, немного трудно дать прямые ответы, не зная некоторых вещей:

  1. можете ли вы подключиться к порту VNC по умолчанию извне-скажем, из дома друга, где ваша работа не блокирует вас? Если это так, вы можете изменить порт, который VNC слушает на 3389 и проверить это. как изменить номер порта по умолчанию Screen sharing / VNC на Mac OS X?

  2. команда СШ вы упоминаете нужно было бы запускать с подключаемой машины, а не с"сервера". Так вы бы побежали:

    ssh address.of.your.mac -L9999:127.0.0.1:5900
    

    и затем подключите VNC к localhost: 9999 на клиентском компьютере. Я использую 9999 в качестве примера, так как он, вероятно, не используется, и 5900 может быть, если ваш клиент Mac и 3389 может быть, если ваш клиент Windows.

  1. Я бы тоже подумал о VPN, чтобы обойти ограничения работы (и для безопасности). OpenVPN может легко работать на порту 443 (HTTPS), который, вероятно, разрешен, и даже будет работать через прокси-сервер, если ваша работа ограничивает веб-доступ таким образом. Настройка этого не слишком сложна, но выходит за рамки этого вопроса.
1
отвечен heurist 2022-11-10 21:32

вместо переадресации портов, вы можете изменить порт, который launchd прослушивает подключения VNC. (launchd слушает от имени screensharingd, и запускает screensharingd при попытке соединения).

screensharingd является сервером VNC по умолчанию в OS X. Если вы используете Apple Remote Desktop (a.k.a. ARD, "Remote Management") вместо этого эти инструкции, вероятно, потребуется несколько изменить.

редактировать /System/Library/LaunchDaemons/com.apple.screensharing.plist

найти ключ / значение пара:

<key>SockServiceName</key>
<string>vnc-server</string>

и измените его на это:

<key>SockServiceName</key>
<string>3389</string>

тогда вам, вероятно, придется перезагрузиться или использовать launchctl в законную силу launchd перезагрузить plist.

затем в клиенте VNC укажите порт 3389. Например, встроенный VNC-клиент OS X использует URL-адреса, поэтому вы можете передать его vnc://username:password@host.example.com:3389/. Или оставьте username:password так вам будет предложено.

предостережение lector: я не пробовал это сам, так что попробуйте на свой страх и риск. Рассмотрите возможность создания резервной копии скопируйте этот файл plist перед его редактированием, так что его легко вернуть, как это было.

1
отвечен Spiff 2022-11-10 23:49

вы можете попробовать -D опция с ssh, которая является динамической переадресацией портов. Так что это может выглядеть так:ssh -D 3389 yourAccount@yourDomain.com

Я сделал это вчера, и я вспоминаю это по памяти, но это основы его. После того, как эта команда работает, вы просто введите пароль и настроить приложение для прослушивания на порт, указанный - 3389 в вашем случае с 127.0.0.1 в качестве IP-адреса.

Я думаю, что это создает своего рода SOCKS прокси с помощью ssh.

: D

0
отвечен user_loser 2022-11-11 02:06

Я думаю, что вы ищете что-то вроде этой, Mac-эквивалент iptables.

у меня нет Mac, поэтому я не могу проверить это сам, но я бы предложил попробовать

sudo ipfw add fwd 127.0.0.1,5900 tcp from any to 127.0.0.1 dst-port 3389

обратите внимание, что там, кажется, различные различные синтаксисы, которые ipfw может процесс (127.0.0.1,3389 и 127.0.0.1 3389 похоже, они также будут работать от того, что я могу найти). Я бы связал вас со страницей FreeBSD, но как новый пользователь у меня пока недостаточно репутации для этого :свисток.:

кроме того, начиная с ipfw устарело, вы можете попробовать pfctl как рассказали здесь.

0
отвечен Pockets 2022-11-11 04:23

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

macos
networking
port
port-forwarding
ssh
Вверх