我正在尝试在 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
}
谢谢