我在谷歌和这里寻找我的问题的答案,但没有找到正确的答案。
所以这里是上下文:我有一个软件在一个子网中的某个服务器(没有防火墙)上运行。在不同子网中的某些 PC 上运行另一个软件。两个子网都连接到网关服务器。所有计算机都运行 CentOS 或 RHEL。在网关服务器上,有一个防火墙,防止多播流量离开一个子网,并允许来自外部的客户端连接到该子网内的计算机。因此使用 xinetd。来自外部的计算机需要将数据包发送到特定端口,内部计算机根据发送者响应另一个特定端口。所以网关不需要跟踪发送者-接收者的关系。它只需要将特定端口上的 UDP 转发到从一个子网到另一个子网的特定计算机。
所以我在 /etc/services 中添加了一项服务(针对一个方向):
udp-gateway 6000/udp
并在 /etc/xinetd.d/gateway 中创建了相应的配置文件,如:
service udp-gateway
{
disable = no
socket_type = dgram
protocol = udp
wait = no
user = root
redirect = 192.168.1.1 6000 #Server inside the 192.168.1.0 subnet
}
现在的问题是,服务器没有打开一个 UDP 端口来监听('netstat -nulp' 说)。当我将协议更改为 TCP 并将 socket_type 更改为流时,它可以工作。但我需要这个用于 UDP。
这对UDP来说是不可能的吗?还是 netstat 只是不显示端口?还是我的 xinetd 配置缺少什么?
在此先感谢,每一个提示都表示赞赏。
本尼