prefixkit Ask an engineerAsk RU

Port 631 IPP / CUPS

Internet Printing Protocol and CUPS printing.

Protocol
TCP/UDP
Service
IPP / CUPS
Category
Other
Exposing to the internet
Do not expose

Check if port 631 is open

Is it safe to open

Open only what you need, to the addresses that need it.

How to open port 631

Open to everyone

# Linux iptables
iptables -A INPUT -p tcp --dport 631 -j ACCEPT
iptables -A INPUT -p udp --dport 631 -j ACCEPT
# Ubuntu ufw
ufw allow 631/tcp
ufw allow 631/udp
# firewalld
firewall-cmd --permanent --add-port=631/tcp && firewall-cmd --reload
firewall-cmd --permanent --add-port=631/udp && firewall-cmd --reload
# MikroTik
/ip firewall filter add chain=input protocol=tcp dst-port=631 action=accept place-before=0 comment="port 631"
/ip firewall filter add chain=input protocol=udp dst-port=631 action=accept place-before=0 comment="port 631"
# Windows (PowerShell)
New-NetFirewallRule -DisplayName "Port 631 TCP" -Direction Inbound -Protocol TCP -LocalPort 631 -Action Allow
New-NetFirewallRule -DisplayName "Port 631 UDP" -Direction Inbound -Protocol UDP -LocalPort 631 -Action Allow

Only for your addresses

# allow only one address or network (replace 203.0.113.0/24)
iptables -A INPUT -p tcp --dport 631 -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -p udp --dport 631 -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 631 -j DROP
iptables -A INPUT -p udp --dport 631 -j DROP
ufw allow from 203.0.113.0/24 to any port 631 proto tcp
ufw allow from 203.0.113.0/24 to any port 631 proto udp
/ip firewall filter add chain=input protocol=tcp dst-port=631 src-address=203.0.113.0/24 action=accept
/ip firewall filter add chain=input protocol=udp dst-port=631 src-address=203.0.113.0/24 action=accept
/ip firewall filter add chain=input protocol=tcp dst-port=631 action=drop
/ip firewall filter add chain=input protocol=udp dst-port=631 action=drop

If the server is behind a router, you also need a port forward (dst-nat). Behind ISP CGNAT (100.64.0.0/10 on the WAN) forwarding will not help: you need a public IP or a VPN.

What is listening

Check on the server

# what listens on the port
ss -lntup | grep ':631 '
netstat -ano | findstr :631   # Windows
lsof -i :631   # macOS
# test from another machine
nc -vz example.com 631

Related ports