Назад | Перейти на главную страницу

Как включить просмотр CUPS в сети?

У меня есть сервер CUPS с двумя определенными очередями печати. Как только это было определено, все клиенты CUPS в одной подсети могли автоматически видеть две очереди печати, без проблем.

Теперь у меня есть набор машин в отдельной подсети, доступной из первой подсети для маршрутизатора.

Как включить просмотр CUPS на втором наборе машин, чтобы они могли видеть очереди печати, определенные на первом компьютере?

Назовем сервер A.B.C.7. Первая подсеть - A.B.C.0 / 24. Вторая подсеть - A.B.D.0 / 24, и в обеих сетях есть маршрутизатор с руками.

«Родной» способ - иметь сервер CUPS (им не нужны принтеры, только программное обеспечение CUPS) в каждой подсети и настраивать эти серверы для работы в качестве сервера ретрансляции обзора. Конфигурация будет

BrowsePoll a.b.c.7
BrowseRelay CUPS

Затем этот сервер, работающий с CUPS, будет отвечать на запросы просмотра локальной подсети с удаленного сервера.

Также есть способ сделать это через многоадресную рассылку и протокол определения местоположения службы, но он совсем не документирован.

чашки 1.6 б / у днссд. Это многоадресная передача на порт 5353 224.0.0.251. Поскольку маршрутизатору не разрешено пересылать 224.0.0.251, пакеты застревают на границе шлюза.

Вы можете использовать функцию отражателя mDNS avahi-daemon на шлюзе.

NB: Если вы используете NAT на шлюзе, вам нужно будет установить NONAT для пакетов, входящих из родительской сети. В файле shorewall / masq:

<external_interface> <parent_net_ip_range>    NONAT
<external_interface> 224.0.0.0/4     NONAT
<external_interface>:!<parent_net_ip_range>,224.0.0.0/4 <subnet_ip_range> detect

avahi-daemon.conf на маршрутизаторе

[reflector]
enable-reflector=yes

avahi-daemon will reflect incoming mDNS requests to all local network interfaces,  effectively allowing clients to browse mDNS/DNS-SD services on all networks connected to the      gateway. 
Make sure to not run multiple reflectors between the same networks, this might cause them to play  Ping  Pong with mDNS packets.

PS: Чтобы увеличить время жизни, может потребоваться изменить пакеты. Это тема, требующая дополнительных исследований, хотя вот настройки shorewall / start, raw iptables:

/sbin/iptables -t mangle -A PREROUTING -p all -s 224.0.0.0/4 -j TTL --ttl-inc <ttl_inc>
/sbin/iptables -t mangle -A PREROUTING -p all -d 224.0.0.0/4 -j TTL --ttl-inc <ttl_inc>
/sbin/iptables -t mangle -A PREROUTING -p all -s <parent_net_ip_range> -j TTL --ttl-inc <ttl_inc>
/sbin/iptables -t mangle -A PREROUTING -p all -d <parent_net_ip_range> -j TTL --ttl-inc <ttl_inc>

ttl_inc: любое число, начиная с единицы. Я использую двадцать локально, хотя это не высечено в камне. В основном зависит от количества маршрутизаторов, пересекающих принтер и клиентскую станцию.

Здесь "принтеры" центра управления Gnome отправляют ttl f 255 (максимум), так что это не требуется.

Насколько мне известно, невозможно автоматически сделать его доступным для других клиентов, которые не находятся в той же подсети. CUPS объявляет о себе с помощью многоадресных dns-пакетов. Вы по-прежнему можете использовать принтер из другой подсети (при правильном управлении доступом), но вам придется добавить его вручную, ссылаясь на его IP-адрес.