
Я уже несколько месяцев сталкиваюсь с проблемой подключения к компьютеру и, наконец, собрал достаточно информации, чтобы, надеюсь, кто-то мне помог. Я не уверен, проблема в моем ноутбуке или маршрутизаторе; ноутбук — это Macbook Pro начала 2010 года с Mavericks, а маршрутизатор — от Verizon, название модели MI424WR-GEN3I
, версия прошивки 40.21.10.3
.
Все началось с того, что я не мог использовать AirPlay с моего Macbook Pro на моем Apple TV — с моего iPad все работало нормально, но с моим Macbook всегда возникала ошибка соединения. Приложения, которые пытаются подключить мой iPad по беспроводной сети к моему Macbook через локальную сеть Wi-Fi, такие как AirDisplay, не работают. Позже я понял, что не могу подключиться к своему ноутбуку по VNC. Теперь я пытаюсь перенаправить порт с моего маршрутизатора на свой ноутбук, и это тоже не работает. Я пытался сегодня пинговать свой ноутбук с маршрутизатора, но ни один из запросов не прошел, поэтому я решил, что что-то не так с попыткой подключиться к моему ноутбуку с локального IP-адреса.
Я не уверен, проблема в маршрутизаторе или ноутбуке, но, возможно, кто-то уже сталкивался с этой проблемой. Если я запускаю локальный сервер на порту, 3000
например, я могу нормально подключиться к нему на localhost:3000
или 127.0.0.1:3000
. Однако попытка подключиться к нему по локальному IP-адресу 192.168.1.16:3000
вообще не работает. Порт, который я перенаправил с маршрутизатора, тоже не работает, и попытка подключиться к тому же порту на внешнем IP-адресе также не передает запрос на мой ноутбук.
решение1
Вероятно, это настройки безопасности на вашем ноутбуке. Современные операционные системы не так широко открыты, как когда-то. Например, VNC (он же Screen Sharing в OS X) по умолчанию не включен. Если вы хотите включить Screen Sharing, попробуйте эту команду
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -off -restart -agent -privs -all -allowAccessFor -allUsers
Поэтому вы, вероятно, захотите посмотреть, какие сетевые порты используют ваши приложения (с помощью инструмента вроде Network Utility, расположенного в папке /System/Library/CoreServices/Applications/), и проверить, не заблокированы ли они. Вы можете сделать это из любогодругойкомпьютер с терминальной командой
telnet <your_Mac_hostname_or_IP> <port#_to_test>
Допустим, вы обнаружили, что одно приложение использует порт 4000, а ваш MacBook называется MyMac. Вот как это будет выглядеть, если оно выйдет из строя
telnet MyMac 4000
Trying 192.168.1.2...
telnet: connect to address 192.168.1.2: Operation timed out
telnet: Unable to connect to remote host
Но если порт открыт, вы увидите другой результат, например такой:
telnet MyMac 4000
Trying 192.168.1.2...
Connected to MyMac.
Escape character is '^]'.
(В этот момент вы можете нажать CTRL+], а затем «q», чтобы выйти из Telnet)
Если вы хотите открыть порт, который не отвечает, вы можете использовать команду pfctl
. Вот ссылка на хорошую статью оиспользование pf
команд.
Надеюсь это поможет.