在 Ubuntu 上运行的 DLNA 客户端必须打开哪些防火墙端口?
我发现传入限制规则会阻碍运行 Ubuntu 的客户端计算机上的 DLNA 发现服务。客户端 DLNA 发现服务必须打开哪些端口?我正在为 Totem 和 Rhythmbox 使用 Grilo 插件。
编辑:使用 DLNAautoAddports.sh 后,Rhythmbox 和 Totem 启动脚本正常运行:
#!/bin/bash
a=0
for i in `seq 1 15`;
do
sudo ./DLNAAutoAddPorts.sh;sleep 0.1
if [ "$a" = "0" ]; then
rhythmbox&
a=1
fi
echo $i
done
DLNAAutoAddPorts.sh 的内容是这里。
答案1
我使用不同的 DLNA 服务器,即 bubbleupnp、minidlna 和 rygel,但它们都遇到同样的问题。
所以我写了一个程序来处理这个问题。你可能会发现它很有用,我已经用 Rhythmbox 测试过了,但没有用 totem 测试过,如果你想试一试,请告诉我它是否对你有用。
它基本上监控您的 DLNA 程序并在一些适当的限制下打开它们所需的端口。
该脚本可以下载这里
更新:我已加载 Rhythmbox 并启用 Grilo 包,现在可以毫无问题地访问 LAN 上的其他 DLNA 服务器。DLNAAutoAddPorts.sh 脚本负责打开所需的端口。
答案2
使用命令: Sudo lsof -i -n -P | more
此命令列出应用名称,PID,用户、IP 版本、设备ID和带端口名称的节点. 它同时显示了TCP和UDP。
- 仅限查看TCP连接使用:
sudo lsof -i tcp -n -P | more
- 仅限查看UDP连接使用:
sudo lsof -i udp -n -P | more
- 如果你没有可用的命令,请使用此命令进行安装lsof:
sudo apt-get install lsof