我在谷歌和这里寻找我的问题的答案,但是没有找到合适的答案。
这是上下文:我有一个软件运行在一些服务器(没有防火墙)在一个子网。在不同子网的某些PC上运行另一个软件。两个子网都连接到网关服务器。所有计算机都运行CentOS或RHEL。在网关服务器上,有一个防火墙,防止多播流量离开一个子网,并允许外部的客户端连接到该子网内的计算机。因此使用xinetd。外部的计算机需要将数据包发送到一个特定的端口,内部的计算机根据发送者的不同应答另一个特定的端口。因此网关不需要跟踪发送方-接收方关系。它只需要将特定端口上的UDP从一个子网转发到另一个子网的特定计算机。
所以我在/etc/services中添加了一个服务(一个方向):
udp-gateway 6000/udp
并在/etc/xinetd中创建相应的配置文件d/网关:
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更改为stream时,它就可以工作了。但是我需要UDP。
有可能这对于UDP是不可能的吗?或者netstat只是没有显示端口?还是我的xinetd配置缺少了什么?
提前感谢,每一个提示都是赞赏的。
本尼
redirect = 192.168.1.1 6000 #Server inside the 192.168.1.0 subnet
从xinetd的手册页:
重定向允许tcp服务重定向到另一个主机。
这意味着对udp使用重定向是不可能的。对于xinetd,我不知道还有什么其他的方法