简单防火墙 (UFW) 和 UPNP

设置 UFW 以允许家庭网络中的计算机之间进行 UPNP 是否可行?

如果我关闭防火墙,每件小事都会奏效。 我可以在系统日志中看到防火墙阻止了我。 我尝试了各种可用的想法,例如 open 1900、1901、5353,这些似乎都是任意的努力。 我知道问题是 UPNP 需要一个随机端口,而 UFW 只是阻止它。

7
2022-06-07 14:41:02
资源 分享
答案: 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,并且在两个指令中都是打开的,这是您的主要端口。 但是您同样可以看到特定服务还需要许多其他端口。

3
2022-06-07 15:11:34
资源