+ -
当前位置:首页 → 问答吧 → [已解决]请教,最近在开机启动程序里发现一个新问题

[已解决]请教,最近在开机启动程序里发现一个新问题

时间:2007-08-23

来源:互联网

我的机器开机启动的第三方程序(default级别)有shorewall,sshd,syslog-ng等default下还有一个netmount不知道是什么,以前启动下面是一路绿*,

但最近,我发现,我把pppoe拨号net.ppp0加入了default级别以后,每次启动到最后总能看见三句带黄*的话“

代码:
netmount is scheduled to start when ppp0 has started !!
shorewall is scheduled to start when ppp0 has started !!
sshd is scheduled to start when ppp0 has started !!
从这字面上理解,貌似上面三个程序都必须等ppp0启动后方能启动,虽然从最后的结果来看,这三个程序都启动了,但是我有点疑惑的是,如果说前两个程序和ppp0有关联,那么sshd又怎么会和ppp0有关联呢?请教

作者: abcbuzhiming   发布时间: 2007-08-23

sshd是ssh daemon,网络服务
用过ssh么?

作者: zhllg   发布时间: 2007-08-23

引用:
作者: zhllg
sshd是ssh daemon,网络服务
用过ssh么?
他当然是网络服务,不过,问题在于,俺的网卡本身就已经配好了IP,也就是说,eth0是激活状态,这时sshd(如果说他真的需要依赖一个网络连接的话)已经可以用了,现在我不过是在default运行级别里加入了一个net.ppp0的拨号程序,我奇怪的是:难不成sshd如此“聪明”这么快就检测到系统有一个ppp0的连接,还一定要等ppp0启动了才启动自身?况且我曾经试验过就是先手动启动sshd再启动ppp0也是可以的,都可以工作,干嘛系统非要让sshd等待ppp0启动呢?这个机制问题让我感到挺好奇的,打个简单的比方(可能不恰当)——windows下的远程桌面服务从来就不依赖于网络是否连接上的

作者: abcbuzhiming   发布时间: 2007-08-23

因为你的ppp0启动之后,你才真正有了一个可以和网络上其他机器通信的地址
sshd必须在这个地址上监听,别人才能连的上你的ssh服务

作者: zhllg   发布时间: 2007-08-23

引用:
作者: zhllg
因为你的ppp0启动之后,你才真正有了一个可以和网络上其他机器通信的地址
sshd必须在这个地址上监听,别人才能连的上你的ssh服务
no,我本来就有两块网卡,两块网卡都设定了IP,在没有使用net.ppp0之前,我已经从能够从内网连接上我的ssh服务,我本来就不需要外网的人来连接sshd,这是其一,

其二,根据我的实际测试,sshd即使在ppp0之前就手动启动,ppp0启动后sshd仍然可以在ppp0的地址上进行监听,这是我实践得出的。shorewall也是如此,以前一直以为shorewall必须在ppp0启动后启动才能完成nat功能,可经我实践,即使在ppp0之前启动,最后也能完成nat功能

作者: abcbuzhiming   发布时间: 2007-08-23

引用:
作者: abcbuzhiming
no,我本来就有两块网卡,两块网卡都设定了IP,在没有使用net.ppp0之前,我已经从能够从内网连接上我的ssh服务,我本来就不需要外网的人来连接sshd,这是其一,

其二,根据我的实际测试,sshd即使在ppp0之前就手动启动,ppp0启动后sshd仍然可以在ppp0的地址上进行监听,这是我实践得出的。shorewall也是如此,以前一直以为shorewall必须在ppp0启动后启动才能完成nat功能,可经我实践,即使在ppp0之前启动,最后也能完成nat功能
其一,我不知道你的网络情况。我假设你只有一个网卡。如果你有两块,当然另当别论。

其二,刚才查了一下默认sshd应该是监听 *:22 的。你的这个问题实际上恐怕就和 /etc/conf.d/rc 里的 RC_NET_STRICT_CHECKING 有关了。sshd是依赖于net服务的,如果你的这个设置成了yes,那么只有在所有的net.*脚本启动后,sshd才会启动。我是设置成no的。

作者: zhllg   发布时间: 2007-08-23

引用:
作者: zhllg
其一,我不知道你的网络情况。我假设你只有一个网卡。如果你有两块,当然另当别论。

其二,刚才查了一下默认sshd应该是监听 *:22 的。你的这个问题实际上恐怕就和 /etc/conf.d/rc 里的 RC_NET_STRICT_CHECKING 有关了。sshd是依赖于net服务的,如果你的这个设置成了yes,那么只有在所有的net.*脚本启动后,sshd才会启动。我是设置成no的。
检查了一下RC_NET_STRICT_CHECKING 参数并且研究了一下他的说明,确认,你说的第二点很对,谢谢

作者: abcbuzhiming   发布时间: 2007-08-23