среда, 5 октября 2016 г.

О технологии AirPrint и примере настройки рабочей схемы с использованием Catalyst 3850

   Технология AirPrint - возможность печати документов с устройств фирмы Apple по беспроводной сети, что и следует из названия. Технология появилась довольно давно (погуглив, можно найти упоминания этой темы, датируемые 2010 годом. Сам я не слежу за продукцией Apple, поэтому не могу сказать, насколько верна эта дата), но почему-то не встречается на каждом шагу. Возможно, многие пользователи продукции Apple просто не знают о ней, а возможно и потому, что для полноценной работы печати по воздуху нужны как минимум два устройства - например,телефон и принтер, который бы поддерживал AirPrint.
   Если же звезды сложились так, что в одном офисе собрались принтеры с поддержкой AirPrint, устройства компании Apple, а так же беспроводная сеть на Cisco  с использованием Catalyst 3850 в качестве контроллера беспроводной сети, то доброго пожаловать под кат для настройки вашей сети.
   В первую очередь будем считать, что наша внутренняя инфраструктура работает без проблем, беспроводные пользователи не отваливаются, беспроводная сеть работает как часы, все в порядке с маршрутизацией и коммутацией, AirPrint настроен на конечных устройствах.
   Пусть структура сети будет выглядеть так, как показано на рисунке ниже:

   Интересным в данной топологии является то, что вопреки всем руководствам от Apple, нащ принтер не беспроводной. Более того, находится он в другой сети, отличной от пользовательской. А значит прямой доступ будет невозможен.
   В этом случае потребуется настройка промежуточного устройства Catalyst 3850, который поможет сделать AirPrint в одно касание работоспособным.
   Для настройки потребуется превратить контроллер беспроводной связи в Bojour-шлюз. Именно он будет являться связующим звеном между принтером и смартфоном. Если будет интересно то, как именно работает протокол и вообще вся эта технология - пишите, расскажу в отдельной статье.
   Приступаем к настройке. Для начала необходимо отключить mDNS-bridging, чтобы исключить поведение по умолчанию, которое бы нарушало наши контрольные функции. AirPrint - это не только работа с принтером, но и различные другие возможности типа работы с удаленным рабочим столом, общим доступом к файлам и т.д. Поэтому нам не нужно, чтобы все эти сервисы были включены по умолчанию и никак нами не контролировались. К тому же нам нужен только принтер, не более.
!
Cat3850(config)#wireless multicast                    // по умолчанию уже включено, но проверяем еще раз
Cat3850(config)#no wireless mdns-bridging 
     // отключаем вышеописанный сервис
!
   Следующий шаг - создание и применение глобальной сервисной политики на разрешение mDNS трафика, тем самым производится включение функции mDNS-шлюза на контроллере 3850. 
   Кстати, небольшая ремарка: Catalyst 3850 относится к классу Converged Access, то есть железка, которая совмещает в себе несколько функций, а именно коммутатор уровня L3 с функциями контроллера беспроводной сети. Тем не менее в данной статье имеется ввиду именно она, когда я говорю "контроллер". Имейте ввиду, что для какого-нибудь реального контроллера типа WLC5508 настройка будет немного отличаться. 
 !
Cat3850(config)#service-list mdns-sd ALL_MDNS permit 10   // создаем глобальный сервисный лист
!
Cat3850(config)#service-routing mdns-sd                               // применяем этот лист в оба направления по отношению к контроллеру
Cat3850(config-mdns)#service-policy ALL_MDNS in
Cat3850(config-mdns)#service-policy ALL_MDNS out
    Можно проверить корректность применения, использовав команду show mdns cache. В выводе команды можно увидеть все возможные сервисы, которые могут использоваться для работы.
   Создаем детализированный список mDNS-запросов, которые будут обрабатываться. Сравнить этот список можно с подобием ACL, только здесь указывается, какие запросы будут рассматриваться в принципе, а какие отсекаются. Допустим, нам требуется только AirPrint и ничего более. В этом случае необходимо разрешить только тип сервиса _ipp._tcp.local:
!
Cat3850(config)#service-list mdns-sd GlobalQuery query    // создаем список запросов с именем GlobalQuery
Cat3850(config-mdns-sd-sl)#service-type _ipp._tcp.local    
// разрешаем только один тип запроса
!
Cat3850(config)#service-routing mdns-sd                           // применение листа
Cat3850(config-mdns)#service-policy-query GlobalQuery 10

!
    Теперь создаем сервисный лист, в котором разрешим только нужный нам тип сервиса - AirPrint. 
!
Cat3850(config)#service-list mdns-sd NEEDED_SERV_ONLY permit 10
!
Cat3850(config-mdns-sd-sl)#match service-type _ipp._tcp.local
!
   Последний шаг в настройке - применение сервисных политик к VLAN. Как видно из рисунка - интерфейс VLAN40 - это пользователи, а интерфейс VLAN60 - это принтеры. На эти интерфейсы мы и будем вешать созданные сервисные политики в оба направления. Причем на пользовательский интерфейс повесим глобальную политику ALL_MDNS, а на принтеры - NEEDED_SERV_ONLY:
!
 Cat3850(config-mdns-sd-sl)#interf vlan 40
Cat3850(config-if)#service-routing mdns-sd
Cat3850(config-if-mdns-sd)#service-policy ALL_MDNS in
Cat3850(config-if-mdns-sd)#service-policy ALL_MDNS out

!
Cat3850(config-if-mdns-sd)#interf vlan 60
Cat3850(config-if)#service-routing mdns-sd
Cat3850(config-if-mdns-sd)#service-policy NEEDED_SERV_ONLY out
Cat3850(config-if-mdns-sd)#service-policy NEEDED_SERV_ONLY in

!
   На этом настройку можно считать завершенной. Проверку работоспособности печати с iPhone\iPad\MAC можно проводить, следуя инструкции к соответствующему аппарату.  

Комментариев нет:

Отправить комментарий