配置OpenSuSE的xinetd

配置OpenSuSE的xinetd

我需要跑大约,OpenSuSE 盒子上的 Debian / Ubuntu 软件包的软件包代理。

到目前为止,我将安装包从 转换.deb.rpm使用alien.安装结果给了.rpm我.approx/usr/sbin/approx

在 Debian 下,approx开始使用inetd. OpenSuSE 似乎更喜欢xinetd.因此,在 YaST2 的 xinetd 设置中,我使用以下命令创建了一个新条目

  • 服务名称:“approx”(我也尝试过“9999”,因为我假设这是从服务名称到端口号的映射发生的地方 - 这个名称应该与 /etc/services 中的端口描述匹配,对吗?)
  • 类型:stream
  • 协议:tcp
  • nowait选项
  • 用户:root
  • 服务:/usr/sbin/approx

然而,无论我为条目分配什么状态,只要我单击“确定”,xinetd 配置就会跳转到“已停用”,并且在端口 9999 上联系它时,我无法从系统得到任何反应。

那么,首先,我对 xinetd 配置的使用是否正确,还是我理解有问题?

其次,YaST2 中的 xinetd 配置面板自动停用是软件错误还是用户错误?

答案1

感谢 Nikhil 的意见,我解决了这个问题。

设置 xinetd 时,YaST 仅使用服务名称,而不使用端口号。不幸的是,由于某些历史原因,大约默认端口 9999。它已注册到另一个名为“distinct”的服务。

因此,临时解决方案是将端口 9999 的服务重命名为 /etc/services 中的“approx”,并在 xinetd 配置中输入名称为“approx”的新服务(正如我怀疑的那样,这确实会映射到端口 9999 ),用户大约和组大约。这是 YaST 生成的服务文件:

$ cat /etc/xinetd.d/approx 
service approx
{
    socket_type     = stream
    protocol        = tcp
    wait            = no
    user            = approx
    group           = approx
    server          = /usr/sbin/approx
}

当然,正确的解决方案是将服务器和所有客户端计算机迁移到不同的端口(IANA 尚未分配的端口)。

答案2

您是否尝试过在配置中提及端口号?日志说什么?

service approx
{
       flags          = REUSE
       socket_type    = stream
       protocol       = tcp
       wait           = no
       user           = root
       server         = /usr/sbin/approx
       log_on_failure += USERID
       disable        = no
       port           = 9999
}

相关内容