![rtsp 可以使用哪些范围的 UDP 端口来配置防火墙?](https://linux22.com/image/1368477/rtsp%20%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%BA%9B%E8%8C%83%E5%9B%B4%E7%9A%84%20UDP%20%E7%AB%AF%E5%8F%A3%E6%9D%A5%E9%85%8D%E7%BD%AE%E9%98%B2%E7%81%AB%E5%A2%99%EF%BC%9F.png)
为了允许传入的 rtsp 流,我必须打开传入的 TCP 端口 554。我还必须打开一系列 UDP 端口。
6970 至 6999,表示http://comments.gmane.org/gmane.comp.security.shorewall/660。
至少 8466 到 8469,这是我lsof
从 YouTube 流式传输时的输出(
ffplay rtsp://v3.cache6.c.youtube.com/CjYLENy73wIaLQnyGKRU4VMLjxMYDSANFEIJbXYtZ29vZ2xlSARSBXdhdGNoYIv01r-03I23Tgw=/0/0/0/video.3gp
,如果它保持完好一两天的话)。
有没有任何rtsp 服务器可能在SETUP 请求的client_port
和字段中请求哪些 UDP 端口的限制(server_port
http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol)?
换句话说,我必须打开全部我的防火墙中有 UDP 端口吗?(我在 Ubuntu 上使用 shorewall,如果这有区别的话。)
答案1
例如,客户端 RealPlayer 默认使用 UDP 端口 6970-7170,但该范围可能会更改,http://docs.real.com/docs/proxykit/rtspd.pdf。
客户端 VLC 需要 UDP 端口 15947,https://unix.stackexchange.com/questions/48435/enable-rtsp-in-iptables。
其他客户端和服务器可能有其他值。
因此,如果您不能假设特定的客户端或服务器,那么为了保证传入的 rtsp,您确实必须打开所有 UDP 端口。唉。