AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[avahi](server)

Martin Hope
George Hawkins
Asked: 2020-07-05 04:11:40 +0800 CST

avahi-resolve 解析 dig -p 5353 @224.0.0.251 不解析的主机名?

  • 0

我想avahi-resolve并且dig -p 5353 @224.0.0.251做了很多同样的事情。

但是,我有一个设备,我可以使用avahi-resolve但不使用来解析其名称dig:

$ avahi-resolve --name ding-5cd80b3.local
ding-5cd80b3.local  192.168.0.248

$ dig +short -p 5353 @224.0.0.251 ding-5cd80b3.local
;; Warning: ID mismatch: expected ID 60466, got 0

我也不能进行反向查找:

$ avahi-resolve --address 192.168.0.248
Failed to resolve address '192.168.0.248': Timeout reached

$ dig +short -p 5353 @224.0.0.251 -x 192.168.0.248
;; connection timed out; no servers could be reached

宣传其名称的设备是一个简单的物联网设备,因此我对它具有非常基本的 mDNS 支持(如果使用ESP-IDF 提供的mDNS 支持)并不感到惊讶。

我已经尝试对两者都使用详细标志,avahi-resolve并dig查看是否可以让我对正在发生的事情有所了解,但在这两种情况下,我都没有得到任何额外的见解。

我猜这ID mismatch意味着它dig实际上正在得到响应,但拒绝显示它,因为它将这解释为DNS 欺骗的情况,同时avahi-resolve更加宽容。

除了使用 Wireshark 之外,有什么方法可以让dig我变得更加宽容(我试过了)或者我可以看到这里发生了什么?+besteffort

我正在使用 Ubuntu,并且如前所述,有问题的设备正在使用ESP-IDF。

mdns dig avahi
  • 1 个回答
  • 327 Views
Martin Hope
Stephen L
Asked: 2019-11-21 15:58:38 +0800 CST

通过 DBUS 将 CNAME 发布到 Avahi 需要长期的过程

  • 0

我正在尝试在 Avahi 中设置 CNAME 以广播多个主机名。我在网上找到了各种各样的例子,它们都可以工作,但它们都需要长期的过程:

https://github.com/Dalee/avahi-cname-aliases/blob/master/avahi_cname_aliases/init .py #L83

    # run and stay foreground
    def run(self):
        self.set_handlers()
        self.load_aliases()
        self.publish_aliases()

        # keep aliases published
        while self.running:
            time.sleep(TTL)

https://github.com/george-hawkins/avahi-aliases-notes/blob/master/avahi-alias#L48

    for name in sys.argv[1:]:
        publish_cname(name)
    try:
        # Just loop forever
        while 1: time.sleep(60)
    except KeyboardInterrupt:
        print("Exiting")

https://public.msli.com/lcs/jaf/publish_cnames.c

/** cnames should be a NULL-terminated array of alias hostnames for this host.
  * Example invocation:  const char * cnames = {"foo.local", "bar.local", NULL}; PublishAvahiCNames(cnames);  
  * Note that this function normally does not ever return!
  */
void PublishAvahiCNames(const char ** cnames)

我已经确认,如果设置 CNAME 的过程结束,那么 CNAME 就会消失,但我在 avahi 或 dbus 上找不到任何文档来说明为什么这些工具需要永远存在。我的使用dbus-monitor并没有显示出任何明显的脚本为保持 CNAME 活着所做的事情。

有谁知道这些脚本正在做什么以使已发布的 CNAME 在 avahi 中保持活动状态?

avahi
  • 1 个回答
  • 321 Views
Martin Hope
Michael Hampton
Asked: 2012-07-18 20:34:26 +0800 CST

使用 avahi 连接到主机时出现错误:名称或服务未知

  • 4

我一直在创建和销毁虚拟机,以测试各种服务或应用程序,所以我想使用 avahi 通过它们的名称连接到它们,这样我就不必在脑海中占用宝贵的空间对于明天可能会消失的动态 IP 地址。这似乎并不总是有效。

我目前有两台 CentOS 6.3 虚拟机,都运行着 avahi-daemon,但无法通过名称访问其中一台。

问题机器:

error@underground ~ $ ssh nagios.local
ssh: Could not resolve hostname nagios.local: Name or service not known

工作机:

error@underground ~ $ ssh puppet.local
[email protected]'s password: 

但是我可以在网络上看到它:(地下是我工作的主机)

error@underground ~ $ avahi-browse -at
+    br0 IPv4 puppet                                        SSH Remote Terminal  local
+    br0 IPv4 nagios                                        SSH Remote Terminal  local
+    br0 IPv4 puppet [52:54:00:d0:31:c7]                    Workstation          local
+    br0 IPv4 nagios [52:54:00:93:ec:af]                    Workstation          local
+    br0 IPv4 underground [6c:62:6d:d1:df:ad]               Workstation          local
+ virbr0 IPv4 underground [52:54:00:8e:60:30]               Workstation          local

根据反馈,输出来自getent hosts:

error@underground ~ $ getent hosts nagios.local
error@underground ~ $ getent hosts puppet.local
192.168.12.146  puppet.local

在无法访问的虚拟机 nagios.local 上,avahi-daemon(显然)已安装并正在运行,我在防火墙上打了一个适当的洞:

 pkts bytes target     prot opt in     out     source               destination
   74 15950 ACCEPT     udp  --  *      *       0.0.0.0/0            224.0.0.251         state NEW udp dpt:5353 

nagios.local 上的系统日志让我完全不知道可能发生了什么:

Jul 18 04:24:18 nagios avahi-daemon[1384]: Leaving mDNS multicast group on interface eth0.IPv4 with address 192.168.12.132.
Jul 18 04:24:18 nagios avahi-daemon[1476]: Found user 'avahi' (UID 70) and group 'avahi' (GID 70).
Jul 18 04:24:18 nagios avahi-daemon[1476]: Successfully dropped root privileges.
Jul 18 04:24:18 nagios avahi-daemon[1476]: avahi-daemon 0.6.25 starting up.
Jul 18 04:24:18 nagios avahi-daemon[1476]: WARNING: No NSS support for mDNS detected, consider installing nss-mdns!
Jul 18 04:24:18 nagios avahi-daemon[1476]: Successfully called chroot().
Jul 18 04:24:18 nagios avahi-daemon[1476]: Successfully dropped remaining capabilities.
Jul 18 04:24:18 nagios avahi-daemon[1476]: Loading service file /services/ssh.service.
Jul 18 04:24:18 nagios avahi-daemon[1476]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.12.132.
Jul 18 04:24:18 nagios avahi-daemon[1476]: New relevant interface eth0.IPv4 for mDNS.
Jul 18 04:24:18 nagios avahi-daemon[1476]: Network interface enumeration completed.
Jul 18 04:24:18 nagios avahi-daemon[1476]: Registering new address record for 2001:db8:1600:80bf:5054:ff:fe93:ecaf on eth0.*.
Jul 18 04:24:18 nagios avahi-daemon[1476]: Registering new address record for 192.168.12.132 on eth0.IPv4.
Jul 18 04:24:18 nagios avahi-daemon[1476]: Registering HINFO record with values 'X86_64'/'LINUX'.
Jul 18 04:24:19 nagios avahi-daemon[1476]: Server startup complete. Host name is nagios.local. Local service cookie is 3129794608.
Jul 18 04:24:19 nagios avahi-daemon[1476]: Service "nagios" (/services/ssh.service) successfully established.

这两个安装之间的主要区别在于 puppet.local 是作为“桌面”安装安装的,而 nagios.local 是作为“最小”安装安装的,并且稍后安装了各种 avahi 相关包。

我不知道为什么我无法解析这台机器的名称。我错过了什么显而易见的事情?

更新:根据mgorven的推荐,我再次检查主机,发现没有nss-mdns安装。所以我安装了它,现在问题正好相反!从主机上看:

error@underground ~ $ getent hosts puppet.local
error@underground ~ $ getent hosts nagios.local
192.168.12.132  nagios.local
linux kvm-virtualization centos6 avahi
  • 1 个回答
  • 5719 Views
Martin Hope
JP Silvashy
Asked: 2010-03-22 13:45:35 +0800 CST

使用 Ubuntu 在启动时启动服务

  • 3

我不清楚如何在服务器启动时启动服务,我阅读了有关将脚本添加到的其他一些问题/etc/init.d,但这只是我需要在命令行中执行的一行:

sudo /etc/init.d/avahi-daemon restart

但是我对此有一些问题,首先,我显然需要使用 sudo,它给了我以下信息:

ngl-server-01:~% sudo /etc/init.d/avahi-daemon start  
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service avahi-daemon start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start avahi-daemon

但是当我尝试时,avahi-daemon start我得到:

Too many arguments

为什么是这样?你将如何启动这项服务?

更新

同样,如何在启动时挂载磁盘?

ubuntu avahi init.d
  • 3 个回答
  • 22856 Views
Martin Hope
Kami
Asked: 2010-02-07 11:57:25 +0800 CST

使avahi广告多台机器

  • 4

运行 avahi 的单台机器是否有可能通过 afp 通告其他机器共享文件?

我有不同的机器运行 Gentoo,但我不想在每台服务器上运行 avahi。

file-sharing afp gentoo avahi
  • 1 个回答
  • 2598 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve