Вам будет интересно ознакомиться с данным отчётом, если картина развития Вашей ЛВС подходит под следующее описание
- Новый терминальный сервер MS Windows Server 2008 R2 — на смену старенькому Windows Server 2003 R2
- Клиентские рабочие станции на MS Windows 2000 или на MS Windows XP с подключенными к ним принтерами, к которым открыт доступ через сеть Microsoft, нормально работающими как автономно, так и при подключении к ним с других клиентов, так и при подключении к терминальному серверу на базе Windows Server 2003 R2 через сеть Microsoft
- Принтеры — старые, возможно даже не HP, для которых нет драйвера для MS WS 2008 R2
- Либо сам принтер HP и поддерживается универсальным драйвером, но ОС, стоящая на клиентской машине — MS Windows 2000, т.е. не подразумевает его установку
- Либо принтер — HP, и ОС клиентской машины совместимы с универсальным драйвером, и проблема его установки решила бы проблему несовместимости с MS Windows Server 2008 R2, но на одной из клиентских машин есть, к примеру, виртуальая машина с унаследованной системой на базе ОС MS Windows 98, также использующая этот принтер, что также не подразумевает установку HP Universal Printer Driver, т.к. его реализации для Win98 нет
- Очевидно, что печатаете на Ваш принтер не только Вы, но и Ваши соседи по кабинету, т.е. редирект с средствами клиента удалённого рабочего стола здесь не рассматривается; да и не всегда, как показывает практика, работает: как по причине несовместимости драйверов, так и из-за неизученности применимости нюансов таких узкоспециализированных технологий, как EasyPrint
- В сети появляются новые клиенты, на базе ОС Windows 7, которым, возможно, и не нужен доступ к терминальному серверу, но которым надо будет печатать по сети на такие старые принтеры
- Предполагается, что даже для таких проблемных принтеров есть драйвера в системе CUPS
- Вы, как администратор системы, не боитесь использовать UNIX-подобные операционные системы в повседневных задачах, и имеете с ними опыт общения
Также, пожалуйста, согласитесь с тем, что нефункциональные вопросы — например, вопросы безопасности — здесь не затронуты.
Практическая необходимость данного решения
Несколько экземпляров печатающих устройств подпали под некоторые случаи, рассмотренные в преамбуле отчёта. К примеру: один XEROX DocuPrint P8ex (клиентская ОС Windows XP) и два экземпляра HP LaserJet 1005 (один подключён к клиентскому компьютеру на базе Windows 2000, другой — на базе Windows XP).
Маршрут, по которому проходит задание на печать
- Прикладная программа на сервере Windows 2008 R2 или на рабочей станции Windows 7; клиент IPP
- Шлюз на GNU/Linux с системой печати CUPS и с клиентом SAMBA
- Клиентское рабочее место Win 2k/XP с локально подключённым принтером, к которому предоставлен доступ из сети Microsoft
Идея шлюза
Пришла в голову после ознакомления с [1] и поиском альтернативы установки GNU/Linux на клиентские машины; вероятно, также, подсознательно на возникновение такой архитектуры повлияло знакомство с трёхзвенной архитектурой доступа к БД [2] и поиск вариантов использования её как таковой, так и её аналогий.
Само понятие шлюза не вполне подходит к данному контексту, а только по аналогии: согласно [3, с.313]
«Шлюз — ретрансляционная система, обеспечивающая взаимодействие двух информационных сетей.»Точней было бы назвать его виртуальным шлюзом печати или как-нибудь иначе; далее, для краткости это звено маршрута будем называть просто шлюзом.
Самое интересное уже изложено, пора переходить к рутине. Далее приводится…
Концепт инструкции по развёртыванию шлюза
- На клиентской машине с адресом
192.168.a.b
есть пользовательprn_user
с паролемsecret
— для печати через сеть Microsoft, подсистема печати настроена и работает в существующем виде в среде Windows 2000/XP/2003. Смотрим имя принтера в сети: контекстное меню принтера, пункт «Свойства», вкладка «Доступ», поле «Общий ресурс:»xerox
. %computername% этого клиента:UHost01
— он будет нам нужен, например для генерации осмысленного имени в системе CUPS; хотя, если он совпадает с именем DNS внутри локальной зоны, и у Вас в хозяйстве хорошо работает разрешение имён в IP-адреса, и включен поиск внутри суффикса домена этой зоны, то его, возможно, можно использовать и в качестве замены адресу192.168.a.b
далее по тексту. - Настраиваем шлюз печати
- Общесистемные работы с сервером CUPS
- Базовая часть шлюза. Выглядит так
- Железо шлюза: старенький серверный системный блок DELL PowerEdge 1400 2xCPU iP-III-800/1536 MB RAM/18 GB HDD
- ОС: Debian GNU/Linux 6.0 i386
- Адрес шлюза:
192.168.a.c
- Установка пакетов
Если CUPS еще не установлен, даём команду на его установку
# aptitude install cups
…
0 пакетов обновлено, 52 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 26,7 MB архивов. После распаковки 83,2 MB будет занято.
Хотите продолжить? [Y/n/?] Y
...
Cмотрим, запущен ли CUPS
# /etc/init.d/cups status
Status of Common Unix Printing System: cupsd is running.
Что и требовалось, идём дальше.
Также, в системе необходимо наличие пакета smbclient, т.к. вывод на сетевой принтер будет по протоколу SMB, и в этом пакете есть backend для CUPS. - Необходимо убедиться, что CUPS настроен на приём заданий извне
Идём в админку, например, так:192.168.a.c:631/
, жмём на вкладку «Администрирование», далее, в секции «Сервер» — «Параметры сервера:» необходимо, чтобы стояли галочки «Разрешить совместный доступ к принтерам, подключенным к этой системе» и «Разрешить печать из Интернета»; если нет, то жмём «Сохранить», после нажатия которой нас спросят логин и пароль, по умолчанию это логин/пароль от нашей линуксовой системной учётной записи суперпользователя, т.е. от root.
- Базовая часть шлюза. Выглядит так
- Подключаем принтер в CUPS
- Вкладка «Администрирование», в секции «Принтеры», жмём кнопку «Добавить принтер»
- В секции «Другие сетевые принтеры:», выбираем значение радиокнопки «Windows Printer via SAMBA» и жмём «Продолжить»
- Секция «Добавление принтера», В поле «Подключение:» вводим значение "
smb://prn_user:secret@192.168.a.b/xerox
" (здесь и далее: вводить значение без кавычек) и жмём «Продолжить» - Заполняем далее поля таким образом
Название: вбиваем "Uhost01_xerox
" — это будет именем принтера в системе CUPS
Следующие два поля не так критичны, их значения должны быть придуманы Вами для Вашего же удобства:
Описание: "Xerox DocuPrint P8ex
"
Расположение: "1 этаж, комната 13, Парфюмерия, пользователь Сидорова А.И.
"
Подключение: "smb://prn_user:secret@192.168.a.b/xerox
" (уже вбито, выводится для справки)
«Совместный доступ:» — «Разрешить совместный доступ к этому принтеру» — сюда надо поставить галочку
Жмём кнопку «Продолжить» - Выбираем драйвер принтера с таким же именем, что и у нас, если же нет — то ближайший по названию; такой подход работает практически в большинстве случаев
Создать: «Xerox» — жмём «Продолжить»
Модель: выбираем «Xerox DocuPrint P8e Foomatic/hpijs-pcl5e (recommended) (черно-белый, дуплексная печать)», и внизу жмём кнопку «Добавить принтер» - Попадаем на страницу «Установить параметры по умолчанию для
Uhost01_xerox
» — тут различные параметры лотков и размера бумаги; я оставил всё как есть и нажал на «Сохранить параметры по умолчанию» - На несколько секунд появится окно, где сообщается, что наш принтер использует параметры по умолчанию
- Попадаем на страницу вновь добавленного принтера и даём команду «Обслуживание — печать пробной страницы»
- Если пробная страница напечаталась ОК, то принтер готов для работы в CUPS, можно идти далее
- Общесистемные работы с сервером CUPS
- Настраиваем сервер MS WS 2008 R2 или клиент Windows 7
- Предварительная настройка
- Включаем Клиент интернет-печати
- Для случая с ОС Windows 7
Проверяем: в компонентах должен быть включен клиент интернет-печати: Пуск — Панель управления — Программы и компоненты — в появившемся окне нажать на надпись слева «Включение или отключение компонентов Windows» далее по дереву: «Службы печати и документов» — «Клиент интернет-печати» — у последнего галка должна стоять; если не стоит, то ставим. Нажимаем «ОК» для подтверждения внесённых изменений либо «Отмена», если изменения не вносили. - Для случая с ОС MS Windows Server 2008 R2
Этот компонент по умолчанию отключен [4, Tuesday, March 15, 2011 1:49 AM], и мне пришлось повозиться, чтобы понять, почему не работает добавление принтера, описанное в п.3.2.
Пуск — Панель управления — Программы — Включение или отключение компонентов Windows
В появившемся окне выбрать слева пункт «Компоненты» найти кнопку с зелёным плюсиком «Добавить компоненты» и в списке поставить галочку напротив «Клиент интернет-печати», нажать «Далее» «Установить».
- Для случая с ОС Windows 7
- Если компонент «Клиент интернет-печати» был выключен, и мы его включили, т.е. выполняли пункт 3.1.1., то после этого перезапускаем сервер печати, для чего в командной строке:
> net stop spooler
> net start spooler
- Меняем настойки на прокси-сервер
Все пользователи данного принтера должны отключить у себя прокси в свойствах обозревателя, либо прописать исключение, т.е.192.168.a.c
или для его подсети в целом, т.е. для192.168.a.*
.
- Включаем Клиент интернет-печати
- Настройка принтера
Данный пункт делаем также с правами администратора; изначально, принтер будет доступен всем пользователям.- Пуск — устройства и принтеры
- Установка принтера (появится окно мастера)
- Для MS Windows Server 2008 R2 будет дополнительный шаг, в котором жмём на «Добавить локальный или сетевой принтер от имени администратора.»
- Добавить сетевой, беспроводной или bluetooth принтер
- Нажать «нужный принтер отсутствует в списке»
- Радиокнопка должна стоять в позиции «Выбрать общий принтер по имени», рядом с ней — поле, куда вбиваем "
192.168.a.c:631/printers/Uhost01_xerox
", жмём «Далее» - При удачном контакте с принтером появится «Мастер установки принтера», при неудачном — сообщение об ошибке. Если строка, указанная выше, открывается в браузере, то связь по сети есть, и мы просто забыли установить Клиент интернет-печати и/или перезагрузить спулер.
- Выбираем принтер: изготовитель «Generic», принтеры «MS Publisher Imagesetter». ОК
- «Вы успешно установили ....» — значит всё ок. жмём «Далее»
- Жмём «Печать пробной страницы» для распечатки пробной страницы. «Пробная страница была отправлена на принтер» — нажимаем «Закрыть». «Готово» — для закрытия мастера
- Предварительная настройка
- Радуемся вместе с пользователями
Источники
- avz.org.ua/wp/2011/06/17/printing-to-cups-from-windows
- ru.wikipedia.org/wiki/Трёхзвенная_архитектура
- Якубайтис Э.А. Информационные сети и системы. Справочная книга. — М.: Финансы и статистика, 1996. — 386с.: ил.
- social.technet.microsoft.com/Forums/en-US/winserverprint/thread/8e6130df-acba-4a8c-b984-a455667e9e49