Через несколько часов у меня закончились идеи.
У меня есть телефон. Я подключаю свой ПК к его хост-спот, чтобы получить интернет.
Я хочу подключиться к общим папкам моего ПК (Win10), но это невозможно!
Я не понимаю почему.
Если я подключу свой Android к точке доступа моего ПК, то да, я смогу подключиться к общим папкам моего ПК по протоколу SMB, но не если точка доступа исходит от моего Android.
Что я делаю не так? Я не в той же подсети? Если нет, то переадресация портов? Прокси-сервер? Какой порт/IP мне нужно переадресовать на какой IP/порт? (Я был бы очень признателен за примеры настроек, если это так)
(неужели это невозможно сделать с помощью обычных инструментов по какой-то непонятной причине?)
Спасибо!
ps. пока я этим занимаюсь - возможно ли сделать двустороннее соединение с моей настройкой. Так что я мог бы просматривать файловую систему моего андроида на ПК, а также мой ПК с моего андроида? Или это возможно только если я создам явный сервер SAMBA на моем андроиде?
решение1
Попробуйте подключиться к точке доступа, затем проверьте IP-адрес на ноутбуке в CMD (ifconfig), затем попробуйте использовать «Проводник файлов Cx".. И убедитесь, что вы подключаетесь к точке доступа не как к публичной.. Публичная сеть в Windows блокирует большинство портов подключения (SMB — один из них)
P.S. Я бы посоветовал вам защитить свой общий ресурс паролем, так как это иногда необходимо для взаимодействия с системами на базе Linux.
решение2
Windows SMB не предназначен для работы через Интернет. Многие, если не все, провайдеры будут блокировать входящие соединения с задействованными портами, чтобы предотвратить взлом.
Если ваш ПК и другое устройство подключены к одному и тому же маршрутизатору (точка доступа — это маршрутизатор), то обращение к интернет-провайдеру не происходит и все работает.
Вам необходимо использовать сторонний сервис (например, OneDrive или Google Drive) или службу обмена файлами, которую вы можете разместить в своей собственной сети, например, NextCloud или Sharepoint.
решение3
Проблема с вашей настройкой заключается в том, что у вас есть:
- У Android есть мобильное интернет-подключение через SIM-карту и мобильную антенну. Это действует как сетевой клиент, насколько это касается Android. Этот интерфейс живет, скажем, в сети
142.155.0.0/16
. - У Android есть второе соединение, которое является его соединением точки доступа. Это особенное соединение, поскольку Android создал мост между интерфейсом № 1 и этим. Android не предлагает интерфейса для изменения таблицы маршрутизации для этого нового шлюза (по крайней мере, насколько мне известно). Этот интерфейс находится, скажем, в сети
192.168.10.0/24
. - Ваш ПК подключается к интерфейсу № 2 через свой собственный интерфейс WiFi. Ему назначается IP-адрес шлюзом (
192.168.10.1
скажем, в этом примере). Допустим, ПК назначается IP-адрес,192.168.10.23
.
Теперь Android будет использовать интерфейс № 1 для обработки всех своих сетевых потребностей уровня 3 и 4 (IP, TCP, UDP и т. д.). Пользовательского доступа (опять же, насколько мне известно) для управления чем-либо сетевым в интерфейсе № 2 нет.
Таким образом, когда вы используете свое Android-устройство, вы пытаетесь получить доступ 192.168.10.23
(к ПК) через интерфейс № 1 142.155.0.201
(мобильная антенна Android).
Мобильная антенна не будет иметь MAC-адреса для этого IP-адреса в своей таблице ARP, поэтому она перешлет сообщение на свой шлюз по умолчанию, например: 142.155.0.1
(маршрутизатор вашего сетевого оператора), чтобы проверить, знает ли он, где 192.168.10.23
находится (ПК). Он не будет знать, и запрос в конечном итоге будет отклонен.
Чтобы обойти это, можно сделать следующее:
- Настройте интерфейс №2 для пересылки исходящих запросов (тех, которые не находятся в его сети
192.168.10.0/24
) на142.155.0.1
(маршрутизатор вашего сетевого оператора). - Настройте интерфейс №1 для использования интерфейса №2 в качестве шлюза по умолчанию.
Без доступа root это невозможно... Но с доступом root, по крайней мере в теории, этодолженвозможно, хотя, вероятно, не стоит того. Его также нужно будет сбросить, когда точка доступа будет выключена, иначе ваше устройство не будет иметь доступа в интернет.
Может быть, существует приложение, которое может это сделать? Может быть, сайт xda? Но я действительно не знаю.
Но именно с этой проблемой вы и сталкиваетесь, если хотите разобраться в ней подробнее.