linux内核启动时每次都卡在mDNSDNS-SD Daemon处什么意思,也可以告诉我在内核什么地方可以关掉这个选项

linux内核启动时每次都卡在mDNSDNS-SD Daemon处什么意思,也可以告诉我在内核什么地方可以关掉这个选项,第1张

mdns嘛。就是zeroconf的协议。水果的。怎么会卡住?

通常是avahi的服务。类似

/etc/init/avahi-daemon.conf

看你什么系统,有些是init.d下。

服务在不同系统是不同的。有sysv upstart等。

分析/验证对比常见局域网服务发现协议在Windows/Linux/Mac等不同系统下的支持和表现

在使用不同系统的智能硬件时,如常见的树莓派/Openwrt路由器/Debian/Fedora/Windows/Mac等系统是,系统间相互发现以及

网络共享本应是系统的基础服务,无需用户过多参与.不过现实旺旺和理想之间的差距让我们惊讶,不同系统相互之间的发现以及

共享并没有那么轻松.

开发的硬件设备无法在常见系统的网络邻居正确的现实出来,实在是很丧气的事情.

那么,就系统来看看局域网服务发现协议在不同系统上的支持及表现.

想要访问局域网网络里面的设备,远没有应有的轻松. 每次新装系统或者设备入网,总是有这样或者那样的问题,哎,我的服务器啊,你在哪里.

先看看最简单和常用的ping工具,这么简单和实用的工具,简单的搜索竟然有 三千八百万 条记录

大名鼎鼎的树莓派,用起来想来应该更简单一些,可事实往往触目惊心,仅仅是ping通的问题,也有 三百万 的记录

![pdnas-raspberry-pi-ping]]( https://upload-images.jianshu.io/upload_images/14465021-53d02e74e1936079.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )

再来看看最常见的文件共享服务,也有 两千万 之巨

这都2120年了,为什么这么常见的服务还有这么多为问题呢.

干货放前面 各系统网络邻居正常工作的协议汇总:

Linux和Macos比较相似,但是实现起来还是有明显的差异,下文会具体描述.

Windows一如既往的走在自己的路上,网络邻居发现协议自搞一套.

Web Services Dynamic Discovery (WS-Discovery) WS-Discovery

下图是此协议的抓包

此协议和UPnP极其相似,都是基于SSDP协议衍生的XML表达的,如果不支持此协议,则无法在Windows10 的网络邻居里面显示为PC,无法直接点击访问共享.

支持此协议后,Windows10的网络邻居里面会在计算机类型的里面显示设备.

UPnP 是早期路由器常用的协议,目前从不同系统的验证来看,仅有Windows默认在文件浏览器里面支持,Ubuntu和MacOS都需要单独配置或者应用程序才能浏览.

这个协议目前各种路由器基本都能支持,不过其安全问题频出,作用并不明显.

此协议在Windows系列里面基本都能支持,会在网络邻居里面显示出设备的信息.

MAC整体表现和Linux比较接近,双方使用的协议也是类似,只是在细节处理上有些区别.

mDNS 协议本身应用比较广泛,MAC比较早就支持.在Mac新版本里面,网络邻居默认可以发现mDNS设备.

因为历史原因,早期的AFP协议升级后已经没有开源协议可以完美支持,因此使用avahi的mDNS服务时,如果还使能了AFP业务的话,MAC会显示为大问号.

使用配置好的服务文件,MAC可以正常显示设备

在调试过程中,还看到了网络邻居显示为PC的图标,有知道显示为这个图标的条件的小伙伴吗?

Server Message Block SMB 是MS家

的协议,奇怪吧:<>

Samba是*nix系统上的一个SMB协议的实现,是早期为了和Windows兼容文件共享而做的功能.目前MAC已经全面放弃自己的AFP协议转而投向SMB协议.

设备仅支持SMB协议而没有mDSN协议辅助的话,MAC也可以识别此系统,不过会显示为超级古老的图标.

Ubuntu系统的网络邻居可以自动发现mDNS服务并展示为不同的图标. 在Ubuntu 20.04里面,除去图标的不同,还增加了每个服务的描述.

同样的,Ubuntu系统天然支持SMB协议,但是SMB协议需要mDNS协议的支撑,否则无法显示在网络邻居里面.

除去前面流行并且工作的协议外,还有一些曾经使用但是已经废弃或者即将废弃的协议,在设备设计时,如果考虑兼容性,也同时需要支持.

SSDP是一个基础协议,UPnP以及WS-Discovery 都是基于这个协议来实现的.

Apple Filing Protocol AFP

Apple家的私有协议,开源有 netatalk 实现. AFP升级加密后,netatalk也不能和新版本的MAC兼容.

苹果已经全面投向SMB的怀抱,AFP基本上可以忽略了.

Network Basic Input/Output System NetBIOS 这个是Windows 9x/Me/XP等早期系统支持的名称解析协议,

类似于mDNS,新的Windows 10已经不建议支持此协议.

Link-Local Multicast Name Resolution LLMNR , 这个也是和mDNS竞争的失败者,主要聚焦于局域网的名称解析,可以直接忽略了.

前提回现

修改了主机名,由hyldb修改为hyl。

问题现象

配置监听,警告提示,如下所示:

解决方法

1、检查1521端口

[root@hyl ~]# netstat -a

--查看端口占用情况,查明1521端口并未被占用

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp0 0 localhost.localdomain:2208 *:* LISTEN

tcp0 0 *:sunrpc*:* LISTEN

tcp0 0 *:pftp *:* LISTEN

tcp0 0 localhost.localdomain:ipp *:* LISTEN

tcp0 0 localhost.localdomain:smtp *:* LISTEN

tcp0 0 localhost.localdomain:2207 *:* LISTEN

tcp0 0 *:ssh *:* LISTEN

getnameinfo failed

getnameinfo failed

tcp0132 [UNKNOWN]:ssh [UNKNOWN]:51492 ESTABLISHED

udp0 0 *:spmp *:*

udp0 0 *:659 *:*

udp0 0 *:37437 *:*

udp0 0 *:mdns *:*

udp0 0 *:sunrpc*:*

udp0 0 *:ipp *:*

udp0 0 *:mdns *:*

udp0 0 *:32372 *:*

Active UNIX domain sockets (servers and established)

Proto RefCnt Flags Type State I-Node Path

unix 2 [ ACC ] STREAM LISTENING 4226 @ISCSIADM_ABSTRACT_NAMESPACE

unix 2 [ ACC ] STREAM LISTENING 4938 /var/run/dbus/system_bus_socket

unix 2 [ ACC ] STREAM LISTENING 7578 @/tmp/fam-root-

unix 2 [ ACC ] STREAM LISTENING 5021 /var/run/sdp

unix 2 [ ACC ] STREAM LISTENING 5102 /var/run/pcscd.comm

unix 2 [ ACC ] STREAM LISTENING 5127 /var/run/acpid.socket

unix 2 [ ACC ] STREAM LISTENING 6197 /var/run/cups/cups.sock

unix 2 [ ACC ] STREAM LISTENING 6633 /var/run/avahi-daemon/socket

unix 2 [ ACC ] STREAM LISTENING 6473 /dev/gpmctl

unix 2 [ ACC ] STREAM LISTENING 4212 @ISCSID_UIP_ABSTRACT_NAMESPACE

unix 2 [ ] DGRAM1102 @/org/kernel/udev/udevd

unix 2 [ ACC ] STREAM LISTENING 6509 /tmp/.font-unix/fs7100

unix 2 [ ACC ] STREAM LISTENING 7135 /tmp/.gdm_socket

unix 2 [ ACC ] STREAM LISTENING 7165 /tmp/.X11-unix/X0

unix 2 [ ] DGRAM5161 @/org/freedesktop/hal/udev_event

unix 17 [ ] DGRAM4527 /dev/log

unix 2 [ ACC ] STREAM LISTENING 5152 @/var/run/hald/dbus-R5ibTGYpjn

unix 2 [ ACC ] STREAM LISTENING 5153 @/var/run/hald/dbus-1m4p21ErfG

unix 2 [ ACC ] STREAM LISTENING 4482 /var/run/audispd_events

unix 2 [ ] DGRAM7618

unix 3 [ ] STREAM CONNECTED 7581 @/tmp/fam-root-

unix 3 [ ] STREAM CONNECTED 7580

unix 3 [ ] STREAM CONNECTED 7571 /var/run/dbus/system_bus_socket

unix 3 [ ] STREAM CONNECTED 7570

unix 3 [ ] STREAM CONNECTED 7448 /tmp/.X11-unix/X0

unix 3 [ ] STREAM CONNECTED 7447

unix 3 [ ] STREAM CONNECTED 7364 /tmp/.X11-unix/X0

unix 3 [ ] STREAM CONNECTED 7363

unix 3 [ ] STREAM CONNECTED 7261 /tmp/.font-unix/fs7100

unix 3 [ ] STREAM CONNECTED 7260

unix 3 [ ] STREAM CONNECTED 7217 /var/run/pcscd.comm

unix 3 [ ] STREAM CONNECTED 7216

unix 3 [ ] STREAM CONNECTED 7264 /tmp/.X11-unix/X0

unix 3 [ ] STREAM CONNECTED 7190

unix 3 [ ] STREAM CONNECTED 7177 /var/run/acpid.socket

unix 3 [ ] STREAM CONNECTED 7176

unix 2 [ ] DGRAM7163

unix 3 [ ] STREAM CONNECTED 6636 /var/run/dbus/system_bus_socket

unix 3 [ ] STREAM CONNECTED 6635

unix 3 [ ] STREAM CONNECTED 6630

unix 3 [ ] STREAM CONNECTED 6629

unix 2 [ ] DGRAM6627

unix 2 [ ] DGRAM6467

unix 2 [ ] DGRAM6426

unix 2 [ ] DGRAM6379

unix 2 [ ] DGRAM6324

unix 2 [ ] DGRAM6109

unix 2 [ ] DGRAM6068

unix 2 [ ] DGRAM5958

unix 3 [ ] STREAM CONNECTED 5930 /var/run/dbus/system_bus_socket

unix 3 [ ] STREAM CONNECTED 5929

unix 3 [ ] STREAM CONNECTED 5903 @/var/run/hald/dbus-R5ibTGYpjn

unix 3 [ ] STREAM CONNECTED 5902

unix 3 [ ] STREAM CONNECTED 5896 @/var/run/hald/dbus-R5ibTGYpjn

unix 3 [ ] STREAM CONNECTED 5893

unix 3 [ ] STREAM CONNECTED 5738 @/var/run/hald/dbus-R5ibTGYpjn

unix 3 [ ] STREAM CONNECTED 5737

unix 3 [ ] STREAM CONNECTED 5714 /var/run/acpid.socket

unix 3 [ ] STREAM CONNECTED 5713

unix 3 [ ] STREAM CONNECTED 5708 @/var/run/hald/dbus-R5ibTGYpjn

unix 3 [ ] STREAM CONNECTED 5707

unix 3 [ ] STREAM CONNECTED 5156 @/var/run/hald/dbus-1m4p21ErfG

unix 3 [ ] STREAM CONNECTED 5155

unix 2 [ ] DGRAM5101

unix 3 [ ] STREAM CONNECTED 5016 /var/run/dbus/system_bus_socket

unix 3 [ ] STREAM CONNECTED 5015

unix 2 [ ] DGRAM4987

unix 2 [ ] DGRAM4977

unix 3 [ ] STREAM CONNECTED 4942

unix 3 [ ] STREAM CONNECTED 4941

unix 3 [ ] STREAM CONNECTED 4900

unix 3 [ ] STREAM CONNECTED 4899

unix 2 [ ] DGRAM4798

unix 2 [ ] DGRAM4543

unix 3 [ ] STREAM CONNECTED 4473

unix 3 [ ] STREAM CONNECTED 4472 <span style="font-size:14px"></span>

2、检查hosts

[root@hyl ~]# vi /etc/hosts

修改前:

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 hyldb localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

192.168.56.101 hyl

~

~

~

--由于修改了主机名(hyldb修改为hyl),将之前配置中hyldb内容删除

修改为:

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

192.168.56.101 hyl

~

~

~

~

3、检查network

# vi /etc/sysconfig/network

--确认添加了如下信息

NETWORKING=yes

HOSTNAME=hyl

4、检查ipv6是否关闭

查看ipv6状态,查看其是否被关闭

[root@hyl ~]# lsmod |grep ipv6

ipv6 435105 17 cnic

xfrm_nalgo 43333 1 ipv6

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

补充:关闭ipv6方法

1) # vim /etc/modprobe.conf

在其中加入下面这一行,

install ipv6 /bin/true

保存并退出。

2)# vim /etc/sysconfig/network

在其中加入下面配置项:

NETWORKING_IPV6=no

IPV6INIT=no

重启后查询:

[root@hyl ~]# lsmod |grep ipv6

--没有显示ipv6相关信息,表示ipv6已经关闭

5、重启系统后,查看hostname

[root@hyl ~]# hostname

--查询主机名

hyl

6、再次执行netca

配置监听、dbca建库成功。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7389979.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存