Apple Back to My Mac и реализация uPnP в Mikrotic..., RouterOS
ibeeby
Guest
0
01.02.2010 23:07:00
Ребята, извиняюсь, если вопрос глупый, но нужна ваша помощь. Пытаюсь настроить Back to My Mac в своей сети на базе Mikrotik и, насколько я понимаю, для этого нужно включить uPnP — я так и сделал, согласно инструкции Mikrotik, такой, какая она есть. Внутренний и внешний интерфейсы у меня прописаны и всё такое. Но это не работает. Клиент Mac пишет, что uPnP не включён и всё в таком духе. Мои Mikrotik'и — один RB500, другой x86-бокс — работают на RouterOS версии 3.22. Буду очень благодарен за дельные советы (шаг за шагом, для полного чайника). Кто-нибудь уже успешно это сделал? С уважением, Ian Beeby
ibeeby
Guest
0
05.06.2010 13:57:00
Извиняюсь за задержку. Всё ещё не работает на версии 4.9 с RouterBoard (RB433UAH) или x86 устройствами. Конфигурация uPNP для обоих идентична — вот экспортированная конфигурация для x86:
jun/05/2010 15:45:28 от RouterOS 4.9, software id = H96A-414P /ip upnp set allow-disable-external-interface=no enabled=yes show-dummy-rule=yes /ip upnp interfaces add disabled=no interface=WAN_PPPoE type=external /ip upnp interfaces add disabled=no interface=bridge1 type=internal
Интерфейс WAN_PPPoE смотрит в сторону нашего интернет-провайдера, а bridge1 — это мост между несколькими ethernet-портами на устройстве. Это Celeron 1.2 ГГц с 256 Мб ОЗУ, и загрузка процессора никогда не превышала 3%. Буду очень признателен за любые мысли по этому поводу. Ian
ibeeby
Guest
0
12.07.2010 19:45:00
Это работает — по крайней мере, на одном из моих сайтов: установите allow для отключения внешнего интерфейса в NO и выставьте show dummy rule в NO — и вуаля! Другой сайт с такими же правилами не работает, но там другой провайдер. Ian
maruchinu
Guest
0
13.07.2010 18:54:00
Сегодня я занялся охотой на ошибки, чтобы понять, почему UPNP и Apple Back to my Mac не работают вместе… Во-первых: у меня есть Routerboard RB450G с последней версией RouterOS 5.0beta4. Конфигурация такая: Routerboard 450G настроен как основной NAT (маскарадинг) роутер для моей небольшой сети. IP: 192.168.0.1 Мой компьютер подключается напрямую к Routerboard по Ethernet. IP: 192.168.0.102 Мои настройки UPNP такие: [admin@MikroTik] /ip upnp> print enabled: yes allow-disable-external-interface: no show-dummy-rule: yes Я попробовал несколько разных программ, которые форвардят порты через UPNP и/или NAT-PMP. Все работало отлично, кроме сервиса Back to my Mac, который постоянно говорит, что мой роутер не поддерживает UPNP (ну конечно, как же иначе ^^). Я перепробовал всё, что нашёл в интернете, чтобы заставить это работать (например, пост прямо перед этим), но Back to my Mac и RouterOS как будто не хотят играть вместе. Эта проклятая несовместимость меня так достала, что я решил запустить Wireshark и разобраться поглубже.
Я попытался форвардить порт тремя разными программами, чтобы понять в чём разница: - Transmission () - Portmap () - Сервис Apple Back to my Mac
С первыми двумя программами я получаю то, что ожидаю — красивый успешный ответ на запрос проброса порта.
Но когда я пытаюсь сделать то же с Apple Back to my Mac, я НЕ ПОЛУЧАЮ НИЧЕГО.
Back to my Mac: ===ЗАПРОС===
POST /upnp/control/wanipconn-7 HTTP/1.1 Content-Type: text/xml; SOAPAction: "urn:schemas-upnp-org:service:WANIPConnection:1#DeletePortMapping" User-Agent: Mozilla/4.0 (compatible; UPnP/1.0; Windows 9x) Host: 192.168.0.1:2828 Content-Length: 604 Connection: close Pragma: no-cache
[XML тело запроса]
===ОТВЕТ=== Нет никакого сообщения об ошибке, ничего! Только пустой пакет в ответ: 84 6.360812 192.168.0.1 192.168.0.102 TCP itm-lm > 63728 [ACK] Seq=1 Ack=913 Win=7616 Len=0 TSV=480186 TSER=464120379
[двоичные данные пакета]
Разве не должно быть хотя бы какое-то подтверждение или сообщение об ошибке? (как описано в разделе 2.4.16.1 Единственная заметная разница между тремя запросами в том, что Apple гораздо активнее использует XML-пространства имён и атрибуты, чем остальные две программы. Например: <NewExternalPort xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="ui2">4500</NewExternalPort> вместо намного проще <NewExternalPort>12345</NewExternalPort>, как у первых двух.
Скорее всего, это не проблема, поскольку XML-запросы все по крайней мере корректно сформированы (я не валидировал их по XSD, но думаю, что и это в порядке), но не может ли быть так, что RouterOS неправильно парсит такие XML-запросы? Очень надеюсь, что моя информация поможет исправить этот баг как можно скорее, потому что эта функция мне реально нужна, и Apple Back to my Mac — не единственная реализация UPNP, у которой проблемы с RouterOS.
С уважением, Мартин (aka maruchinu) P.S. Могу предоставить файлы Wireshark, которые я снял, но не хочу выкладывать их публично, так как там может быть другая чувствительная информация.
normis
Guest
0
15.07.2010 11:44:00
Пожалуйста, отправьте файл supout.rif в службу поддержки, и было бы отлично, если бы мы также могли получить удалённый доступ к роутеру.
maruchinu
Guest
0
15.07.2010 13:08:00
Отправил supout.rif, логин для удалённого доступа и немного другой информации в техподдержку через форму обратной связи. Надеюсь, это поможет. Эта штука становится всё страннее с каждым днём, когда я на неё смотрю. Вчера я попробовал небольшую программу под названием HTTPClient (), чтобы вручную отправить UPNP-запрос. Я скопировал захваченный запрос из Back to my Mac (через wireshark) и с помощью указанной программы отправил его вручную. И это сработало?! Никаких проблем.
HTTPClient: POST /upnp/control/wanipconn-7 HTTP/1.1 Content-Type: text/xml; Soapaction: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPortMapping" User-Agent: Mozilla/4.0 (compatible; UPnP/1.0; Windows 9x) Host: 192.168.0.1:2828 Connection: close Content-Length: 1116 (<-- HTTPClient изменил с 1119 на 1116) Pragma: no-cache
Потом я попытался сделать то же самое, используя сервис Back to my Mac, и — конечно же — не получилось?!
Back to my Mac: POST /upnp/control/wanipconn-7 HTTP/1.1 Content-Type: text/xml; SOAPAction: "urn:schemas-upnp-org:service:WANIPConnection:1#AddPortMapping" User-Agent: Mozilla/4.0 (compatible; UPnP/1.0; Windows 9x) Host: 192.168.0.1:2828 Content-Length: 1119 Connection: close Pragma: no-cache
НИ КАКОГО ОТВЕТА! Единственное отличие, которое я заметил с помощью Wireshark — HTTPClient, похоже, изменил заголовок Content-Length, но разве это может быть причиной проблемы? Эта штука реально, реально странная…
ibeeby
Guest
0
19.07.2010 14:01:00
Смотрите мой отчет выше — установите правило dummy в положение NO, это должно сработать — у меня сработало на моей настройке. Вторая машина, которая не проходит UPnP, — это роутер на базе x86, не уверен, влияет ли это как-то. С уважением, Ian.
maruchinu
Guest
0
19.07.2010 14:12:00
Как я уже писал в своём первом посте, я перепробовал все обходные пути, включая правило dummy = NO, и ничего не сработало. Кстати, отключать правило dummy — это не то, чего я действительно хотел, потому что время от времени у меня в сети появляются Windows ПК, на которых UPNP тоже должен работать. Это однозначно баг, либо со стороны Mikrotik, либо со стороны Apple, который требует тщательного расследования и исправления. С наилучшими пожеланиями, Мартин.
ibeeby
Guest
0
19.07.2010 14:40:00
Ты, наверное, прав — эта тема действительно плохо документирована, и это касается как Mikrotik, так и Apple. С другой стороны, всегда поднимаются вопросы безопасности при использовании uPnP. Меня больше всего беспокоит разница между Mikrotik на базе x86 и MIPS. Я сталкивался с этим и в других моментах — различия не огромные, но достаточно раздражающие.
Ты проверял, что путь к интернету свободен? В одном из моих удалённых офисов xDSL-модем имел опцию uPnP passthrough, которая изначально была выключена. Когда я её включил, казалось, что всё заработало, но при этом не было документировано, что требуется перезагрузка, чтобы изменения вступили в силу. Только после этого у меня что-то получилось — приходилось с каждой попыткой в довольно навязчивой манере ставить и снимать галочки в этих плохо описанных настройках Mikrotik.
Сейчас в одном из офисов работает, но у меня на хостинге x86 нет промежуточного NAT или других препятствий (как уверяет провайдер), а всё равно не работает… Ian
nizce
Guest
0
17.09.2014 21:50:00
Извиняюсь, что воскресил такую старую тему, но, похоже, это всё ещё не работает. Только что пробовал «Back to My Mac» с двух разных маков: один на OS X 9, другой на 10.10. Никакие динамические NAT-правила так и не создаются. Кто-нибудь вообще когда-нибудь запускал UPNP и «Back to My Mac» вместе?
Моя конфигурация выглядит так:
@MikroTik] > ip upnp print enabled: yes allow-disable-external-interface: no show-dummy-rule: no
@MikroTik] > ip upnp interfaces print Flags: X - отключено, D - динамическое # INTERFACE TYPE FORCED-EXTERNAL-IP 0 ether1-gateway external 1 bridge-local internal
Пробовал включать «show-dummy-rule» и «allow-disable-external-interface», но результат тот же.
С наилучшими пожеланиями, Дэниэл
piersdd
Guest
0
22.06.2015 05:18:00
Мне не удалось заставить UPnP в RouterOS 5.6 работать с Apple Back to My Mac.
pjkundert
Guest
0
29.11.2017 16:10:00
Функция Back to my Mac по-прежнему не работает в RouterOS версии 6.40.4. Это очень неудобно. Кроме того, серьезные дефекты в кэшировании DNS мешают оптимальной работе, даже в простых домашних маршрутизаторах… Есть ли какие-то работы по исправлению этого дефекта uPnP?