gpt4 book ai didi

linux - 使用 xinetd 进行端口转发

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:38:20 29 4
gpt4 key购买 nike

我想将 xinetd 连接转发到另一个本地端口(比如 12345)。我的解决方案基于 CentOS/Redhat 文档第 17 章。TCP Wrappers and xinetd, article 17.4.3.3 .在示例中,配置启动守护进程并将流量重定向到主机:端口。 doco 说它也应该能够转发到同一系统上的不同端口。

我目前的目标是在端口 12345 上的任何连接上启动一个守护程序(比如 testsmpp),并将流重定向到特定端口(比如 54321)。棘手的一点是我不希望守护进程 (testsmpp) 从 STDIN 读取,而是它应该能够从 xinetd 将流量转发到的端口读取。

我在/etc/service 下创建了一个服务,例如

testsmpp    12345/tcp

我的守护进程 xinetd 配置是

service testsmpp
{
sock_type = stream
protocol = tcp
wait = no
user = root
server = /home/me/bin/testsmpp
redirect = 54321
}

testsmpp 监听端口 54321。问题是当从外部建立连接时,xinetd 启动守护进程但不将流量转发到 54321。服务器启动后我可以直接连接到 54321 端口但连接是通过 xinetd (在端口 12345)不被转发。

服务器和重定向标签是否相互排斥?我看了关于 xinet forking concurrent server 的讨论但我的动机略有不同。我想监听另一个端口上的传入连接,因为在分布式计算环境中,另一个应用程序也将与该端口上的守护进程通信。

非常感谢任何线索。

最佳答案

这是一个示例配置,obtained from this source ,它对我有用:

service smtp_forward
{
disable = no
type = UNLISTED
socket_type = stream
protocol = tcp
user = nobody
wait = no
redirect = remote_server 25
port = 2000
}

关于linux - 使用 xinetd 进行端口转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21716673/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com