奇怪的问题:telnet无法连接另一台server的正常的开放端口

问题描述:

有一台server(称为A)作为memcache服务器开放了11211端口,但是另一台server(称为B)无法调用A的memcache,显示无法连接。

排查:

  1. 先在B上用telnet 尝试连接连接A的11211端口,超时。
  2. 换用另外的机器来telnet A 的11211端口,正常。
  3. 用B去telnet另一台机器的开放端口,也正常。
  4. 用B telnet A的其他端口,例如 22,也不正常。
  5. 用A telnet B的开放端口,也正常。

所以,看来问题成了只有B telnet A的时候有问题。

后来想到在A上抓包看看,分别用B telnet A 和 用另一台能telnet通A的机器telnet A,观察两者在A上抓包的结果,发现结果果然不一样

B telnet A 时:

其他机器telnet A时:

可以看到B的telnet请求已经到达了A,但是A没有像正常情况下给予B相应,所以B就会显示超时。

虽然知道了问题出在哪,可是还是没思路,最后怀疑到内核的网络相关配置,即   /etc/sysctl.conf 的先关配置,对比了一下B和其他机子的该文件,发现B的配置里少了几行配置

然后在B的/etc/sysctl.conf里加上了这些配置,sysctl -p使生效,再尝试telnet A,竟然成功了。

说了这么多,虽然问题解决了,但是以本人当前的技能水平,还是不能精确的知道是哪个配置项起到了关键的作用,故而还是有点小郁闷。

还得博学啊!

时间: 2024-10-25 04:11:36

奇怪的问题:telnet无法连接另一台server的正常的开放端口的相关文章

AIX加入?能够telnet远程连接账号方法

AIX 中加入?账号能够使用命令mkuser 和 SMIT 两种方式,这里介绍SMIT方式 1.使用root 账号登录AIX 2.输入 smitty user 3.选择Add a User 4.输入"User Name"  "HOME directory"  按回车创建用户 输入 #finger test  能够查看用户创建情况 5. 为新创建的用户 创建password 6.此时建的用户是没有权限登录的,须要给该账号创建远程登录权限 设置方法是编辑/etc/sec

AIX添加可以telnet远程连接账号方法

AIX 中添加账号可以使用命令mkuser 和 SMIT 两种方式,这里介绍SMIT方式 1.使用root 账号登录AIX 2.输入 smitty user 3.选择Add a User 4.输入"User Name"  "HOME directory"  按回车创建用户 输入 #finger test  可以查看用户创建情况 5. 为新创建的用户 创建密码 6.此时建的用户是没有权限登录的,需要给该账号创建远程登录权限 设置方法是编辑/etc/security/u

【Telnet】使用Telnet协议连接到远程Shell执行脚本

介绍 本文介绍如何通过Telnet协议连接到远程Shell,执行脚本,并获取执行结果: 相关文章: <[Jsch]使用SSH协议连接到远程Shell执行脚本>http://www.cnblogs.com/ssslinppp/p/6244653.html 其他示例: http://commons.apache.org/proper/commons-net/examples/telnet/TelnetClientExample.java http://www.programcreek.com/ja

如何在Windows系统上利用Telnet协议连接Linux服务器

Telnet协议是Internet远程登录服务的标准协议,它为用户提供了在本地计算机上完成远程主机工作的能力.很多终端使用者都习惯在计算机上利用Telnet会话来远程控制服务器.这里小编就分两步为大家演示如何在Windows系统上利用Telnet协议连接Linux服务器. 步骤一:在Windows系统上打开Telnet功能:  步骤二:在Linux系统上启用Telnet服务. 步骤一:Windows终端开启Telnet功能 1/由于在Windows Vista之后的版本默认并没有提供Telnet

Python实现Telnet自动连接检测密码

最近在学习Python网络相关编程,这个代码实现了Telnet自动连接检测root用户密码,密码取自密码本,一个一个检测密码是否匹配,直到匹配成功,屏幕输出停止. 代码如下: #encoding=utf-8 import telnetlib import time import sys import os def do_telnet(Host, Port, username, password, finish): #连接Telnet服务器 tn = telnetlib.Telnet(Host,

SqlServer2005 provider: TCP 提供程序, error: 0 - 由于目标计算机积极拒绝,无法连接。) (Microsoft SQL Server,错误: 10061)问题解决

环境:win7 32位 数据库:sqlserver2005 报错过程: 按照sqlserver2005默认流程一步步安装的,以前启动一直正常, 今天启动本机安装的sqlserver2005,点击""登陆,时,报错:错误信息如下: 标题: 连接到服务器 ------------------------------ 无法连接到 XGL. ------------------------------ 其他信息: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到

php连接微软MSSQL(sql server)完全攻略

http://www.jb51.net/article/98364.htm php连接微软MSSQL(sql server)完全攻略 作者:吵吵 字体:[增加 减小] 类型:转载 时间:2016-11-27我要评论 在研究ezSQL的时候就看到了mssql_connect()等一些php提供的连接MSSQL的函数,本以为php这个开源的风靡世界的编程语言对连接微软的数据应该是不在话下的,但是到真正执行的时候,才发现困难多多 在研究ezSQL的时候就看到了mssql_connect()等一些php

C#连接Access、SQL Server、Oracle、MySQL、DB2和SyBase数据库的代码集

C#连接六类数据库的代码集 本文列出了C#连接Access.SQL Server.Oracle.MySQL.DB2和SyBase六种不同数据库的程序源码和需要注意的点. 1.C#连接Access 程序代码: Code using System.Data;using System.Data.OleDb; .. string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+[email protected]&

从一台Centos机器ssh连接另一台机器报错

从一台Centos机器ssh连接另一台机器报错 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING