I'm trying to do something I had hoped would be really simple. I've got a home network of only linux machines. My server is fedora core 2, and I have a samsung ml-4500 laser printer connected via the local parallel port. I'm using cups, and the printer works fine locally. My other computers are networked via ethernet. I'm running the shorewall firewall on the server, but brought it down because I thought it might be causing problems. I get the same problem whether the firewall is running or not. No firewall on the other computers either, for testing purposes. I use the system-config-printer utility in fedora on the server machine. It shows the printer connected locally on /dev/lp0. I configured the ML-4500 printer driver. Under 'sharing' I've checked 'This queue is available to other computers', and 'allowed hosts' I have as 'Network device eth1'. I also tried using my home network address range 192.168.0.0 with netmask 255.255.255.0, but get the same results.
On the client machines, I have redhat 9.0 or fedora core 2. It doesn't matter which client machines I try, the result is the same. On a redhat 9.0 machine, I use the 'redhat-config-printer' utility, and under 'queue type' check 'Networked CUPS (IPP)', then select the samsung ml-4500 printer driver. When I try to print a test page from the client, whether from the config utility or from
http://localhost:631, I get 'Printer busy; will retry in 10 seconds ...'.
Here is my cupsd.conf on my server machine:
# Lines below are automatically generated - DO NOT EDIT
<Location /printers/SamsungML4500>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
AuthType None
Allow from 192.168.0.0/255.255.255.0
</Location>
<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>
Browsing On
BrowseProtocols cups
BrowseOrder Deny,Allow
BrowseAllow from @LOCAL
BrowseAddress 192.168.0.255
Listen 192.168.0.1:631
Listen 127.0.0.1:631
When I do netstat -ln -A inet, I get:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:32768 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.1:631 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
I'm sure that my main problem is that I don't understand linux networking well at all. Its all quite vague still.
From a client, if I do telnet 192.168.0.1 631 I get:
>Connected to 192.168.0.1 ...
Escape character is '^['.
So I guess the server port 631 is listening ok, but I don't really understand the port configuration for cups to work right.
Using nmap from client machine, I see that the tcp port 631 is open on the server, but the udp port 631 is closed. I've tried to open it by adding relevent lines in my shorewall rule script, and by using the iptables command directly, all to no effect.
Can anyone help me figure out where the problem is? Let me know what other data or info would be helpful.
Thanks!