Page 1 sur 1

[firewalld] Ouvrir port 631 UDP

Publié : dim. 16 févr. 2014, 17:09
par alh54
Bonjour,

J'ai eu du mal à faire fonctionner mon imprimante locale, maintenant je galère pour imprimer à partir d'un client sur le même réseau local.
Le problème semble relatif au réglage du pare-feu, j'utilise firewalld comme interface pour le gérer. J'ai coché les services ipp et ipp-client pour autoriser l'accès au port 631 sans résultat:
Commande nmap exécutée sur le serveur.

Code : Tout sélectionner

Starting Nmap 6.40 ( http://nmap.org ) at 2014-02-16 17:00 CET
Nmap scan report for firdaus (192.168.1.3)
Host is up (0.000091s latency).
PORT    STATE  SERVICE
631/tcp open   ipp
631/udp closed ipp

Nmap done: 1 IP address (1 host up) scanned in 1.40 seconds
Merci pour toute explication.

Re: [firewalld] Ouvrir port 631 UDP

Publié : mar. 18 févr. 2014, 16:23
par alh54
J'ai désactivé firewalld et activé iptables, j'ai ajouté:

Code : Tout sélectionner

iptables -A INPUT -p udp -m udp --dport 631 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT

Code : Tout sélectionner

[root@firdaus ~]# iptables -L | grep ipp
ACCEPT     udp  --  anywhere             anywhere             udp dpt:ipp
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ipp
Le port 631 UDP n'est toujours pas accessible.
Il n'est pas évident que le souci vienne du pare-feu. Je joins mon cupsd.conf qui me semble correct, je sais pas d’où vient le soucis.
# "$Id: cupsd.conf.in 11025 2013-06-07 01:00:33Z msweet $"
#
# Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
#

# Log general information in error_log - change "warn" to "debug"
# for troubleshooting...
LogLevel warn

# Only listen for connections from the local machine.
Listen 127.0.0.1:631
Listen 192.168.1.3:631
Listen /var/run/cups/cups.sock

# Show shared printers on the local network.
Browsing On
BrowseLocalProtocols dnssd

# Default authentication type, when authentication is required...
DefaultAuthType Basic

# Web interface setting...
WebInterface Yes

# Restrict access to the server...
<Location />
Order allow,deny
Deny From All
Allow From 127.0.0.1
Allow From 192.168.1.0/24
</Location>

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

# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>

# Set the default printer/job policies...
<Policy default>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default

# Job-related operations must be done by the owner or an administrator...
<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny,allow
</Limit>

<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

# All administration operations require an administrator to authenticate...
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

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

# Set the authenticated printer/job policies...
<Policy authenticated>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default

# Job-related operations must be done by the owner or an administrator...
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
</Limit>

<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

# All administration operations require an administrator to authenticate...
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

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

#
# End of "$Id: cupsd.conf.in 11025 2013-06-07 01:00:33Z msweet $".

Re: [firewalld] Ouvrir port 631 UDP

Publié : mar. 18 févr. 2014, 16:43
par oktoberfest
Salut,

tu peux déjà vérifier si cups écoute sur le port en question :

Code : Tout sélectionner

# netstat -apn | grep :631
Tu verras si le port 631 est ouvert en udp ou pas.
Si le port est ouvert -> Le problème ne vient pas de cups
Si le port n'est pas ouvert -> C'est une histoire de configuration de cups

Re: [firewalld] Ouvrir port 631 UDP

Publié : mer. 19 févr. 2014, 16:03
par alh54
Merci pour ta réponse, voila le résultat de ta commande:

Code : Tout sélectionner

[root@firdaus ~]# netstat -apn | grep :631
tcp6       0      0 :::631                  :::*                    LISTEN      1/init 
Le port est ouvert mais avec un adressage IPv6. Je suis complètement perdu.

Re: [firewalld] Ouvrir port 631 UDP

Publié : mer. 19 févr. 2014, 16:27
par oktoberfest
Chez moi aussi j'ai la même sortie et pourtant j'ai désactivé ipv6. Donc j'en conclus que ton port 631 est bien ouvert en tcp (Le "LISTEN 1/init" indique que le port est en écoute et que c'est le processus 1 - systemd - qui l'a ouvert).
Tout est donc correct à ce niveau-là.

Si tu veux ouvrir le port udp, il te faut modifier le service system cups.socket.

Code : Tout sélectionner

# cp /usr/lib/systemd/system/cups.socket /etc/systemd/system
Ensuite tu édites le fichier /etc/systemd/system/cups.socket pour qu'il ressemble à cela :

Code : Tout sélectionner

[Unit]
Description=CUPS Printing Service Sockets

[Socket]
ListenStream=/run/cups/cups.sock
ListenStream=631
ListenDatagram=631

[Install]
WantedBy=sockets.target
Tu relances le service :

Code : Tout sélectionner

# systemctl daemon-reload
# systemctl restart cups.socket
Et hop :

Code : Tout sélectionner

# netstat -apn | grep :631
tcp6       0      0 :::631                  :::*                    LISTEN      1/init
udp6       0      0 :::631                  :::*                                1/init

Re: [firewalld] Ouvrir port 631 UDP

Publié : mer. 19 févr. 2014, 17:13
par alh54
Merci beaucoup, le port 631 UDP est enfin ouvert.

Code : Tout sélectionner

PORT    STATE         SERVICE
631/tcp open          ipp
631/udp open|filtered ipp
Je ne marque pas encore en résolu, je vais essayer d'imprimer à partir du client, je reviendrai si j'ai des soucis.