使用xinetd进行UDP端口转发

时间:2015-09-16 15:56:16

标签: udp port iptables forwarding xinetd

我正在寻找谷歌和我这里的问题的答案,但是没有找到合适的答案。

所以这是上下文: 我在一个子网中的某个服务器(没有防火墙)上运行了一个软件。 在另一个子网中的某台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配置缺少什么?

在此先感谢,每个提示都受到赞赏。

1 个答案:

答案 0 :(得分:1)

redirect                = 192.168.1.1 6000  #Server inside the 192.168.1.0 subnet

来自man page of xinetd

  

重定向

     

允许将 tcp 服务重定向到其他主机。

这意味着无法使用udp的重定向。我没有看到任何其他方法来使用xinetd。