У меня есть два сервера в одной подсети, один сервер CUPS и один, которому нужен доступ к принтерам, настроенным на сервере CUPS. Просмотр CUPS кажется частично работающим, но, согласно lpstat на клиенте, устройства ///dev/null
вместо ipp
устройство.
[username@clienthost ~]$ lpstat -t
scheduler is running
no system default destination
device for boardroom: ipp://oldprintserver.my.network:631/printers/boardroom
device for br: ipp://oldprintserver.my.network:631/printers/br
device for its: ///dev/null <------ THIS IS BAD?
Конфигурация сервера - cupsd.conf
Browsing On
BrowseRemoteProtocols
BrowseAddress @LOCAL
BrowseLocalProtocols CUPS dnssd
Конфигурация клиента - cupsd.conf
Browsing On
BrowseOrder allow,deny
BrowseAllow @LOCAL
BrowsePoll therealprintservername.my.network
BrowseInterval 30
Используя tcpdump для анализа пакетов между хостами, ясно, что клиент опрашивает сервер через IPP. Сервер отвечает 200 OK. Кроме того, кажется, что клиент видит только классы, объявленные сервером печати, а не сами очереди печати.
Вот что я действительно хочу знать.
[Изменить: хотя lpstat -t говорит, что устройство /// dev / null, я все равно могу отправлять задания на печать на устройство. Похоже, что базовая печать работает, но мне все еще интересно, почему на клиенте она отображается как /// dev / null.]
Большинство моих проблем сводилось к неправильному пониманию файла (ов) конфигурации CUPS. Я наткнулся на отличную ссылку под названием HOWTO настроить небольшой сервер - сервер печати CUPS (chschneider.eu), который дал большинство ответов, которые я искал.
В: Согласно lpstat на клиенте, устройства /// dev / null вместо устройства ipp.
Классы принтеров никогда не связаны с конкретным устройством или портом. Вместо этого они содержат в качестве членов другие принтеры. Независимо от того, запускаете ли вы lpstat на сервере CUPS или на клиенте, классы принтеров всегда будут иметь /// dev / null в качестве целевого устройства. Это предполагаемое поведение.
Если вы хотите, чтобы все ваши задачи печати выполнялись точно один Сервер печати CUPS, вам вообще не нужно настраивать локальный сервер CUPS. Просто добавьте следующую строку в /etc/cups/client.conf
.
ServerName my_cups_server.my.network
В клиентском режиме все обычные команды печати, например lpstat
и lpr
будут отправлены непосредственно на удаленный сервер CUPS. Если client.conf пуст, команды печати будут искать локальный сервер CUPS.
В: Какова минимальная конфигурация, необходимая для работы CUPS в той же локальной сети?
Если режим клиента CUPS не соответствует вашим потребностям, вам необходимо настроить локальный сервер CUPS, чтобы он мог обнаруживать принтеры, настроенные на других серверах CUPS. Есть два способа сделать это.
Это идеально, если у вас всего несколько клиентов и вы хотите больше контролировать среду печати. Опрос является неотъемлемой частью CUPS, и никаких специальных директив для его включения не требуется. Просто убедитесь в следующем:
Sharing
включается индивидуально.<Location />
раздел должен разрешать соответствующие подсети и / или пользователей.Это идеально, если у вас много клиентов или серверов, и вы хотите упростить использование сервера печати. Если на сервере включен просмотр, он будет периодически отправлять широковещательные рассылки UDP.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseAddress @LOCAL