无法为 telnet 服务器启用 IPv6

无法为 telnet 服务器启用 IPv6

我正在尝试在 Ubuntu 16.04 上运行的 telnet 服务器上启用 IPv6,但是无法实现。

我的配置文件如下所示。

/etc/xinetd.d/telnet

service telnet
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        flags           = REUSE IPv6
}

/etc/inetd.conf

telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

/etc/init.d/xinetd 重启后,telnet 服务器只监听 IPv4 地址,不监听 IPv6 地址:

# netstat -nap|grep xinet
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      4592/xinetd     
unix  2      [ ]         DGRAM                    31655    4592/xinetd 

结果,当我通过 telnet 连接时,我看到了以下错误消息:

# telnet -6 ::1
Trying ::1...
telnet: Unable to connect to remote host: Connection refused

在服务器上,我有一个启用了 IPv6 地址的活动网络接口,并且我一直在运行启用 IPv6 的 SSH 服务器,没有任何问题。但不知何故,我无法为 telnet 服务器启用 IPv6。

任何帮助都将受到赞赏。

答案1

我看到了这个解决方案这里flags = IPv6通过在文件中添加行可以解决问题/etc/xinetd.d/echo(但在您的情况下应该是/etc/xinetd.d/telent

service echo
{
    disable     = no
    type        = INTERNAL
    id      = echo-stream
    socket_type = stream
    protocol    = tcp
        flags           = IPv6  
    user        = root
    wait        = no
}                                                                               


service echo
{
    disable     = no
    type        = INTERNAL
    id      = echo-dgram
    socket_type = dgram
    protocol    = udp
        flags           = IPv6  
    user        = root
    wait        = yes
}   

答案2

我也遇到过这个问题。我通过在 /etc/xinetd.conf 中添加以下几行并执行 service xinetd restart 来解决这个问题。

服务 telnet

         {
                 socket_type         = stream
                 wait                = no
                 nice                = 10
                 user                = root
                 server              = /usr/sbin/in.telnetd
                 flags               = IPv6
          }

谢谢

相关内容