首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不能从CentOS 6.5到SuSELinux10.1

不能从CentOS 6.5到SuSELinux10.1
EN

Server Fault用户
提问于 2014-08-21 07:07:49
回答 2查看 785关注 0票数 0

我们在办公室中安装了一个相当老的SUSELinux10.1 (i586)。

问题很简单:我可以成功地从同一个LAN中的机器(192.168.1.0)中获得ssh,但不能从另一个LAN中的机器(10.23.0.0)获得ssh。

SuSE具有SSH服务器openssh-4.2p1-18.12。我已经排除了防火墙、hosts.allow和hosts.deny文件。

当我的ssh登录尝试失败时,日志如下所示:

客户机上的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ssh -vvv 192.168.1.5
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.5 [192.168.1.5] port 22.
debug1: Connection established.
debug1: identity file /home/nbuild/.ssh/identity type -1
debug1: identity file /home/nbuild/.ssh/identity-cert type -1
debug1: identity file /home/nbuild/.ssh/id_rsa type -1
debug1: identity file /home/nbuild/.ssh/id_rsa-cert type -1
debug1: identity file /home/nbuild/.ssh/id_dsa type -1
debug1: identity file /home/nbuild/.ssh/id_dsa-cert type -1

服务器上的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Aug 21 16:34:25 serverhost sshd[20736]: debug3: fd 4 is not O_NONBLOCK
Aug 21 16:34:25 serverhost sshd[20736]: debug1: Forked child 20739.
Aug 21 16:34:25 serverhost sshd[20736]: debug3: send_rexec_state: entering fd = 7 config len 403
Aug 21 16:34:25 serverhost sshd[20736]: debug3: ssh_msg_send: type 0
Aug 21 16:34:25 serverhost sshd[20736]: debug3: send_rexec_state: done
Aug 21 16:34:25 serverhost sshd[20739]: debug1: rexec start in 4 out 4 newsock 4 pipe 6 sock 7
Aug 21 16:34:25 serverhost sshd[20739]: debug1: inetd sockets after dupping: 3, 3
Aug 21 16:34:25 serverhost sshd[20739]: debug3: Normalising mapped IPv4 in IPv6 address
Aug 21 16:34:25 serverhost sshd[20739]: Connection from 10.23.1.11 port 44340

服务器上的上述日志是在启用DEBUG3日志级别时使用的。但是,对于默认的日志级别(INFO),服务器记录的唯一内容是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Aug 21 16:38:32 serverhost sshd[20749]: Did not receive identification string from 10.23.1.11

有什么暗示吗?我觉得我已经什么都试过了。

更新:如果这件事重要的话,不能使用ssh的机器在另一个VLAN中。我试过CentOS 6.5和Ubuntu。

EN

回答 2

Server Fault用户

发布于 2014-08-21 07:14:30

听起来好像您还没有与服务器交换密钥。你试过用用户名/密码连接吗?

你可以用这样的东西交换钥匙:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh-copy-id <Username>@<RemoteHost>
票数 0
EN

Server Fault用户

发布于 2014-08-29 05:51:39

我已经解决了这个问题。这似乎是某种奇怪的网络/路由问题,即两个子网之间来回的数据包通过不同的路由。

192.168.1.1是我们的办公室路由器(思科RV042),连接我们与互联网。192.168.1.200是我们办公室的智能、管理、VLAN感知的思科交换机(SG300),它将我们彼此连接,并连接到路由器。该交换机在系统模式L3中运行,这意味着它也可以充当VLAN之间的路由器。它配置了两个VLAN - VLAN 1(默认)和VLAN 2。从192.168.1.x开始的in主机在VLAN 1中,10.23.x.x在VLAN 2中。

--首先,这是不起作用的设置:

traceroute指出,VLAN 1中的数据包经过3次跳才到达VLAN 2:

案例1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@192.168.1.5]# traceroute -n 10.23.1.11
traceroute to 10.23.1.11 (10.23.1.11), 30 hops max, 40 byte packets
 1  192.168.1.1
 2  192.168.1.200
 3  10.23.1.11

而来自VLAN 2的数据包经过两个跳才到达VLAN 1:

案例2

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@10.23.1.11]# traceroute -n 192.168.1.5
traceroute to 192.168.1.5 (192.168.1.5), 30 hops max, 60 byte packets
 1  10.23.1.1
 2  192.168.1.5

案例1中的

(

)

主机192.168.1.5具有默认网关192.168.1.1 (我们的办公路由器)。所以,一个数据包首先被发送到路由器,然后路由器将它转发到192.168.1.200 (我们的智能交换机),因为我已经显式地配置了一个静态规则,否则什么都不会发生(我想,在默认情况下,10.0.0.0网络是私有的,不可路由的,或者什么的,我不是网络专家)。从这里开始,我们的智能交换机起到了路由器的作用(L3,还记得吗?),将数据包转发到其最终目的地10.23.1.11。

案例2中的

(

)

主机10.23.1.11具有默认网关10.23.1.1。这也是交换机,但这一次VLAN 2中的另一个接口。因此,数据包首先击中交换机和交换机,就像上面的路由器一样,通过它的其他接口引导数据包到VLAN 1的适当主机192.168.1.5。这一次我们有一个快捷方式绕过路由器。

现在,在我最初的帖子中解决了SSH问题(尽管我仍然不知道为什么):

我的一位同事建议我们让案例1和案例2的行为类似,看看会发生什么,即消除案例1中的多余跳转,跳过路由器。因此,我在案例1中更改了默认网关。169.254.0.0和127.0.0.0的条目已经在那里了,不知道为什么,它是一个遗留系统:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@192.168.1.5]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
[root@192.168.1.5]# route add default gw 192.168.1.200
[root@192.168.1.5]# route del default gw 192.168.1.1
[root@192.168.1.5]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.1.200   0.0.0.0         UG    0      0        0 eth0

因此,现在默认网关从192.168.1.1 (路由器)更改为192.168.1.200 (交换机),而发送给VLAN 2中主机的数据包不必转到路由器,然后返回交换机,但就像第2种情况下的快捷方式一样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@192.168.1.5]# traceroute -n 10.23.1.11    
traceroute to 10.23.1.11 (10.23.1.11), 30 hops max, 40 byte packets
 1  192.168.1.200
 2  10.23.1.11

最重要的是(同时也令人惊讶),SSH问题自行解决了!现在我可以从192.168.1.5到10.23.1.11。我仍然认为SSH不应该关心数据包通过的地方,但是去想想.

对于上面的路由设置,不利的一面是,如果主机192.168.1.5想访问互联网,它必须先通过交换机,然后路由器,最后退出。这增加了一个不必要的跳转,我没有优化它(参见下面的说明)。

注1:

我尝试为目的地10.23.0.0添加网关192.168.1.200,而没有删除192.168.1.1,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@192.168.1.5]# route add 10.23.0.0 gw 192.168.1.200
[root@192.168.1.5]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.23.0.0       192.168.1.200   255.255.255.255 UGH   0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

其意图是,只有发送给VLAN 2的数据包才能通过192.168.1.200,而用于Internet的数据包将通过192.168.1.1,但这是行不通的。发送给LAN 10.23.0.0的数据包仍然通过192.168.1.1,SSH仍然无法工作。

注2:

我尝试用另一个命令添加192.168.1.200:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@192.168.1.5]# route add 10.23.0.0 gw 192.168.1.200 netmask 255.255.0.0
route: netmask 0000ffff doesn't make sense with host route

还是没有运气。

注3:

最后,我尝试同时保留两个默认网关,即添加.200而不删除.1。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@192.168.1.5]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
0.0.0.0         192.168.1.200   0.0.0.0         UG    0      0        0 eth0

我不知道这是不是健康的事情。我不知道操作系统如何决定每次在哪里发送数据包,因为路由表中的最后两个条目似乎是相同的。行为似乎是随机的。网络专家们,请解释一下。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/623089

复制
相关文章
jekyll中URL的设置
在配置文件中添加配置类似于 permalink: /:categories/:year-:month-:day-:title.html
码客说
2019/10/22
2.1K0
asp.net 2.0 中GridView里设置日期格式
在asp.net1.0中的datagrid中设置日期字段格式时用DataFormatStr
Java架构师必看
2021/03/22
2.3K0
在推荐系统中,我还有隐私吗?联邦学习:你可以有
随着互联网覆盖范围的扩大,越来越多的用户习惯于在网上消费各种形式的内容,推荐系统应运而生。推荐系统在我们的日常生活中无处不在,它们非常有用,既可以节省时间,又可以帮助我们发现与我们的兴趣相关的东西。目前,推荐系统是消费领域最常见的机器学习算法之一[1]。以网络新闻为例,由于每天都有大量的新闻文章发布在网上,在线新闻服务的用户面临着严重的信息过载。不同的用户通常喜欢不同的新闻信息。因此,个性化新闻推荐技术被广泛应用于用户的个性化新闻展示和服务中。关于新闻的推荐算法 / 模型研究已经引起了学术界和产业界的广泛关注。
机器之心
2020/12/03
4.7K0
在推荐系统中,我还有隐私吗?联邦学习:你可以有
在ASP.NET 2.0中建立站点导航层次
站点导航提供程序--ASP.NET 2.0中的站点导航提供程序暴露了应用程序中的页面的导航信息,它允许你单独地定义站点的结构,而不用考虑页面的实际物理布局。默认的站点导航提供程序是基于XML的,但是你也可以通过编写自定义的提供程序,从任何后端位置暴露这些信息。
Java架构师必看
2021/03/22
7.1K0
在ASP.NET MVC 中获取当前URL、controller、action
一、URL的获取很简单,ASP.NET通用: 【1】获取 完整url (协议名+域名+虚拟目录名+文件名+参数)  string url=Request.Url.ToString();  【2】获取 虚拟目录名+页面名+参数:  string url=Request.RawUrl; (或 string url=Request.Url.PathAndQuery;) 【3】获取 虚拟目录名+页面名: string url=HttpContext.Current.Request.Url.AbsoluteP
欢醉
2018/01/22
2.5K0
用好ASP.NET 2.0的URL映射
URL映射是ASP.NET 2.0中提供的新特性。URL映射技术帮助我们将一个特定URL映射为另一个URL。为了帮助理解,我们假设你在站点有一个叫Homepage.aspx的页面来访问主页,所有的用户也都用这个页面来访问你的主页。但由于某些原因,你要将主页改为OriginalHome.aspx。此时使用URL映射让你可以映射到新页面,而不必通知用户。
Java架构师必看
2021/03/22
8100
ASP.NET 2.0 中的异步页[来自MSDN]
ASP.NET 2.0 提供了大量新功能,其中包括声明性数据绑定和母版页,成员和角色管理服务等。但我认为最棒的功能是异步页,接下来让我告诉您其中的原因。 当 ASP.NET 接收针对页的请求时,它从线程池中提取一个线程并将请求分配给该线程。一个普通的(或同步的)页在该请求期间保留线程,从而防止该线程用于处理其他请求。如果一个同步请求成为 I/O 绑定(例如,如果它调用一个远程 Web 服务或查询一个远程数据库,并等待调用返回),那么分配给该请求的线程在调用返回之前处于挂起状态。这影响了可伸缩性,原因是线程池
菩提树下的杨过
2018/01/23
1.9K0
ASP.NET 2.0 中的异步页[来自MSDN]
ASP.NET 2.0 中 Web 事件
ASP.NET 2.0 还提供了全功能的应用程序监视和健康监视。这个系统是由一个完全可扩展事件模型和一个能将事件发送到多种接收器的事件引擎组成的。举例来说,您可以配置您的 ASP.NET 应用程序来每天发送电子邮件,表明服务器正在运行并且包括可用内存的数量。同样,您可以创建一个链接到未处理异常的健康事件。异常内容、请求标题以及时间和日期都可以被发送到一个错误日志记录数据库。 ASP.NET 2.0 包含了内置的事件,包括心跳、应用程序生存期事件(启动/停止/编译)和错误陷阱事件(未处理异常)。不过,,您可
张善友
2018/01/19
2.2K0
ASP.NET 2.0中GRIDVIEW排序
headertemplate中加一张UP.GIF和DOWN.GIF(就是升序,倒序的示意图)
Java架构师必看
2021/03/22
1K0
在sublime-text 中设置浏览器预览方法(2)
然后通过ctrl + k, ctrl + b打开侧边栏,在侧边栏的文件中右击,找到 open width -> edit applications
李维亮
2021/07/09
6550
在ASP.NET 2.0中使用样式、主题和皮肤
ASP.NET 2.0的主题和皮肤特性使你能够把样式和布局信息存放到一组独立的文件中,总称为主题(Theme)。接下来我们可以把这个主题应用到任何站点,用于改变该站点内的页面和控件的外观和感觉。通过改变主题的内容,而不用改变站点的单个页面,就可以轻易地改变站点的样式。主题也可以在开发者之间共享。
Java架构师必看
2021/03/22
3.5K0
我应该使用 PyCharm 在 Python 中编程吗?
Python 是一种广泛使用的编程语言,以其简单、多功能和庞大的开发人员社区而闻名。这个社区不断创建新的库和工具,以提高Python编程的效率和便利性。选择正确的环境来编写和调试 Python 代码可能具有挑战性,但 PyCharm 是一个很好的选择,从其他选项中脱颖而出。
很酷的站长
2023/02/20
4.7K0
我应该使用 PyCharm 在 Python 中编程吗?
在HTML网页中巧用URL
首先,先放出一个地址给大家测试 http://cnbruce.com/test/htmlpro/?name=cnbruce&email=cnbruce@126.com 1,时下流行的(可能是吧,因为最
Java架构师必看
2021/03/22
1.7K0
asp.net 2.0中的弹出对话框
在asp.net 1.1中,要做1个弹出的对话框的话,一般是在服务端的代码中这样写:
Java架构师必看
2021/03/22
2K0
如何在 ASP.NET Core 中重写 URL
所谓URL重写指的是更改当前执行的URL,将其指向另外的URL以继续处理当前请求或重定向到外部URL。在ASP.NET中我们可以使用HttpContext.RewritePath方法,但在.NET Core中它并不存在。下面我我们将学习重写和重定向之间的区别,和何时以及如何在ASP.NET Core 中使用它们。 实际开发中,常见的重写URL场景有如下四种:
喵叔
2021/12/05
3.2K0
Asp.Net MVC2.0 Url 路由入门
   本篇文章是初识Asp.Net MVC2.0 的后续的介绍。此文将从Routing未开放源代码开始,还会对Asp.Net的Url重写技术做个简单介绍。并简单介绍Asp.Net MVC2.0 Url路由技术的使用。
老马
2022/05/10
8710
kubernetes中为容器设置内核参数
注意:此方式如果使用了非安全内核参数,必须要先修改节点的kubelet配置,增加--allowed-unsafe-sysctls字段,并允许相关非安全参数,否则创建后,pod会报错SysctlForbidden,并大量不断创建pod,可能将集群搞挂
铜锣烧
2022/12/09
1.8K0
ASP.NET 2.0中Page事件的执行顺序
Page.PreInit Page.Init Page.InitComplite Page.PreLoad Page.Load Page.LoadComplete Page.PreRender Page.PreRenderComplete
Java架构师必看
2021/03/22
7280
在ASP.NET MVC中通过URL路由实现对多语言的支持
对于一个需要支持多语言的Web应用,一个很常见的使用方式就是通过请求地址来控制界面呈现所基于的语言文化,比如我们在表示请求地址的URL中将上语言文化代码(比如en或者en-US)来指导服务器应该采用怎
蒋金楠
2018/01/15
1.7K0
在ASP.NET MVC中通过URL路由实现对多语言的支持
thinkphp3.2.3中设置路由,优化url
需求: 访问这个目录的时候,http://xx.com/p-412313要重定向到(暂且这么叫)http://xx.com/Home/Blog/index/id/412313
全栈程序员站长
2022/07/07
1.2K0
thinkphp3.2.3中设置路由,优化url

相似问题

我可以在ASP.NET 2.0中使用Silverlight 2.0吗?

25

appsettings.json in ASP.net Core2.0预览配置GetSection null

33

DotNetCore2.0中appSettings.json中的SMTP设置

20

在appsettings.json内核中自动为开发和发布环境设置asp.net?

108

点网内核预览-2.0中的身份验证

39
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文