UFW 端口转发不适用于我的 coturn 设置

问题描述

我正在尝试在端口 443 上接收数据并将其转发到侦听端口 5349 的 coturn 服务器。

我想要这样设置,以便我的 webRTC 应用程序可以通过 443 连接,但我的 coturn 服务器没有 root 访问权限(特权端口 443)。

在我的 /etc/ufw/before.rules 中,我有以下条目

*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 5349
COMMIT

当我使用 443 端口在 https://test.webrtc.org/ 测试我的回合设置时,我得到: Udp disabled Relay connectivity timed out Reflexive connectivity timed out

但是使用端口 5349 似乎可以工作。

我在 ufw 中打开了所有需要的端口。我也试过 ufw disabled。 我是否需要为端口转发添加任何其他更改,例如添加条目 OUTPUT(不过我不知道如何添加)。 我是否还需要为 IPv6 添加规则条目 (/etc/ufw/before6.rules)?

解决方法

我将这些添加到 before.rules 文件中

*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 5349
-A PREROUTING -p udp --dport 443 -j REDIRECT --to-port 5349


:OUTPUT ACCEPT [0:0]
-A OUTPUT -o lo -p tcp --dport 443 -j REDIRECT --to-port 5349
-A OUTPUT -o lo -p udp --dport 443 -j REDIRECT --to-port 5349

COMMIT

我不确定它是否可以。但目前这似乎有效。我仍然愿意接受建议。请给我建议以改进我目前所做的事情

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...