Yur*_*uri 5 linux telnet xinetd tcp-wrappers
在client PC IP: 10.49.46.5/24与server PC IP: 10.49.46.2/24被链接到同一网络的两台计算机。当我尝试使用命令在这两台计算机之间创建交互式通信时telnet,我得到以下信息:
[root@xxx:~]# telnet 10.49.46.2
Trying 10.49.46.2...
Connected to 10.49.46.2.
Escape character is '^]'.
Connection closed by foreign host.
[root@xxx:~]#
Run Code Online (Sandbox Code Playgroud)
服务器xinetd.conf如下:
defaults
{
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID EXIT
log_on_failure = HOST ATTEMPT
cps = 25 30
}
includedir /etc/xinetd.d
Run Code Online (Sandbox Code Playgroud)
服务器telnet.config如下:
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/telnetd
log_on_failure += USERID
instances = 10
disable = no
}
Run Code Online (Sandbox Code Playgroud)
的TCPWrapper hosts.allow是:
telnetd: /etc/telnetd.hosts
tfdpd: /etc/tftpd.hosts
sshd: /etc/sshd.hosts
Run Code Online (Sandbox Code Playgroud)
的TCPWrapper hosts.deny是:
ALL:ALL
Run Code Online (Sandbox Code Playgroud)
现在:
ssh,它正在运行port 22。/var/log/message并发现该命令xinetd启动然后立即退出 telnet。iptables使用以下命令检查了不要删除 telnet 包:iptables -L 请您帮我找出问题所在,我该如何解决?
[root@xxx:~]# telnet 10.49.46.2
Trying 10.49.46.2...
Connected to 10.49.46.2.
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)
这意味着您已经成功与远程守护程序建立了 TCP 连接。什么守护进程?xinetd充当枢纽的那个。现在您已连接,xinetd请尝试启动特定服务 ( telnet)。
Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)
这意味着启动telnet服务失败。您可能需要向telnetd命令行添加调试选项并读取xinetd日志以查看到底发生了什么故障。
您似乎正在运行 BusyBox 版本的telnetd. 与经典版本相反telnetd,Busybox 提供的服务是一个独立的守护进程,需要一个-i选项来与之交互inetd(由具有与独立守护进程不兼容的特定接口启动的服务inetd:它们不能打开和侦听套接字,它们必须与客户端通过标准输入/标准输出)。
因此,您的xinetd配置应该是:
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/telnetd
server_args = -i
log_on_failure += USERID
instances = 10
disable = no
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42691 次 |
| 最近记录: |