PDA

View Full Version : CUPS: direttiva Listen


Gica78R
22-10-2008, 23:13
Ciao!

Ho un server CUPS che serve la mia rete locale, ma ho un dubbio sulla sintassi della direttiva Listen. Vorrei fare in modo che il server accetti soltanto connessioni dalla rete locale, ma non trovo il modo di specificarlo correttamente. Attualmente la direttiva Listen è settata così:

Listen *:631

Qualsiasi tentativo di specificare un insieme di indirizzi provoca un errore. Ho provato con

Listen 192.168.1.*:631
Listen 192.168.1:631
Listen 192.168.1.0/24:631
Listen [192.168.1.*]:631

ma nessuno di questi funziona.

Effettivamente anche nella guida di CUPS non ci sono esempi di questa direttiva per specificare un insieme di indirizzi appartenenti ad una rete, se non quello di elencarli uno a uno: http://www.cups.org/documentation.php/ref-cupsd-conf.html#Listen

Possibile che non ci sia una via di mezzo? Oppure devo modificare le direttive di browsing?

Per il momento la situazione è questa:

# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseAddress @LOCAL

che dovrebbe significare che il mio server CUPS pubblica le sue stampanti sulla sola rete locale, ma questo non impedisce connessioni da altri indirizzi.

Suggerimenti? :)

Gimli[2BV!2B]
23-10-2008, 00:13
Anch'io qualche mese fa avevo deciso di riconfigurare per bene Cups e volevo capire cosa offriva...

La Listen che citi non dovrebbe fare altro che impostare su quale Indirizzo:Porta si deve mettere in ascolto il server, Listen *:631 equivale a Port 631 (http://www.cups.org/documentation.php/ref-cupsd-conf.html#Port) (cioè su tutti gli indirizzi delle interfacce configurate).

La direttiva che dovrebbe permettere di definire da quali indirizzi accettare connessioni è l'Allow (http://www.cups.org/documentation.php/ref-cupsd-conf.html#Allow).
Ricordo di aver fatto vari esperimenti a riguardo, ma i miei vari tentativi non li digeriva proprio.

Se non sbaglio la sezione su cui avevo insistito è stata la# Restrict access to the server...
<Location />
Order allow,deny
Allow @LOCAL
</Location>
con tentativi del tipo:# Restrict access to the server...
<Location />
Order allow,deny
# Allow from 192.168.1.*
# Allow 192.168.0.*
# Allow from 192.168.0.0/30
# Allow 192.168.0.0/24
# Allow from @IF(eth0)
# Allow @IF(eth0)
Allow @LOCAL
</Location>

Resta che, stando a quanto dichiarato, l'@LOCAL dovrebbe fare ciò che entrambi vogliamo: "The @LOCAL name will allow access from all local interfaces. The @IF(name) name will allow access from the named interface. In both cases, CUPS only allows access from the network that the interface(s) are configured for - requests arriving on the interface from a foreign network will not be accepted."

Quindi mi sono accontentato di uno svecchiamento al firewall ed ho lasciato solo @LOCAL.

In tutti i casi mi piacerebbe avere conferme riguardo alle mie conclusioni, visto che il Cups è un servizietto delicato con la sua interfaccina web...

Gica78R
23-10-2008, 23:24
Grazie :)

Devo ancora studiare bene quella parte del file di configurazione, in compenso ho capito bene come usare le direttive BrowseAddress e BrowseAllow per permettere agli altri sistemi della rete di inviare job alla stampante.

Ciao