LINUX.ORG.RU

Печать на принтер, установленный под linux, с windows компьютера

 , , , ,


0

2

Приветствую. Возникла проблема с расшариванием принтера для windows-компьютера.

Исходные данные:

Комп 1: Fedora 21, принтер HP LJ P1102. Принтер установлен, работает. В CUPS отображается, галочка «Разрешить совместный доступ к принтерам, подключенным к этой системе» установлена. IP компа 192.168.0.103. С виндовой машины пингуется. Имя linux-компа на вин-машине не прописано.

Комп 2: Win7, файрвол отключен, IPP включено. При попытке добавить сетевой принтер по: http://192.168.0.103:631/printers/HP_LaserJet_Professional_P1102 (Строка взята с CUPS'a) долго думает, после чего выдает:

ОС Windows не удается подключиться к принтеру.
Проверьте, правильно ли указано имя принтера, и повторите попытку. В случае сетевого принтера проверьте, что принтер включен, и его адрес указан правильно.

Дальше, к сожалению, начинаются мои догадки. Т.к. http://192.168.0.103:631/ через браузер, с виндовой машины не открывается, предположил, что закрыт порт 631. Проверяю следующим способом:

nmap -sU -p U:631 192.168.0.103

Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-01 11:18 MSK
Nmap scan report for 192.168.0.103
Host is up (0.00011s latency).
PORT    STATE  SERVICE
631/udp closed ipp

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds

Явно пишет, что порт закрыт. Если я правильно понимаю действие команды.

Думал отключить iptables и проверить просто с отключенными, но, при запросе статуса они не найдены(!):

service iptables status
Redirecting to /bin/systemctl status  iptables.service
● iptables.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

С linux'ом разбираюсь третий день, причем первые два потратил на несколько переустановок, просто разобраться что к чему (я понимаю, может быть смешно, но даже не знал, как запустить терминал)...

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

Спасибо.

Добавлено

Попробовал просто получить информацию по nmap с linux-компа:

nmap 192.168.0.103

Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-01 11:28 MSK
Nmap scan report for 192.168.0.103
Host is up (0.000015s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
631/tcp open  ipp

Порт открыт как tcp (тоже новость для меня)... Но все равно остается вопрос - почему нет доступа с windows-компа.



Последнее исправление: SmallCKYHC (всего исправлений: 1)

Как в системдосе — не знаю, мож реестр править надо или в панели управления чо тыкать, а в линуксе раньше надо было поглядеть netstat -tlepn и поправить cups, чтобы он слушал сеть не только на локалхосте /etc/cups/cupsd.conf

anonymous
()
Ответ на: комментарий от anonymous

Результат netstat -tlepn:

netstat -tlepn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
tcp        0      0 127.0.0.1:5939          0.0.0.0:*               LISTEN      0          41881      3626/teamviewerd    
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      0          20269      1220/dnsmasq        
tcp        0      0 0.0.0.0:631             0.0.0.0:*               LISTEN      0          21565      866/cupsd           
tcp6       0      0 :::631                  :::*                    LISTEN      0          21566      866/cupsd 

Правильно ли я понимаю, что вот эта строка:

tcp        0      0 0.0.0.0:631             0.0.0.0:*               LISTEN      0          21565      866/cupsd           
говорит о том, что CUPS слушает только локалхост?

Открыл /etc/cups/cupsd.conf через vi - интуитивно не нашел строки, отвечающей за то, что cups «слушает» не только локалхост. Можете подсказать, что примерно искать (пока ушел гуглить)?

SmallCKYHC
() автор топика
Ответ на: комментарий от anonymous

Нагуглил по поводу слушать не только локалхост: Добавил в /etc/cups/cupsd.conf

Allow From 192.168.1.0/255.255.255.0

После перезапуска результат вызова netstat -tlepn аналогичен предыдущему.

SmallCKYHC
() автор топика
Ответ на: комментарий от SmallCKYHC

нет, эта строка говорит о том, что cups слушает всё. Осталось найи причину, по которой nmap говорит closed. iptables -L -v -n ещё существует?

anonymous
()

Возможно, не хватает ServerAlias ip_address в конфиге купса.

В первом nmap естественно не сработало, потому что ты попытался проверить udp, а он, конечно же, не слушается.

Ещё может быть проблема в регистре. Он очень чувствителен к регистру.

i_gnatenko_brain ★★★★
()

Прокся прописана у пользователя на вантузе? Если да, то вантуз может лезть к принтеру через проксю, которая не пускает на 631й порт, и надо добавить исключения

anonymous
()
Ответ на: комментарий от anonymous
iptables -L -v -n

Довольно обширный вывод - подскажите, какие строки именно искать (с какой информацией) и/или как правильно представить на форуме?

SmallCKYHC
() автор топика
Ответ на: комментарий от i_gnatenko_brain

C linux-компьютера открывается. С windows-компьютера - страница не доступна по таймауту.

Не понял из вашего пред. сообщения:

Возможно, не хватает ServerAlias ip_address в конфиге купса.

Можно чуть подробнее? Пока ушел гуглить.

SmallCKYHC
() автор топика
Ответ на: комментарий от anonymous

Вантуз - это что? Впрочем, прокси нигде не настроено.

SmallCKYHC
() автор топика
Ответ на: комментарий от surefire

Заменить на что? Данную строку я добавлял сам, до неё в cups.conf, из Allow remote, было только:

# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
...

SmallCKYHC
() автор топика
Ответ на: комментарий от surefire

Вы писали: «а это что? у вас всё таки какой ip на компьютере? или их несколько?»

Я так понимаю (могу ошибаться), что это какая-то запись от teamviewer'a

SmallCKYHC
() автор топика
Ответ на: комментарий от SmallCKYHC
Allow From 192.168.1.0/255.255.255.0

Тем самым вы разрешили подключения из сети 192.168.1.
Вы уверены, что компьютер с windows входит в сеть 192.168.1. ?

surefire ★★★
()
Ответ на: комментарий от surefire

Прошу прощения, строка Allow From 192.168.0.0/255.255.255.0 Набирал руками, а не копировал, по привычке вписал первую подсеть.

ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:23:54:42:5d:43 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.103/24 brd 192.168.0.255 scope global dynamic enp2s0
       valid_lft 4284sec preferred_lft 4284sec
    inet6 fe80::223:54ff:fe42:5d43/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 5a:a9:c3:fe:16:62 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever

iptables -L http://pastebin.com/XpAeAU16

ipconfig с винды:

Настройка протокола IP для Windows


Адаптер беспроводной локальной сети Беспроводное сетевое соединение 2:

Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :

Адаптер беспроводной локальной сети Беспроводное сетевое соединение:

DNS-суффикс подключения . . . . . :
Локальный IPv6-адрес канала . . . : fe80::5c95:3976:faa6:b816%12
IPv4-адрес. . . . . . . . . . . . : 192.168.0.101
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз. . . . . . . . . : 192.168.0.1

Ethernet adapter Подключение по локальной сети:

Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :

Туннельный адаптер isatap.{5C2C34BE-2ADE-4AA0-A4E8-171DCC87DEE8}:

Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :

Туннельный адаптер Подключение по локальной сети*:

DNS-суффикс подключения . . . . . :
IPv6-адрес. . . . . . . . . . . . : 2001:0:5ef5:79fb:3864:23d4:a428:84e0
Локальный IPv6-адрес канала . . . : fe80::3864:23d4:a428:84e0%16
Основной шлюз. . . . . . . . . : ::
SmallCKYHC
() автор топика
Ответ на: комментарий от anonymous

Я ответил чуть выше, что набирал руками, а не копировал - ошибся при наборе на форум. Реальный вид cupsd.conf (первые строки):

# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
Allow From 192.168.0.0/255.255.255.0

SmallCKYHC
() автор топика
Ответ на: комментарий от surefire

Страница администратирования открылась. При поиске принтер обнаружился (пока не уставновил/не проверил, надо почитать, что выбирать из драйверов).

Огромное спасибо.

Но, есть вопрос: Могли бы вы объяснить, как пришли к такому решению? Т.е. что смотрели в предоставленном листинге iptables -L, чего там не хватало, что делает строка:

iptables -A INPUT_direct -s 192.168.0.0/24 -p tcp --dport 631 -j ACCEPT

Впрочем, что делает, нагуглю - интересен именно алгоритм поиска.

SmallCKYHC
() автор топика
Ответ на: комментарий от i_gnatenko_brain

Я не знаю особенностей fedora, я знаю особенности iptables )))

surefire ★★★
()
Ответ на: комментарий от SmallCKYHC

драйвер generic postscript или любой отдалённо похожий hp подходящего формата бумаги с буквами PS в названии

anonymous
()
Ответ на: комментарий от anonymous

Да куда угодно, главное, что бы оно сработало до того, как последнее правило во входящей цепочке его от режектит.

surefire ★★★
()
Ответ на: комментарий от SmallCKYHC

Я всё таки смотрел iptables -L -v -n.

Алгоритм такой. Смотрим входящие правила INPUT.

Политика ACCEPT значит, по умолчанию всё принимаем.
Далее идём вниз. ACCEPT принять, DROP или REJECT отфутболить, если что то другое значит переходим туда и смотрим, что там, возвращаемся к тому же месту от куда ушли. Всё делается по цепочке. В конце видим последнее правило REJECT которое отбрасывает всё, что не было разрешено.
Получается задача, где то разрешить порт назначения 631 из сети 192.168.0.0/24 по протоколу tcp. Я выбрал INPUT_direct.

surefire ★★★
()
Ответ на: комментарий от surefire

Понял, спасибо. Ну как понял - ушел читать собственный iptables, благо есть старый и новый варинат, можно попробовать «допридумывать», что к чему...

Можно еще два уточняющий вопроса: В первом посте пытался отключить iptables, просто что-бы проверить, до создания вопроса:

service iptables status
Redirecting to /bin/systemctl status  iptables.service
● iptables.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)
Так же пробовал сделать service iptables stop Почему тогда система писала, что iptables вообще неактивен? Или я не верно интерпритирую ответ?

И второй вопрос - можете посоветовать статью/книгу, желательно на русском, для совсем нуба, по iptables.

Сейчас читаю книгу по fedora (впрочем, там 13-14 версия, но думаю, что база-то везде одинаковая) + курсы на интуите... Но, за три дня поймал столько проблем 8))) Вроде находишь статью, начинаешь делать, и везде какие-то затырки - хочется понять, как правильно определять путь решения проблемы.

SmallCKYHC
() автор топика
Ответ на: комментарий от surefire

Относительно предыдущего комментария: Или, для остановки и проверки, нужно было использовать: # service ufw stop # service ufw start

SmallCKYHC
() автор топика
Ответ на: комментарий от SmallCKYHC

iptables это не сервис, его нельзя остановить.

Кроме того вам systemd написал:

● iptables.service
Loaded: not-found (Reason: No such file or directory)

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

surefire ★★★
()
Ответ на: комментарий от anonymous

сам ты шлак. где альтернативы ?

покажи мне фаерволл, где им можно рулить через dbus? сам iptables не умеет рулиться через dbus. ufw? честно - не знаю, к тому же он вроде бы есть только в убунте (может и в дебиане).

i_gnatenko_brain ★★★★
()
Ответ на: комментарий от i_gnatenko_brain

где им можно рулить через dbus?

так это и есть шлак. Саму потребность в таком мог выдумать только шлак вместо мозга

anonymous
()
Ответ на: комментарий от anonymous

а теперь ответь на простой вопрос. как написать вебморду управления сервером - управление фаерволлом, сетью, пакетами без использования dbus?

если ты скажешь, что это не нужно - тогда наш разговор окончен.

i_gnatenko_brain ★★★★
()
Ответ на: комментарий от i_gnatenko_brain

лучше скажи, как написать вебморду, которая не будет очередным вебмином или испманагером, которые и без дбаса прекрасно ломаются ботами? Или почему пуппетошефы без дбаса работают? у тебя навязчивые идеи?

anonymous
()
Ответ на: комментарий от i_gnatenko_brain

DBus-то тут зачем? Для всех этих задач есть свои инструменты. Более того, они не взаимосвязаны. Если ты хочешь веб-интерфейс, через который можно всем управлять, зачем городить какие-то велосипеды с шинами сообщений, когда можно просто напрямую работать с инструментами?

tiandrey ★★★★★
()
Ответ на: комментарий от i_gnatenko_brain

и как же с этим справились в openwrt без этих ваших дбусов?

daemonpnz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.