家里有两台机器,住在一个住宅电缆调制解调器和路由器:
gaia :Kubuntu 10.04,192.168.0.103
像素 :Ubuntu 10.04,192.168.0.104
路由器 :DLink DI-52,1.1.1.1(不是它的真实IP)。 路由器configuration为将端口23和10002转发到像素22,并将端口22和10001转发到gaia:22。
两个不同networking的外部主机处于不同的状态:
zeus :得克萨斯州的CentOS,IP 2.2.2.2(不是真正的IP)
argo :加州的Kubuntu 10.04,IP 3.3.3.3(不是真正的IP)
如果我从宙斯 SSH到路由器 :22,:23,:10001,或:10002,它连接罚款(分别为gaia,像素,gaia和像素)。
如果我从argo SSH到路由器 :23或:10002,它连接到像素罚款。 如果我从argo到路由器的 SSH:22或:10001,它不连接到gaia ; SYN数据包永远不会回复(我用gaia上的Wireshark观察这个数据来validationgaia不会发送任何东西回argo )。 还testing了与argo相同的networking上的其他主机; 他们都没有得到任何进一步的。 SSH转储(-vvv)如下所示:
@@ 08:29:04 Sat Sep 18 [user@argo - ~]$ ssh 1.1.1.1 -vvv OpenSSH_5.3p1 Debian-3ubuntu4, OpenSSL 0.9.8k 25 Mar 2009 debug1: Reading configuration data /home/user/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to 1.1.1.1 [1.1.1.1] port 22. debug1: connect to address 1.1.1.1 port 22: Connection timed out ssh: connect to host 1.1.1.1 port 22: Connection timed out @@ 08:39:00 Sat Sep 18 [user@argo - ~]$
现在,让事情变得更加奇特:我有一个gaia上的VPN客户端,可以让我通过argo公司networking上的防火墙。 这个VPN客户端给gaia一个额外的IP(172.16.1.1,再次不是真实的)。 如果我尝试从argo ssh到这个IP,它连接就好。
所以我的问题是,到底是怎么回事? gaia由于某种原因只是不喜欢argo使用的IP? gaia是一个为期两天的Kubuntu安装,我没有做任何奇怪的事情,比如configuration某些IP范围被阻止连接到sshd。 看起来好像gaia不喜欢的SYN数据包,因为它会让argo连接到VPN IP。
编辑 :我刚刚发现,这个问题只发生在VPN客户端在gaia上运行。 只要我关掉它, argo就可以通过公共IP连接到gaia 。 任何想法,为什么这将是?
编辑2 :我的下一个猜测是,VPN客户端告诉IP堆栈忽略来自公司防火墙的公共IP的任何数据包,以确保在VPN活动时,从gaia到公司networking的所有数据都通过VPN,而不是通过公共防火墙。 这不会导致我一个真正的问题,因为我仍然可以使用它的VPN IP而不是路由器的IP直接连接到gaia ,但是有点混乱。
天啊。 我会在这里完全诚实。 我不完全了解你的问题。 不是因为你没有说得好,而只是相当复杂。 现在我的大脑受伤了
这就是说,有几件事你应该看看。 显而易见的是服务器上的防火墙规则和路由器上的访问列表。 它只需要一个错字,让你的networking看起来容易被打破。 照片可能有帮助吗? =)
另一个是是否启用分割隧道 。 这被认为是安全风险,所以经常build议禁用。 但是,这可能会导致计算机无法访问不在VPN另一端的networking。 这可能是你的连接尝试。
– 克里斯托弗·卡雷尔
我曾经遇到过一次OpenBSD的问题,我认为,SSHD被configuration为不接受来自1000以下的源 tcp端口的连接,或者类似的东西 – 它让我感到困惑,直到find它。 症状是相似的 – 我可以连接一台机器,但没有理由,我可以想到的另一台。
鉴于以前有关VPN和分裂隧道的评论,这是一个更可能的罪魁祸首。