суббота, 29 ноября 2008 г.

Общий принтер в локальной сети на Linux

Yellow Leaf - Статьи - Общий принтер в локальной сети на Linux

MooSE 2008-09-09 15:21:00
Проверил: Alex

Использование одного общего принтера в сети из нескольких компьютеров давно стало обычным явлением. Эта задача свободно решается как в сетях с операционной системой Windows, так и с Linux. Ниже будет рассмотрен пример статьи, которой описана настройка сети, состоящей из машин под управлением Linux, к одной из которых подключен принтер.

Итак, исходные данные:

  • Сеть: 192.168.111.0/24.
  • Компьютер с принтером: 192.168.111.150.
  • На всех компьютерах используется Debian/Ubuntu Linux.

Считаем, что cups уже установлен и принтер подключен к соответствующему компьютеру.

Для начала на компьютере, к которому подключен принтер, нужно браузером зайти на адрес http://127.0.0.1:631 (Это веб-интерфейс сервера печати cups (Common Unix Print System)) и настроить принтер. В качестве имени принтера используем «Default_Printer». После этого заходим в свойства принтера и жмём кнопку «Publish Printer». Если её там нет значит принтер уже итак является общим.

Далее открываем в редакторе файл /etc/cups/cupsd.conf и рядом со строкой:

Listen localhost:631 

Добавляем строку:

Listen 192.168.111.150:631 

И перезапускаем cups:

/etc/init.d/cupsys restart 

Теперь cups будет слушать не только localhost, но и локальную сеть. Убедиться в этом можно командой:

netstat -pant|grep cups 

Вывод будет выглядеть примерно вот так:

tcp        0      0 192.168.111.150:631     0.0.0.0:*               LISTEN      30994/cupsd tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      30994/cupsd 

Затем снова открываем в редакторе файл /etc/cups/cupsd.conf и секцию:

# Restrict access to the server... <Location />   Order allow,deny </Location> 

Приводим к виду:

# Restrict access to the server... <Location />   Order deny,allow   # Запрещаем доступ всем   Deny from All   # Разрешаем доступ самому себе   Allow from 127.0.0.1   # Разрешаем доступ локальной сети   Allow from 192.168.111.0/255.255.255.0 </Location> 

Кроме того секцию:

  <Limit All>     Order deny,allow   </Limit> 

Нужно привести к виду:

  <Limit All>     Order deny,allow     Deny from All     Allow from 127.0.0.1     Allow from 192.168.111.0.255.255.255.0   </Limit> 

И снова перезапустить cups:

/etc/init.d/cupsys restart 

На этом настройке компьютера с подключенным принтером заканчивается. Переходим к настройке остальных компьютеров. Здесь настройка много проще: достаточно привести файл /etc/cups/printer.conf к виду:

<Printer Main_Printer>   Info   Location   # Здесь нужно указать правильный IP-адрес компьютера с принтером и имя принтера   DeviceURI ipp://192.168.111.150/printers/Default_Printer   State Idle   StateTime 1220950496   Accepting Yes   Shared Yes   JobSheets none none   QuotaPeriod 0   PageLimit 0   KLimit 0   OpPolicy default   ErrorPolicy stop-printer </Printer> 

И перезапустить cups.

Всё! Можно пользоваться.

Основным преимуществом такого подхода является простота замены принтера (в случае необходимости), поскольку при смене принтера достаточно дать новому принтеру в cups такое же имя, какое было у старого и тогда даже не придётся менять настройки на других компьютерах.

Приятной работы!

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