Yosemite 中 Spotlight 搜索的快捷键

Mac OS 10.10.3(Yosemite)中,Spotlight 变得更好用的,直接在屏幕的当中显示一个大大的搜索框,并且搜索结果也有很好的展现效果,如下图:

只不过 Spotlight 的按钮在屏幕的右上角,一般不太容易按到。把鼠标慢悠悠地移到右上角,只是为了一个搜索功能,真是麻烦。不过呢,Spotlight 可以用快捷键唤出,这个快捷键呢?是“Command + 空格”。

咦?这不是切换输入法的快捷键么?对,Apple 不小心把两个快捷键设置成一样的了。一旦输入法开启之后,Spotlight 的快捷键就失效了。要更改快捷键设置,可以在“键盘”选项中,找到 Spotlight,然后选择一个没有用过的快捷键,比如我就设置成了 Command + T,如下:

DIY 博客域名解析(三)DNSSEC

DNSSEC,全称是 Domain Name System Security Extensions,它是一个 DNS 解析过程中的安全机制,用来保护 DNS 解析不被污染。传统的 DNS 解析依赖于服务器之间的信任,比如客户端 A 向服务器 B 查询 leonax.net 的 IP 地址,A 会完全信任 B 的应答;在这种情况下,如果 B 故意返回了一个错误的 IP 地址,A 就上当了,用户就无法正常访问本站了。在现实生活中,谁最爱干这种事,大家都很清楚了。

有了 DNSSEC 之后,Zone 的记录列表中会多一些项目,这些项目可以被用来验证服务器 B 返回的数据是否有效。如果客户端 A 在进行 DNS 查询的时候,发现 B 返回的数据不能通过 DNSSEC 的验证,则会抛弃这些数据,直接跳过 B 向权威 Name Server 发送请求。这样虽然查询的时间略长,但至少得到的数据是正确的,用户不会被误导到钓鱼网站去。

配置 DNSSEC 只需要在主服务器中改动,从属服务器则不需要太大的修改。

启用 DNSSEC

在 /etc/bind/named.conf.options 文件中添加下列参数,这些参数同样需要在从属服务器中添加:

创建 Zone Sign Key 文件

如果你的主机上没有安装 haveged,这个过程可能需要很少时间;如果装了的话,则瞬间完成。完成之后,会有类似如下的输出:

创建 Key Sign Key 文件

输出样例:

在 Zone 文件中添加上述的 Key 文件

上述两个命令会在当前文件夹下生成类似如下四个文件:
Kleonax.net.+007+40400.key
Kleonax.net.+007+40400.private
Kleonax.net.+007+62910.key
Kleonax.net.+007+62910.private

把这些文件复制到 /etc/bind/ 目录下,并在 db.leonax.net 文件中添加如下几行,注意文件名要和实际生成的文件名一致:

创建加密的 Zone 文件

这个命令会生成一个新文件:/etc/bind/db.leonax.net.signed,需要修改 /etc/bind/named.conf.local 来使用这个文件:

需要注意的是,db.leonax.net.signed 是一个自动生成的文件,不太方便修改,如果之后需要添加或删除记录,还是要修改 db.leonax.net,然后再次运行 dnssec-signzone 工具生成 .signed 文件。

检验配置文件

重启 bind9 之后,可以能过 dig 工具来验证 DNSSEC 已经启用:

样例输出:

更新 DS 记录

dnssec-signzone 工具会在当前目录下生成一个名为 dsset-leonax.net. 的文件,这个文件中包含了两条 DS 记录。

这两条记录需要在域名注册商那里更新。DS 记录的格式为 <Tag> <Algorithm> <Digest Type> <Digest>,在域名注册商那里一一填进去即可。需要注意的是,第二条记录最后一个空格是不需要的,即实际的 Digest 为“198303E265A856DE8FE6330EDB5AA76F3537C10783151AEF3577859FFFC3F59D”。

修改 bind9 的 UDP 输出大小

某些主机商限制了 UDP 通信的字节数(MTU),在使用了 DNSSEC 之后,bind9 的 UDP 包可能会被防火墙拦截掉,从而导致 DNS 查询失败。在这种情况下,要求修改防火墙设置,要么在 /etc/bind/named.conf.options 文件中添加如下参数:

通常防火墙的 MTU 设置为 1500,这里设置成 1024 就可以保证 UDP 通信不被防火墙拦截掉。

第三方检验工具

可以使用 VeriSign 提供的检验工具,或者 DNSViz 来检验,如果没有任何警告(Warning)或者错误(Error),则说明 DNSSEC 配置成功了。

DIY 博客域名解析(二)从属服务器

配置好了主域名服务器之后,就要来配置从属服务器了。如果只用一台服务器来做 Name Server,平时没问题,只是如果服务器不小心挂了,域名就解析不出来了。多用几台服务器,一来可以降低服务器下线的风险,还可以把几台服务器放在世界的各个角落,来提升解析速度。

从属服务器的配置比较简单,在 bind9 安装好之后,只需要设置几个 IP 地址。

在 /etc/bind/named.conf.local 文件中添加如下内容:

其中 file 可以是一个不存在的文件,只是为了保存从 master 过来的数据;104.155.216.90 是主服务器的 IP 地址;104.155.52.4 是本机 IP 地址。

另外,在主服务器上,需要做一点点修改,在 /etc/bind/named.conf.local 文件中 allow-transfer,如下:

这样表示主服务器可以把数据传给 IP 为 104.155.52.4 的主机,于是从属服务器就可以保存一份缓存,在主服务器下线的时候,持续解析域名。

然后还需要在 Zone 文件中写入新的 Name Server 地址,即在 /etc/bind/db.leonax.net 文件中添加:

然后重启两个服务器上的 bind9 服务即可。另外不要忘记添加新的 Glue Record 哦。

这一系列设置完成之后,可以使用在线工具校验一下,如果所有设置正都正确,得分应该在 90 以上。