我正在保护我的计算机并通过在 CLI 使用 UFW 创建了相同的规则。
我的问题是,为了允许使用 XChat 2.8.8 的 IRC 服务,并且因为 IRC 服务使用端口 6667 到 7000,我是否必须为每个端口编写一条规则,例如:
sudo ufw allow out 6667/tcp
sudo ufw allow out 6668/tcp
sudo ufw allow out 6669/tcp
....
sudo ufw allow out 7000/tcp
或者我可以这样做吗:
sudo ufw allow out 6667:7000/tcp
关于同一主题,让我问您另一个问题,IRC 是否仅使用 TCP 协议,还是我还必须为 UDP 协议编写相同的规则?
答案1
这的手册页ufw
我猜想部分RULE SYNTAX
很好地解释了你问题的端口范围部分。很难从中摘录出仅包含相关信息的内容,因此通过示例进行总结:
/tcp
只是使规则仅匹配 TCP。删除该规则将匹配所有流量,包括 UDP 以及可能的其他带有端口号的未来协议。- 范围确实如您所述指定。
6667:7000
匹配从 6667 到 7000 的所有端口。 - 多个范围或单个范围可以用逗号分隔,例如
6667,6669:7000
与上面相同,但不包括 6668。
IRC 上的维基百科提到这是使用它所需的协议/端口:
IRC 最初是一种纯文本协议(尽管后来进行了扩展),IANA 应要求为其分配了端口 194/TCP。然而,事实上的标准一直是在 6667/TCP 和附近的端口号(例如 TCP 端口 6660–6669、7000)上运行 IRC,以避免必须以 root 权限运行 IRCd 软件。
因此,对于最常见的传出 IRC 连接来说,这应该可以解决问题:
sudo ufw allow out 6660:7000/tcp
并查找您正在连接的 IRC 服务器上的文档(如果有)。例如自由节点:
所有 freenode 服务器均监听端口 6665、6666、6667、6697(仅 SSL)、7000(仅 SSL)、7070(仅 SSL)、8000、8001 和 8002。
答案2
我不熟悉 Xchat,但我发现以下内容就足够了 -
sudo ufw allow out ircd
我认为它的效果和 一样sudo ufw allow out 6667
。