Добрый день!
Решил снова попробовать сделать себе синхронизацию некоторых файлов между DS и рабочим ноутбуком и сразу нарвался на проблемы.
Дано:
Небольшая домашняя сеть из одного роутера (D-Link DIR-853), сервера (Synology DS413j), домашнего компьютера (Windows 7), ноутбука (Windows 10) и нескольких других нерелевантных девайсов. Все устройства подключены по проводу или вайфаю к роутеру. Версия DSM - 6.2.1-23824 Update 1. У роутера внешний белый айпи. На сервере настроен DDNS. Регулярно успешно обращаюсь из внешней сети к веб-морде сервера по браузеру и к файлам через DS File с андроида.
На домашнем компьютере (будем называть его ПК) замаплен сетевой диск по CIFS с одним из разделов диска на сервере. На ноуте также работает такой диск, когда ноутбук находится в локальной сети.
Цель: сделать двустороннюю синхронизацию определённых каталогов на сервере и на ноутбуке через интернет (когда ноутбук не дома).
Установил на сервер Cloud Station Server, а на ноутбук - Cloud Station Drive. Находясь вне локальной сети, подключаюсь в драйве по сетевому адресу сервера (тому, что от DDNS) - получаю ошибку: "Сбой подключения. Проверьте настройки сетевого подключения и повторите попытку". Из локальной сети подключение по этому же (внешнему) адресу происходит отлично.
Начал диагностировать, и выяснил ещё несколько прямо с проблемой несвязанных, но непонятных вещей.
Оба компьютера (ПК и ноутбук) в одной и той же локальной сети. На обоих работает подключение по самбе к серверу по локальному адресу (\\192.168...). На ПК работает такое же подключение по хостнейму (имя сервера), на ноутбуке - не работает (не видит такой адрес). На ПК не работает подключение по внешнему адресу (\\my.ddns.address), на ноутбуке - работает.
Это меня заинтересовало, начал разбираться и заметил тривиальную ошибку - не пробросил порт для CIFS в роутере. Пробросил с NAT Loopback, теперь на ПК тоже могу подключаться по внешнему адресу. Но вот вопрос - почему я без проброса мог подключаться по внешнему адресу с ноутбука? И ведь реально всё ещё могу, если отключу лупбек или весь проброс, а на ПК такая возможность пропадает.
tracert my-adress.synology.me даёт одинаковый ответ на обеих машинах вне зависимости от проброшенности - один адрес, мой внешний айпи. nslookup my-adress.synology.me тоже даёт одинаковый ответ во всех случаях на обоих компьютерах:
Server: UnKnown
Address: некоторый адрес IPv6
Non-authoritative answer:
Name: my.ddns.address
Address: мой внешний айпи
При этом, если я из внешней сети через VPN (предоставленный моим сервером) подключаюсь к домашней локальной сети, то по локальному адресу я всё так же могу ходить сабмой на сервер, но ни по хостнейму, ни по внешнему адресу не могу вне зависимости от настроек роутера.
Во всех случаях отлично работает доступ к веб-интерфейсу сервера по внешнему адресу.
Вопросы скорее чисто на интерес. Почему с одного компьютера я могу спокойно подключиться по внешнему адресу из локальной вне зависимости от открытых портов в роутере, а с другого - только при проброшенном 445 порте? Почему при использовании VPN не могу ходить по внешнему адресу? Почему с ноутбука не могу подключиться по хостнейму, а с компьютера могу?
Ну и, возвращаясь к главной теме, что мне нужно сделать, чтобы подключиться из удалённой сети к своему Cloud Station Server через Cloud Station Drive?
Тем, кто осилил прочитать, вникнуть и ответить - большое спасибо!


