简单防火墙 (UFW) 和 UPNP

简单防火墙 (UFW) 和 UPNP

是否可以将 UFW 配置为允许家庭网络中计算机之间的 UPNP?

如果我关闭防火墙,一切都会正常。我可以在系统日志中看到防火墙阻止了我。我尝试过各种提示,例如 open 1900、1901、5353,这些似乎都是随机尝试。我知道问题是 UPNP 请求随机端口,而 UFW 只是阻止它。

答案1

你似乎很接近答案。最简单的方法是暂时关闭防火墙,让媒体盒运行几分钟,然后检查 lsof 的输出

lsof -i :1025-9999 +c 15

-i 列出与开放端口相对应的“文件”,使用 -i4 仅限制为 IPv4。号码列表将其限制为端口号列表 - 如果您想要所有内容,请忽略它。 +c 位只是为您提供与端口关联的更有意义的命令名称

netstat -lptu --numeric-ports

这列出了所有活动端口及其协议和源/目标地址。

有了这些信息,您就可以构建一个脚本来正确设置 ufw。这是我的脚本示例:

#!/bin/sh

# Set up local firewall using ufw (default install on Ubuntu)
# @see /etc/services for port names


# obtain server's IP address
SERVERIP=192.168.1.181

# Local Network
LAN="192.168.0.0/255.255.0.0"

# disable firewall
ufw disable

# reset all firewall rules
ufw reset

# set default rules: deny all incoming traffic, allow all outgoing traffic
#ufw default allow incoming
ufw default deny incoming
ufw default allow outgoing

# open port for SSH
ufw allow OpenSSH

# open port for Webmin
ufw allow webmin

# open ports for Samba file sharing
ufw allow from $LAN to   $SERVERIP app Samba
ufw allow to   $LAN from $SERVERIP app Samba

#ufw allow from $LAN to $SERVERIP 137/udp # NetBIOS Name Service
#ufw allow from $LAN to $SERVERIP 138/udp # NetBIOS Datagram Service
#ufw allow from $LAN to $SERVERIP 139/tcp # NetBIOS Session Service
#ufw allow from $LAN to $SERVERIP 445/tcp # Microsoft Directory Service

# open ports for Transmission-Daemon
ufw allow 9091
ufw allow 20500:20599/tcp
ufw allow 20500:20599/udp

# Mediatomb
## upnp service discovery
ufw allow 1900/udp
## Mediatomb management web i/f
ufw allow 49152

# Plex Media Server
## Manage
ufw allow 32400

# open port for MySQL
ufw allow proto tcp from $LAN to any port 3306

# open ports for web services
ufw allow 80
ufw allow 443
ufw allow 8000:9999/tcp
ufw allow 8000:9999/udp

# Deny FTP
ufw deny 21/tcp

# Webmin/usermin allow
ufw allow webmin
ufw allow 20000

# open port for network time protocol (ntpd)
ufw allow ntp

# Allow Firefly (DAAP)
ufw allow 3689

# enable firewall
ufw enable

# list all firewall rules
ufw status verbose

您应该能够从 Mediatomb 部分看到 uPNP 正在 UDP(不是 TCP)上的标准端口 1900 上工作,并且双向开放,这是您的主要端口。但您也可以看到特定服务还需要许多其他端口。

相关内容