Howto
共 127 篇文章。
如何:為北美地區 IP 地址增加 whois 記錄
原則上,在 Internet 提供服務的機器,應提供對應的 whois 記錄,以便在出現問題時能夠與事主及時聯絡。北美地區的數字資源,例如 IP 地址、AS號等等,是由 ARIN 負責分配的。
旧金山总领事馆换护照攻略
📜 本文内容可能已经过时,如有需求请自行 Google。
今天去 中国驻旧金山总领事馆 换了护照,这里记下过程,希望对别人有用。
需要准备的材料:
- 原护照原件。如果是正常换发,原护照所剩有效期应少于一年。
- 填妥的 护照申请表。
- 原护照复印件。主要是护照第一页、来美签证页、包含最后一次出中国入美国境记录戳页,以及 I-94。
- 除了上述材料之外我还附了 I-797 复印件以及原件。I-797的复印件和护照复印件钉在了一起。我的理解是如果有 I-20、EAD或绿卡,和I-797应该是类似的。领事馆的说明上要求携带这些材料的原件,但实际办理时并没有向我索要。
- 照片:中国签证处进门左手边可以拍照,会给4张照片(所交材料中需要两张),收费为 $10 现金。注意:咨询了 Mountain View, Redwood City 和 Sunnyvale 的 Costco 1 hour photo,由于规格和美国及印度护照所需的照片不一样(中国护照需要小二寸照片),他们都 不能 拍摄中国护照所需规格的照片。
- 所需费用:护照本身 $55,回邮手续费 $5,这两部分费用需要在邮局或银行先购买现金支票(Money Order),收款人title为"Chinese Consulate"。此外,如果不希望回去取的话,需要提前到邮局买好 Express Mail 或 Priority Mail 的信封并付邮资、写好地址。根据表格,UPS和FedEx的预付邮资信封也可以使用,我个人这次选的是 Express Mail。
具体过程如下:
如何:申请用于服务器SSL/TLS的X.509证书
📓 2015-03-05更新:本文中部分干货已过时,本文本身也不再更新。请参阅 这张作弊条。由于 ACME 协议的普及,现时通常只需生成密钥对即可。
SSL/TLS协议中,服务器证书是用于向客户端证明服务器身份的凭据,同时它还向用户提供了服务器的公钥,而服务器公钥则可以用来建立客户端到服务器的安全通讯(具体的通讯流程要比这个复杂,纯从技术而言,服务器的公钥主要用于与客户端进行会话密钥的协商)。
服务器的公钥只能确保拥有私钥的服务器(或人)能够解密信息,但它本身并不能确认服务器的身份。在实践中有很多种不同的方法来确保公钥确实来自受信任的服务器,在通常的SSL/TLS协商过程中,采用的方法是根据证书链来逐层验证公钥是否是有效的及其身份。简单地说,就是以安全的方法(例如安装光盘,或互相认证的签名等)事先将证书链上的某一个或某几个证书发给客户端,以便其验证最终用于服务器的安全证书。关于这一流程的具体细节,已经有很多文章进行了介绍,在此不再赘述。
如此,我们在实现采用SSL/TLS的服务器的时候,需要为证书准备的事项包括:
- 找到一家被客户端信任的、具备签发证书资质的发证机构。发证机构可以是根CA(对于浏览器来说,通常可以在安全选项中找到类似"查看证书"之类的选项),也可以是这些根CA认可的二级发证机构。
- 收集用于验证服务器身份的信息,例如服务器的FQDN,等
- 生成一对用于SSL/TLS的公钥/私钥。
有了这些信息,就可以制作证书申请(CSR)供发证机构去签名了。一般来说,发证机构需要首先验证申请人的身份信息,然后对CSR提交的信息进行核对和签名,并将签名之后的证书发给申请者,或供其下载。下面以 FreeBSD、OpenSSL 为例介绍从生成公钥/私钥对到签发、安装证书的全过程。
如何:为小于 /24 的 IPv4 网段实现反解析
以前一直以为这事必须由ISP以个案的方式去做,最近跟北美一家ISP接触加上查阅资料以后发现其实早就有办法,原理和普通的域名解析类似,也是可以使用delegate和glue去把解析权移交给持有IP的客户,从而减少ISP自己的负担,在这里记一笔。
网址缩短服务
前一段时间帮一个朋友做了一个非常简单的网址缩短服务,已经上线运行了一段时间,这里把当时设计的一些想法分享出来,等有时间我会把代码也发布出来,程序很简单,用 web.py 做的。
PlanetPlanet vs Python 2.6
On Python 2.6 we have a new ‘hashlib’ module, which superseded older ‘md5’ ‘sha1’ modules.
Therefore, importing ‘md5’ would give the following warnings:
DeprecationWarning: the md5 module is deprecated; use hashlib instead
This is quite annoying if you run PlanetPlanet in a cron(8) job and receive e-mail reports. In order to solve that, we can do some simple sed(1) replace over PlanetPlanet’s __init__.py:
s/import md5/import hashlib/g
s/md5\.new/hashlib.md5/g
That’s it! And PlanetPlanet will now happily work with Python 2.6.
解释一下DSR结构中服务器IP地址的配置
因为有人在我前一篇blog《使用DSR模式实现单IP服务冗余》里提了个问题,这里解释一下。
DSR比较常见的两种配置,一种是我之前文章中提到的禁止外网网卡ARP的方法,另一种是把虚拟IP绑定到lo0上。这两种方法各自有一些优缺点。一般来说,我喜欢用前一种方法。
ZFS实现快速部署(作弊条)
FreeBSD从8.0开始支持从ZFS引导系统,因此,可以使用ZFS的快照功能来实现快速部署。
新机器使用LiveFS启动,Fix it,CDROM。
使用DSR模式实现单IP服务冗余
FreeBSD支持以DSR(Direct Server Return,即服务器直接将流量通过路由器返回,而不经过负载平衡设备;俗称"单臂模式")模式提供服务。为了改善服务的可用性,可以使用这种方法来配置服务器。这种方法非常适合于大并发、大流量的环境。