Canary Workshop

ここから始めよう 世界を見にゆこう

配置 PowerDNS 权威 DNS 主服务器和 HE.net 从节点的问题及解决

想给一个域名启用 DNSSEC,平时用的 HE.net 并不支持 DNSSEC。其他免费 DNS 服务商要么不支持 DNSSEC,要么存在各种限制,找来找去没有找到很合适的。然而 HE.net 的 slave 模式(就叫“从节点模式”吧)支持 DNSSEC,那就搭个所谓的”hidden master”吧。

网上搭建教程有不少,这里不再赘述。我打算使用常见的 PowerDNS + PowerDNS-Admin 的组合,不过实际操作下来遇到了一些大大小小的问题,记录在这里备考。

使用 Gnuk 和 ST-Link v2 制作 GPG 硬件密钥

市场上常见的 GPG 硬件密钥(即 GPG 智能卡)主要是 YubiKey 和 Nitrokey,这些产品常常比较昂贵(对作为 GPG 密钥来说)。经过搜寻,发现了利用的 ST-Link v2 与 Gnuk 制作密钥的方案。在万能的某宝上 ST-Link v2 只需不到20元即可买到。ST-Link v2 的主要部分是一枚 STM32 芯片,同时搭配有 128KB 的存储空间(虽然设计上是 64KB,但实际上能买到的都是 128KB),正好可以存入 Gnuk 的二进制程序码。

自制 Tunnel Broker 服务

许多人都经常使用 Hurricane Electrics 提供的 Tunnel Broker 这项服务。我们可以通过其免费获得公网 IPv6 地址。但有时,这项免费服务并不是很适合我们的情况。比如本地通往 HE 的隧道服务器网络不佳,或者 HE 不提供我们需要的服务器位置。如果我们拥有 IPv6 地址块,则可以尝试自建 Tunnel Broker 服务。虽然维基百科上称 HE 的服务器部署方案是“Unknown”,从连接指令会发现其实就是 SIT 隧道而已,因此也是很好仿制的。这里我使用了/64 + /64 + /48大小的 IPv6 地址块尝试了模仿 HE 的隧道配置并取得了成功。

Linux 连接北邮校园网

事实上这篇文章是在折腾树莓派时写的。北邮校园网并不使用一般使用的 WPA2 的网络验证方式,且校园网内设备数量繁多,难以找到目标设备。因此文末附有一个超级简单的使用 Hurricane Electric Free DNS 的动态 DNS 脚本。

使用 HAProxy 实现单端口多服务

我们知道,默认情况下 HTTPS 服务监听443端口,而 SSH 监听22端口。是否可以将二者合在一个端口呢?例如,这样来规避仅能访问80或443端口的网络的限制。之前有使用 SNI Proxy 实现这个功能,即能识别为 HTTPS 的包传输给 nginx 而剩下的传输给 sshd 。那么,假如又增加了某种“没有特征”的流量转发工具呢?是不是无法使用一个端口了?

这里就要祭出一大神器 HAProxy 。虽然这样的转发不是其主要使用场景,但是使用 HAProxy 的功能是完全可以达到目的的。

实现的原理不论是 SSH 服务还是 HTTPS 服务,都拥有十分强烈的特征。如果对每个 TCP 数据包进行识别,按照一定特征对其进行转发,而完全无法识别的发送给特定程序,目的就实现了。

操作环境: Debian 9 x64

Debian 9下使用Bind9的分地区解析功能

自从去年CloudXNS翻车后,就逐渐将DNS挪到了HE.net,后来又迁移到自建的DNS上。但按国家、大洲甚至时区等解析的功能始终无法实现,于是就折腾了一下Bind9的GeoIP功能,总结了一下其中的坑,在这里记录详细的配置过程。

期望的目标:

  • 对于来自亚洲、欧洲、北美洲的请求分别返回服务器A、B、C的地址
  • 对于来自中国的请求无视上面的亚洲设置,直接返回服务器D的地址
  • 对于来自其他地区的请求,返回服务器E的地址
  • 措施一定的抗攻击措施

以下步骤在全新的Debian 9 x64上测试通过。

Debian下完整邮件服务器的安装、配置

几个月时间断断续续折腾出来了一台完整的邮件服务器,在这里记录一下安装流程以备参考。

真的很麻烦!真的很麻烦!真的很麻烦!
左转第三方邮件,右转iRedMail

套件组成主体:

  • Postfix - SMTP服务器
  • Dovecot - IMAP/POP3服务器
  • MariaDB - 数据库
  • SpamAssassin - 反垃圾邮件
  • ClamAV - 杀毒工具
  • RoundCube - Web端程序
  • nginx和PHP - Web环境
  • OpenDKIM - DKIM工具

本文使用全新安装的Debian 9 x64操作。

本文参考了中、英、日文互联网上的大量教程、博文、问答、讨论,其中主体部分参考DigitalOcean文档中的教程。本文最终希望打造一台拥有基础收发功能、抗垃圾、抗病毒、易用的邮件服务器。本文部署的服务均使用TLS,认为SSL证书和私钥分别位于/etc/ssl/mail/mail.crt/etc/ssl/mail/mail.key。安装时为方便操作,直接使用root用户执行命令。

下面开始安装吧