我需要将 UDP 协议的一系列端口转发到容器。
在文件中before.rules
,包含一行:
-A PREROUTING -p tcp -i eth0 --src-range 49000-60000 -j DNAT --to-destination 10.100.100.2
但ufw
对选项有抱怨--src-range
。该怎么办?
我需要将 UDP 协议的一系列端口转发到容器。
在文件中before.rules
,包含一行:
-A PREROUTING -p tcp -i eth0 --src-range 49000-60000 -j DNAT --to-destination 10.100.100.2
但ufw
对选项有抱怨--src-range
。该怎么办?
选项
--src-range
1) 仅当同一命令还使用 加载“iprange”模块时才可用-m iprange
,并且 2) 正如后者名称所暗示的那样,仅采用IP 地址范围,而不是端口号范围。(请参阅iptables-extensions(8)手册页。)端口号没有“范围”选项,因为常规
--sport
选项已经采用了格式中的端口号范围start:end
(例如--sport 1000:1999
)。(但是如果您希望在单个规则中使用多个范围,则“多端口”模块可能会有用。)
此外,“源端口”几乎总是错误的匹配参数。UDP 流(以及 TCP 连接)通常从随机源端口发送,该端口没有任何意义 - 对于初始数据包,目标端口号实际上指定了服务,因此“端口转发”规则通常使用
--dport
它。您还混淆了 TCP 和 UDP(问题说的是 UDP,而规则说的是
-p tcp
),但相同的答案适用于两者。