December 2010 Archives

ZFS的自动化备份

| No Comments | No TrackBacks

主任说:冗余不做,日子甭过;备份不做,十恶不赦。

以前一直是每天手动给自己的新服务器做备份,最近找时间写了一套脚本来自动完成这个事情。

脚本没啥复杂的,大体的思路是这样:

  1. 在源上根据日期命名生成一份新的快照;
  2. 将上次备份机器收到的快照和新快照之间的差异 pipe 给 xz,然后再把结果pipe给ssh(使用key验证),传到备份机上;
  3. 备份机解压缩、zfs receive之后,如果成功,ssh到源系统上记录自己拿到的那个新的快照日期;

由于是通过 Internet (从AS6939送到AS33651)传递快照,所以使用了压缩。用ssh来完成传输的考虑主要是因为它能够做到互相验证身份。

一个简单的密码生成器

| 2 Comments | No TrackBacks

我个人比较喜欢复杂的随机生成的密码。是一个JavaScript的密码生成器,完全裸奔的界面,可以自行设定字母、数字和特殊符号出现的概率(默认是字母=3×52,数字=7×10,特殊符号2×27,或者78:35:27的关系)。

使用方法很简单,设置参数之后按Generate按钮,系统会随机生成希望数量的随机密码。然后从里面挑一个自己觉得容易记住的就可以了。

由于全部计算是在客户端完成(可以自行查看代码来验证),因此可以将其复制到任何支持网页的地方使用(采用任何GPL授权的软件除外)。

FreeBSD基金会年终募捐

| 1 Comment | No TrackBacks

再发一次。

FreeBSD基金会是符合美国税法501(c)3款的非盈利慈善机构,它为 FreeBSD 的开发以及全球范围内的开发者会议活动提供资助,并帮助 FreeBSD Project 的开发人员提供法律咨询。

FreeBSD基金会今年的捐款目标是 $350,000,目前已经募集到$226,066的捐款。即使是小额捐款也可帮助 FreeBSD 基金会,在美国纳税人通常还可在一定程度上抵税。

捐款网址: http://www.freebsdfoundation.org/donate/

其他信息请参见 捐款将用来做什么基金会2010年12月公告如何申请资助基金会财报

IPv4终于快用完了

| 7 Comments | No TrackBacks

在很久很久以前就有人提出IPv4将要用完的事情,然而当时IPv4地址空间还很充裕,而且NAT还没有非常广泛地使用。于是这事说着说着就变成了一个狼来了的故事,不停地有人嚷嚷IPv4地址要用完了,而这个用完的日期则在600天、400天和300天附近的时候反复来回地拉锯了很久。

和狼来了那个故事稍微不太一样的是,喊狼来了的那些人,例如大的IPv6 ISP和运营商已经早早做好了准备,而那些把这故事当做狼来了而毫无警惕的人则只好手忙脚乱地应付了。

阿宅的一大恶趣味是喜欢仅仅因为"Because we can"而去做一些事情,我也是。我自己的网站的第一个DNS AAAA记录是2007年7月31日创建的,而FreeBSDChina.org于2007年8月4日也已经开始在IPv6上提供服务。由于当时条件所限,在当时我能够使用的唯一的测试手段是登录到一台位于北美的有双栈支持的测试服务器来进行测试。到了北美以后,因为这里的住户 IP 地址是很少发生变化的,我开始在家搭建 IPv6 路由,到后来在北美地区托管了一台服务器,基本上一直都是以双栈的方式接入Internet了。目前,我拥有两个/48的IPv6地址段和两个/64的IPv6地址段。

时间过得很快。今年年初的时候我看到了一个报道说 IPv4 地址大约还剩不到1年了,于是开始关注相关的报道。根据 Hurricane Electric 的估算,今天距离 IPv4 中央地址池的地址耗尽还有大约 47 天。中央地址池的耗尽对最终用户并不会产生立即而直接的影响(总有各种各样的办法来减少IP地址的占用,大企业或者ISP可以用NAT,双层甚至三层NAT等技术来减少实际使用的IP,等等),但是无论如何,我们之前所熟悉的那个互联网的日子已经所剩不多了。

这其实是一个很严肃的话题。

我在酒店或者提供免费wireless访问的地方一般都会拨VPN回家/公司,然后通过那里的路由访问Internet。这个习惯不能完全消除运营商进行的攻击,但能减少能够实施这种攻击的人的范围。

许多地方会提供免费或收费的 Internet 服务给访客,以方便{会议,旅行,占小便宜,蛋疼}等各种心态的人群的需要。但是,这些地方的网络有时会有一些问题,例如,为了方便,往往它们并不会设置任何访问控制手段,或使用公共的密码。

攻击者可以携带一个提供Internet访问的无线接入点,将其配置成与那个公共的无线接入点采用同样的认证方式。例如,这个人可能在隔壁的房间,很明显,在使用那些认证信息时,你的计算机有很大的可能会连接到攻击者提供的接入点。在你的系统看来,攻击者此时具备与运营商相同的地位:他可以劫持DNS【实际上,第一次访问Internet时弹出的那个登录页面通常就是通过DNS劫持来实现的】,替换你访问的网站(比如银行,邮箱,等等),或进行更复杂一些的攻击,例如通过劫持某个子站来进行XSS,等等。

拨VPN回家可以避免受到这类攻击的侵害:你和VPN服务器要互相做身份验证,并且对通讯内容进行加密。

当然,这样做并不能阻止你的VPN服务器的Internet提供者进行的攻击,但是,相对来说,这类攻击要更容易追查(因为你知道应该去找谁)。

我完全无法理解为什么会有人愿意被一个应用程序绑住。无非两种情况:一种是这个应用程序是花钱买来的,一种是这个应用程序没花钱。花钱买来的程序,没啥可废话的,直接要求对方提供就好了。如果不是花钱买的,可选的东西那么多,为什么非得选那么一个破玩意呢?

吐槽完,推荐一个网站: http://www.showmycode.com/。你懂的。

用 OpenVPN 提供 IPv6 服务

| No Comments | No TrackBacks

有时,会有需要接入远程的 IPv6 网络。例如,办公或网吧等环境可能不提供 IPv6 接入的条件,或者需要接入更高安全级别的网络等等。

使用 OpenVPN 提供 IPv6 服务需要的条件包括:

  • 使用支持 IPv6 的操作系统,如 FreeBSD
  • 提供服务的机器以某种方式接入 IPv6 网络,并拥有一定尺寸的地址块;接入方式可以是 native 的,也可以是通过 tunnel 获得;
  • 提供服务的机器加载了以太网隧道协议模块(if_tap);
  • 提供服务的机器启用了 IPv6 路由功能(/etc/rc.conf中配置了ipv6_gateway_enable="YES");
  • 提供服务的机器启用了某种 IPv6 自动配置机制,例如启动了 rtadv;
  • 接入的机器支持IPv6。
一些关键的配置

在 tap0 上配置一个固定的 IPv6 地址。例如,你的 IPv6前缀::1/64。

在 /etc/rtadvd.conf 中配置:

tap0:\
        :addr="你的IPv6前缀::":prefixlen#64:

此处64为用于VPN的前缀长度。

OpenVPN配置为使用tap设备。

OpenVPN需要有一个 up 脚本,类似这样:

#!/bin/sh
/sbin/ifconfig tap0 内网IPv4地址/掩码
/sbin/ifconfig tap0 inet6 IPv6地址 prefixlen 64

这个配置主要是为了避免在重启OpenVPN时丢掉网卡的IPv6配置。

客户端的连接后脚本大致如此:

#!/bin/sh
/sbin/ifconfig tap0 inet6 accept_rtadv auto_linklocal
/usr/sbin/rtsold tap0
安全考虑

需要适当配置防火墙以防止来自IPv6的攻击。许多系统的防火墙并没有针对 IPv6 进行必要的配置。

上张X7SPA-H路由器的图

| 2 Comments | No TrackBacks

应观众要求。

今天跟 刘老师 讨论交换机问题的时候想到的。记一下这条命令。

tcpdump -nn -v -i em0 -X -s 1500 -c 1 'ether[20:2] == 0x2000'

原則上,在 Internet 提供服務的機器,應提供對應的 whois 記錄,以便在出現問題時能夠與事主及時聯絡。北美地區的數字資源,例如 IP 地址、AS號等等,是由 ARIN 負責分配的。

對於比較小的地址塊, ARIN 通常並不直接分配(目前 ARIN 分配 IPv4 地址的最小單元是 /23)。往往這些小地址塊是從上游 ISP 獲得的,根據規定,上游 ISP 有責任為客戶註冊相應的信息備查。

在開始獲得 IP 地址之前,需要先到 ARIN 註冊 Web 賬戶和 POC Handle。POC Handle 隨後提交給 ISP 去做 SWIP 註冊。對應的表格是"ARIN-REASSIGN-DETAILED",填妥之後交給 ISP,由 ISP 去 ARIN 註冊。成功之後,在 ARIN 的 Web 賬戶裡就可以看到自己的 Org ID(未來在其他ISP也可以重複使用) 並進行管理了。

附帶說一句,ARIN在採用REST的Whois以後,whois信息的更新基本上是即時生效的了。在幾個月前,類似的操作需要多至一天才會反映到 whois 系統中。

以上。

Monthly Archives

Pages

OpenID accepted here Learn more about OpenID
Powered by Movable Type 5.2.3