我刚刚设置了一个新的 AirPort Extreme 和 CentOS 6.2 服务器 - 该服务器是一个通用存储机器,所以我在上面设置了 Samba 和 Avahi。我可以从运行 OS X Lion 的 MacBook Pro 上通过 IP 地址轻松访问服务器,但尝试通过名称解析服务器 - 从终端ping
在连接提示符 ( smb://my-server/
) 中 - 不起作用。
我需要采取任何特定的配置步骤吗?如何从 OS X 通过名称访问服务器?
答案1
大多数 Linux 发行版上对 mDNS 和相关发现服务的支持已经有一段时间了。静态 IP 或固定主机名无法针对云/快速部署/Vagrant 进行扩展。理想情况下,云初始化工具中有一些很好的黑客技术,并且还可能在首次启动时基于字符串模板生成唯一的主机名(以及重新封装脚本)。
无论如何,这是让 mDNS 适用于大多数主要操作系统的简单方法。
在 CentOS/RHEL/Fedora 上:
su - -c 'yum install -y avahi avahi-tools nss-mdns ;
service avahi-daemon start'
在 Debian/Ubuntu 上:http://wiki.debian.org/ZeroConf
sudo su - -c 'apt-get install -y avahi-daemon avahi-discover nss-mdns ;
sudo invoke-rc.d avahi-daemon start'
在拱门上:https://wiki.archlinux.org/index.php/Avahi
echo 'You won't need hand-holding here I assume.'
全部:
好处是,这也可以让 mDNS 在 Linux 机器上以另一种方式工作,因此您通常可以以正确的方式开始 ping/ssh/etc 到您的 Mac。呜呜。avahi-browse --all
非常整洁。
不要忘记充当服务器的机器上的入站防火墙规则。
-A INPUT -d 224.0.0.251/32 -p udp -m udp --dport 5353 -m comment --comment "mDNS" -j ACCEPT
另外,使用 /etc/avahi/ 配置并重新启动守护进程。
顺便说一句,我正在 VMware Fusion 4.x 下为 MacBook Pro 上的客户端构建 CentOS 6.2 x86_64 最小设备。
也许有人会添加一些内容,以确保公告工作和服务发布(尤其是 ssh 和 web url)在 Mac、Linux 甚至 Windows 客户端上正常工作。
答案2
我将从苹果方面来尝试一下这个问题。 Jason 的评论非常正确 - 简而言之,问题更多的是如何使用来自 Mac 操作系统根本不常见的操作系统的 Apple 软件。
在 Apple 方面,您的 Mac 无需任何配置即可查看任何正在广播 SMB 的服务器,因此除了打开 SMB 守护程序之外,请确保没有防火墙阻止这些广播数据包,并确保两台计算机位于同一网段,以便广播数据包来回移动。您可以看到以下列表卓悦服务,如果您愿意,这也可能对您有帮助获取源代码、浏览文档并编译 bonjour用于您的 CentOS 服务器。
同样,Mac 只需连接到一个网络,您的服务器在该网络上通告(发送)数据包以宣布它将共享 SMB 或 bonjour 服务。
另一个方法是在 CentOS 服务器上运行 DNS,让你的 Mac 获取它的 DNS 记录,并且无论服务器是否主动共享,它都应该能够解析服务器名称。
最后,静态 IP 地址也可以工作,您只需将 CentOS 服务器的地址弹出到 /private/etc/hosts 中(在 Mac 操作系统上有一个 /etc 的符号链接指向 /private。)