netcat 被阻止,telnet 获得连接

netcat 被阻止,telnet 获得连接

我正在尝试在我的 Linux 机器(ubuntu 9.04)上安装 svn 服务器。我将一行复制svnserveinetd.conf文件中并重新启动inetd。但我无法使用 svn 客户端连接到服务器。我总是收到错误消息

连接被拒绝

现在到了奇怪的部分:如果我打电话

netcat localhost 3690

连接也会被拒绝。但如果我调用

telnet localhost 3690

我收到了一些回复svnserve

有什么想法可能导致这种情况 - 以及如何使我的 svnserver 正常工作?


更多细节:

  • 我安装了inetutils-inetd(版本 2:1.6-1)
  • netstat给我线

    tcp6 0 0 :::3690 :::* 侦听

  • 如果我禁用中的所有“特殊 IPv6 地址” /etc/hoststelnet它就会停止工作并出现“连接被拒绝”的提示。

  • 我尝试激活(端口 13)daytime的服务。同样的情况:无法连接。inetdnetcattelnet
  • 据我所知,没有防火墙(ufw已安装但未启用)。

答案1

Netcat 仅适用于 IPv4,并且服务器仅监听 IPv6。

尝试设置此内核选项,然后终止并重新启动inetd

sysctl net.ipv6.bindv6only=0

(并将 inetd 服务行更改为tcp。是时候开始使用 v6 了)

答案2

我自己找到了答案......

问题出在这行inetd.conf

svn stream tcp nowait subversion /usr/bin/svnserve svnserve -i -r /home/svn

将关键字切换为 后tcptcp4一切正常。现在 netstat 给出了以下输出:

tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN

相关内容