Windows Server 2012 服务器出现这个问题有一段时间了,具体来讲就是一个应用程序打开了服务端口,绑定地址 0.0.0.0 (所有网络接口),防火墙入站设置正确,端口可以通过 localhost 或者 127.0.0.1 访问,但是无法通过局域网 IP 访问。

然后把端口改到 50000 以上又可以访问了。

今天跟这个问题较上劲了,一点一点改端口,然后发现 47000 以下基本上都无法访问,47001 就没问题了。顺着这个线索找到了故障的根本原因:DirectAccess/WinNat 默认占用 6001-47000 端口,用来做 IPv6-to-IPv4 转换

解决起来也很简单,重新分配一下 WinNat 占用的端口就好了。

Set-NetNatTransitionConfiguration -IPv4AddressPortPool @("192.168.1.100, 10000-47000")  

或者干脆卸载 DirectAccess(远程访问角色)。


多说几句,自从使用了 Raspberry Pi(后来改用 Orange Pi)来做家里的 DHCP/DNS/VPN 服务器,家里网络比之前灵活多了。Windows Server 2012 安安心心做文件服务器,各取其所长,各司其职,网络问题也少了很多。

虽然 root 掉了 OnHub,但是目前只能 telnet 进去。进去之后发现 OnHub 真是贫瘠,里面可以说是一穷二白,连个 GCC 都没有。

在网上找了个 ChromebrewGitHub),但是 OnHub 本身没有 xz,也没办法解压那些软件包。

于是问题变成了怎么样安装 xz,毕竟 OnHub 上连 GCC 都没有。

于是顺着 Chromebrew 找到了 chrome-cross,这个专门交叉编译 Chrome OS 软件包的项目。于是,拿来主义,fork 之后加上了 xz。

再之后就顺利多了。Chromebrew 用了 OnHub 上没有的 wget,解决办法就是 fork 之后用 curl 代替 wget。

把这些七七八八的都修改好之后,终于可以往 OnHub 里面安装软件包了。

export LD_LIBRARY_PATH=/usr/local/lib
crew install buildessential
crew install nano

传统的家庭网络

家庭上网,一般都是通过 ISP 的猫(modem)和一个路由器,这种传统已经维持了十几年,只不过是从十几年前的有线路由器演变成了后来可以提供 WiFi 的无线路由器。现在有些 ISP 会在自己的猫里面内置 WiFi,从而节省一台设备。但是 ISP 的猫性能参差不齐,所以像我这种比较在乎性能的人,一般都是将猫设置成桥接模式,然后使用自己的路由器。

但是 IoT(物联网)时代,联网设备增多,而且分散在家里各个角落,这对网络布设提出了新的要求。

  • 可以同时管理大量设备
  • 很大的无线信号覆盖范围
  • 足够的网络吞吐量

一般来讲,放置无线路由器的最佳地点是在房子的正中央。但是考虑到 ISP 的入户线路一般都在家里的一侧,这也限制了无线路由器的位置,家里很容易出现无线信号死角。比如说我家里,猫和路由器(Netgear R7000)就放在了房子的一个角上,房子对角线位置就是一个无线网络死角。这时候信号扩展产品就应运而生了。

WiFi 信号扩展器和接入点(AP)

要扩展 WiFi 信号,方法无外乎两种。要么用 WiFi 信号扩展器延展覆盖范围,要么干脆再加一个接入点,专门服务死角区。但是两个方法都有问题。WiFi 信号扩展器会影响无线网络性能,如果家里有需要高带宽的设备(如高清摄像头),比较好的办法是再加一个接入点。

所以,之前我买了一个 Google OnHub 拿来做接入点使用。但是在系统更新到 9000 版本之后,OnHub 的信号突然变弱了。我猜想可能是因为 Google 推出 Home 无线套装,为了让各个节点之间不互相干扰,人为降低了主路由器的传输功率。当然这只是猜测。不管怎么样,Google OnHub 的覆盖范围变小了。于是我就又尝试了几个接入点,都不尽人意。而且作为主路由器的 Netgear R7000 也出现短板。

家里面各式各样的设备林林总总加起来几十台,为了管理方便,我把设备分类,按类别给设备分配好了 IP 地址。但是 Netgear 路由器的最多才能预留 64 个 IP 地址(IP Reservation for DHCP),实际要分配 IP 有 77 个之多,现在主流三大厂商(Linksys、Netgear、D-Link)的设备都无法管理这么多 IP 分配。

我尝试将上古时期的 Netgear WNDR3700 刷上 DD-WRT 来绕开 64 个地址的限制,但是第三方固件就是第三方固件,运行不稳定,而且经常网络卡壳。我觉得有可能是硬件太老,拖不动这么庞大的网络,于是我又开始找商用路由器。

将设备放在正确的位置

商用路由器毕竟还是贵。我突然想到,Google OnHub 到底能预留多少个 IP 呢?

于是我将 Google OnHub 和 Netgear R7000 调了个位置,由 OnHub 当主路由器,R7000 作为接入点。果然,R7000 的功率相当强,覆盖整个房子没有任何问题,就连地下室角落里的摄像头都能流畅传送视频数据。而 OnHub 虽然在操作上比较麻烦,但是也顺利地加入了 70 多个预留地址。这样省了买商用路由器和商用接入点。

Google Onhub 的问题:

  • 不能关掉无线网络
  • 要预留 IP 地址,必须要设备联入网络才行,不能手工输入 mac 地址
  • 端口转发只能一个端口一个端口设置,不能设置端口范围转发
  • 不能设置子网网段,必须用 192.168.86.x
  • 不能设置 OnHub 的 IP 地址,必须用 192.168.86.1
  • 遇到过一次 DNS 停止工作(设置的是“使用 ISP 的 DNS 设置”)
  • 端口转发不靠谱,设置完之后不会立即生效

网络规模究竟能达到多大?

这个问题不好说。尤其是 IoT 时代,如果每个插座、每个开关都接入网络,并且都要分配 IP 的话,网络节点规模和数据规模就不是现在这些设备能处理的了。无线设备多了不仅会互相干扰,还会互相抢占传送时段,拖慢整个网络。有线设备增加则需要更精确的流量控制,使网络资源在各类设备之间达到平衡。

总之,十几年前的“一个路由器搞定一个家庭网络”的时代基本上已经结束了。如果要更好地优化家庭网络,不仅要增加接入点扩展网络覆盖,而且需要换一个更强劲的路由器来管理网络才行。

当一样东西变“智能”了之后,最大的变化就是售价变贵了。

举个例子,当我在选择“智能”窗帘的时候,带有 Z-wave 的窗帘全套下来大概要 CAD $500,而跟谁都连不通的 Lutron 报价快上 CAD $1000 了。于是,我当时选择了红外遥控的 BEME eRod,心想着自己用 CC2530 做一个 Zigbee-to-IR 桥接器不就好了。但是后来发生的事情就脱离了我的控制:找不到靠谱的 CC2530 IR 例程,而且深度开发工具 IAR 居然要收费。

然后我就想到了 Harmony,因为 SmartThings 支持 Harmony 集成,如果可以通过 Harmony 控制,也能达到预期效果。于是,我买了最便宜的(已经停产的)Harmony Link。结果发现如果要跟 SmartThings 集成,最低也要 Harmony Hub。好像扯远了,总之,Harmony Link 这个家族老前辈是不能用来智能家居的。

Harmony 的一大优点就是详尽的设备数据库。添加设备过程中可以直接从数据库中获取 BEME eRod 的红外指令,无需另外教红外指令。另外,我在客厅部署的 Philips Hue 灯泡也可以由 Harmony 直接控制。

这样一来,我只需要建立一个活动,把窗帘和灯泡都包括进去,再在合适的时间触发/关闭这个活动就好了。本来还想着用 SmartThings 来根据日出/日落时间触发,后来在建立活动的时候发现 Harmony 本身就有按时间触发功能,省了很多事,至少不需要去 SmartThings 的“云”上面走一圈了。

为了游乐间内照明需要,多加了一组灯,同时为了方便控制,便多加了一个开关。为了能让智能家居系统控制灯光,两个开关均选用 GoControl WD500Z-1 (Linear和2gig是同一个产品的另外两个品牌分支),Z-wave 协议的可调光开关。

本想着可以暂时将两个开关组合成一个三路开关,这是最简单的设置,以后再根据 Logitech Harmony 的场景进行配置。但是,这个三路开关已经搞得我焦头烂额。

说一下迄今为止我做过的尝试:

  1. 将两个 WD500Z 加入到 SmartThings 的 Z-wave 网络,通过 SmartApp(比如 Smart Lighting)实现联动。但是问题是延迟太大,第二个开关需要 6-10 秒才能点亮,因为开关本身就有两秒延迟(“渐亮”之后才会给 Hub 更新状态)再加上云端处理延迟。甚至我为此自己写了一个 SmartApp,利用 dim 100% 代替 switch on,虽然能快两秒(没有“渐亮”过程),但是延迟依然很大。

  2. 将两个 WD500Z 加入到 Staples Connect 的 Z-wave 网络,通过 automatic activity 实现联动。但是加入到 Staples Connect 之后发现,不能使用 WD500Z 作为事件触发条件。

  3. 使用 Aeon Labs Minimote 将两个 WD500Z 利用 Z-wave association 关联起来。但是实际操作的时候发现,无法关联两个开关,只能关联一个开关和一个配件(传感器或者类似 WT00Z 这类的附属开关)。

所以最后还是回到 SmartThings 解决方案了,虽然有延迟,但是至少可以实现联动。

拜 HENkaku 所赐,又把 PS Vita 拿出来耍了耍。

其实,想玩的游戏之前都买过了玩过了,这次 HENkaku 的意义,也就只是可以玩港版游戏(因为有官方中文翻译)和不想再重新购买的游戏(比如已经在 PS4 上买了《刺客信条编年史》三部曲)。

再多扯一点日本游戏。目前日本游戏已经日落西山,游戏理念落后、引擎不给力、点歪科技树可以说是日本游戏衰落的三大原罪。还好有砍瓜切菜的无双类游戏,虽然看起来傻,但是玩上手之后的爽快感的确让人欲罢不能。

《闪乱神乐》系列的卖点无非就是:妹子、巨乳、无双、换装。这次 EV 更是把“忍转身”的动画做到极致,加上多种多样的“摇摇终结技”,绅士感十足。伴随着一声声“夕诺碧·甜心”,神秘的卷轴,色气的过场,让角色和玩家的肾上腺素飙升。

阅读全文 »

WordPress 什么都好,就是太耗资源。我一个 AWS EC2 中型实例居然带不动,MySQL 总是因为资源使用过多被杀掉。网上给出的解决方法是开通 AWS RDS 数据库服务。但是这个网站本身就是个人记录性质,我根本不想再多花钱专门开个数据库服务。

于是,这两天一直在找轻量级的 Blog 系统。这次学乖了,一定要找确定持续开发的、耗用资源比较低的,而且方便迁移的。

轻量级的 Typecho 很对我胃口,先拿过来用着,只是之前整理过的代码、链接、附件什么的又要重新整理一遍了……

自从CES2015上看到Sony的超短距投影仪之后,我一直觉得超短距投影仪才是客厅大屏幕的最终选择。正好前几天看到Amazon上在卖Optoma的超短距投影仪,价格很亲民,就下单买了一台。

等了两个月,投影仪终于到货了。

这款号称能在55厘米距离投射100寸屏幕,亮度标称4000流明的投影仪,优点不用多说,既解决了HDMI走线问题,也适合在采光很好的客厅使用。

实际使用的时候,投影仪大概放置在距离墙50厘米至60厘米之间的地方。

这个距离的投射面积大概是95寸多。

实际使用中,在白天采光条件下一如既往地看不清,但是拉上窗帘之后图像还不错。

其实大多数看电视的时候都是在晚上。在对面有两个40W LED工作室灯照明的情况下,图像依旧可见,但暗色场景就看不清了。

不过,从另一个角度说,小孩子也不会害怕黑色场景了……

综合来看,Optoma这台投影仪基本上能满足客厅需要。

曾经,年轻的我很喜欢小众的东西,iPod啊什么的,总给人站在时代前沿的感觉。

但是随着时间流逝,小众也给生活带来了很多麻烦。

比如说,Blackberry最终还是死了。再比如说,这次花很大力气从Sablog转移到Wordpress

小众是一种执念、一种态度,也是一种赌博。

小众也是走向成功,也可以慢慢消亡。

但是大众,也并非一路平坦。

互联网给我们带来了一个问题,就是数据到底属于谁。

那些提供免费博客功能的网站,目前还在运作的已然不多。微博这类的新媒体平台又能撑多久呢。当你发现你上传的照片已经被压缩,自己的博文必须要付费/加广告才能阅读的时候,也就意味着互联网免费模式将要分崩离析。

昔日的大众,在商业化的运作下,依仗大量的用户资源,尽最大能力榨干用户的价值。

这次转移网站系统花费了我大量的精力,目前仍在修复固定链接和图像引用。之前四处开设的各种博客,日后也将合并到这里。这是选择小众的代价、相信大众的后果。

不管大众还是小众,我所需要的只不过是自己掌控。

在小A发布了最后一个Sablog-X版本(2.0 build 20120305)四年之后,我终于下定决心把网站换成Wordpress。倒不是说Sablog不能用,只是没有更新总让人心里没底。而且也没有人更新模板了。

从网上找到 Maker原创 Neeao修改 的Sablog-X 2.0 build 20100301 => Wordpress 3.5.1脚本,拿来用了一下,发现在新版PHP环境下不能正常运行。修复了一下脚本,终于把网站转换成Wordpress了。

之前的帖子可能还有些排版问题,固定链接可能也需要修正,但是暂时用着没问题就行了。

顺便,修改后的转换脚本我放到GitHub去了,需要的戳这里


这个网站会一直运行下去,也算是在网络上证明我的存在吧。

而这个网站的内容,依旧是以笔记为主,不时再发些牢骚、分享一下新鲜事,记录日常工作生活的点点滴滴。


[2016-07-28] 将更新状态合并如下

  • 修复本站内容(附件、固定链接、文章格式、内容链接等等) [2016-07-27 Done] 部分链接无法找到历史镜像
  • 合并MSN Space(现wordpress.com) [2016-07-28 Done]
  • 合并网易博客 [2016-07-29 Done]
  • 合并新浪微博(长微博) [2016-08-08 放弃,已合并2014-09-28之前的微博]

From new game to cut scene.

The setup is

  • Mushkin Reactor 1TB SSD MKNSSDRE1TB
  • Collective Minds Xbox One Media Hub (USB 3.0 to SATA II using Initio INIC-3609 controller)