使用 xinetd 的 UDP 端口转发
UDP port forwarding using xinetd
我曾在 google 和此处寻找关于我的问题的答案,但没有找到合适的答案。
上下文是这样的:
我在一个子网中的某个服务器(没有防火墙)上有一个软件 运行。
在不同子网的某台 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 配置遗漏了什么?
提前致谢,感谢您的每一个提示。
本尼
redirect = 192.168.1.1 6000 #Server inside the 192.168.1.0 subnet
redirect
Allows a tcp service to be redirected to another host.
这意味着无法为 udp 使用重定向。而且我看不到任何其他方法可以用 xinetd 做到这一点。
我曾在 google 和此处寻找关于我的问题的答案,但没有找到合适的答案。
上下文是这样的: 我在一个子网中的某个服务器(没有防火墙)上有一个软件 运行。 在不同子网的某台 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 配置遗漏了什么?
提前致谢,感谢您的每一个提示。
本尼
redirect = 192.168.1.1 6000 #Server inside the 192.168.1.0 subnet
redirect
Allows a tcp service to be redirected to another host.
这意味着无法为 udp 使用重定向。而且我看不到任何其他方法可以用 xinetd 做到这一点。