raspberrypi.local 为什么可以ping通以及ssh登录?它是如何被解析的?又如何改变?

6 篇文章 1 订阅
3 篇文章 0 订阅

初次拿到raspberry pi zero。只有一根usb线,但在打开usb网卡模式后就可以使用

ssh pi@raspberrypi.local

进行登录,我们并没有做相关设置, 我们的电脑(mac部分linux)是如何知道raspberrypi.local所对应的ip的?为什么解析的不是互联网中的设备而刚刚好就是我们手中的小小树莓派?带着疑问首先我们来了解一下后缀是.local的域名有何特点。wiki中对于.local是这样介绍的:

Networking device hostnames ending with .local are often employed in private networks, where they are resolved either via the multicast domain name service (mDNS) or local Domain Name System (DNS) servers

大致是说.local结尾的设备主机名大多数使用在私有的网络中也就是局域网中,并且该主机名是通过mdns(多播域名解析服务apple的)或本地域名服务系统来解析(有一个微软的 Link-local Multicast Name Resolution (LLMNR)兼容性和安全性都很差)。由此可以看出raspberrypi.local应该是有本地局域网中的某主机名解析系统所解析出来的。其实wiki中还说道

implementing zero-configuration networking (zeroconf) have become increasingly common

多播主机名解析服务的另一个重要特性就是zeroconf–零配置,也就是说不用人为做任何配置开启mdns的设备在接入局域网时会自动发送组播消息给局域网中所有主机,告诉它们自己的域名和ip。这也就是为什么我们可以直接ssh raspberrypi.local登录树莓派的原因,在树莓派zero Raspbian中其开机自启了mdns服务,名为Avahi可以使用命令

sudo systemctl status avahi-daemon.service

检测

pi@raspberrypi:~ $ sudo systemctl status avahi-daemon.service
● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
   Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor pre
   Active: active (running) since Tue 2018-06-26 01:17:59 UTC; 55min ago

同时mac电脑也是自带了该服务(方便多了,windows上可以安装itunes或者苹果的Apple’s Bonjour Printer Service helper app这些会在windows上开启mDNS/Bonjour的支持)。好了基本上就介绍了raspberrypi.local是如何被解析的了。接下来来尝试改变这个主机名,毕竟当我们有多个树莓派的时候,使用同一个主机名就gg了。更改主机名也十分简单只要编辑两个文件

/etc/hosts
/etc/hostname

把文件中的raspberrypi改成你想要的名字就行,然后用

sudo /etc/init.d/hostname.sh

提交改变,最后reboot。 就可以使用ssh pi@“刚刚改的名字”登录树莓派了

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值