作者文章: Fenng

突破电信大亚 DB120-WG 路由限制

根据有关部门的规定,电信宽带一个账号只允许一台电脑上网,一般电信会「借给你」一台功能落后的Modem(并且用户自买的Modem无法拨号),甚至还禁止掉路由功能。这无疑给绝大多数宽带用户带来不变,你要多台机器上网,至少要添加一台路由器,费钱费电,更不环保,线路也会乱糟糟的。

近日在微博投诉电信,宽带保修的时候将我原来出故障 Modem 带走了,留下一个旧 Modem 给我, 这个 Modem 自身不具备无线功能,于是要求电信将我之前同样型号的送一个回来。过了一天,在家门口门洞里(维修人员和我约好放在那地方)发现了一个Modem,大亚 DB120-WG,很破,一层灰,这些都不是问题,毕竟这台机器有无线 AP 功能。

网上可以找到,这款机器默认的超级用户和口令是这样的:

用户:telecomadmin
密码:nE7jA%5m

机器背面有一个低权限的用户,useradmin 以及密码,不过登录之后基本没什么权限,设置 PPPOE 的地方都没有。狗日的电信,非要做功能上的阉割。

我要达到的目的:

  • 通过这台 DB120-WG 进行 ADSL Modem 拨号,也就是说,PPPOE 拨号在这台机器上进行,而不是再另外增加一台路由器;
  • 激活路由功能,默认是禁止掉的;
  • 设置一个个性化的的无线 AP 热点,默认带有一个前缀 ChinaNet;
  • 禁止掉一些隐含的风险,比如禁用电信TRC069远程管理。

机器先不要接电话线,将笔记本(或是台式机)直接和 Modem 上的网络口相连,笔记本本地的 IP 可以设置为 192.168.1.2, 然后访问 Modem 的默认IP: 192.168.1.1。

如果没有人以前修改过默认的密码,应该可以用 telecomadmin 登录进去,找到「网络」 -「宽带设置」,默认有一些配置,杭州地区应该用 8-35(VPI/VCI)的配置进行修改,模式选择路由,注意选择 PPPOE,然后在下面输入你自己的 ADSL 账号。绑定设备则是全选,四个网口以及无线。NAT 那个也选上。保存,重启动。

如果有人修改过默认的 telecomadmin ,这是比较操蛋的事情。需要恢复到默认的出场设置。比较简单的方式是下载 一个 ctce8.cfg 文件(这破文件还真不好找),改名为 ctce8_DB120-WG.cfg , 放到 U 盘根目录下;再在U盘根目录下弄个 e8_Config_Backup 目录,将该文件也扔一份进去。然后将 U 盘插在 Modem 上,重启,会恢复到默认模式,你可以用 telecomadmin 和默认口令登录进去,你不放心这份 ctce8.cfg 的话,在「管理」-「设备管理」,找到恢复「出厂模式」。然后会到一个比较干净的状态。

关于后两个目标,网上介绍有不少方式,都麻烦,最快捷的是这样做:

浏览器访问:http://192.168.1.1/backupsettings.conf

会直接下载 backupsettings.conf ,这是个可读的配置文件(而非 base64 编码的文件), 用文本编辑器打开 该文件, 查找 ChinaNet , 修改自己定义的 AP , 比如 FuckGFW . 再找到默认的那个无线密码,修改为你自己设定的密码。很重要的一点是你要修改掉默认的一些用户名和口令信息。搜索 UserName ,看一下就明白了。不知道修改密码,修改用户名也成,尽管这样不是彻底的安全。

禁用电信TRC069远程管理:找到 tr69c 那一行,将state=”enable” 修改为 state=”disable” ,为了保险,再将后面的 Chinadsl.net 修改为 FuckGFW.net 。

浏览器访问:http://192.168.1.1/updatesettings.html

将修改过的 backupsettings.conf 传上去,等待重启动。然后接上电话线,不出意外,可以顺利访问互联网了。

还有必要做的是,访问:http://192.168.1.1/scsrvcntr.cmd?action=view ,将 telnet 和 ftp 等服务关掉。需要的时候再打开,都是用的默认口令,太他妈的不安全了。

最后的结论,要想痛痛快快上个网真他妈的折腾,难道突破电信 Modem 的限制也要成网民必备技能?去你大爷的有关部门,去你大爷的中国电信!

EOF

此文位于 Tech.Memo on by .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

Instagram 架构分析笔记

Updated: 2012 年4月10日凌晨消息,Instagram 被 Facebook 以10亿美金收购。团队规模:13 人。

Instagram 团队上个月才迎来第 7 名员工,是的,7个人的团队。作为 iPhone 上最火爆的图片类工具,instagram 用户数量已经超过 1400 万,图片数量超过 1.5 亿张。不得不说,这真他妈是个业界奇迹。

几天前,只有三个人的 Instagram 工程师团队发布了一篇文章:What Powers Instagram: Hundreds of Instances, Dozens of Technologies,披露了 Instagram 架构的一些信息,足够勾起大多数人的好奇心。读罢做点笔记,各种线索还是有一定参考价值的。能打开原文的建议直接读原文。

Instragram.png

Instagram 开发团队奉行的三个核心原则:

  • Keep it very simple (极简主义)
  • Don’t re-invent the wheel (不重复发明轮子)
  • Go with proven and solid technologies when you can(能用就用靠谱的技术)

OS/主机

操作系统的选择,在Amazon EC2上跑 Ubuntu Linux 11.04 (Natty Narwhal) ,这个版本经过验证在 EC2 上够稳定。因为只有三名工程师,只有三名工程师,所以自己部署机器到 IDC 是不靠谱的事情。幸好有亚马逊。

负载均衡

此前曾用过两台 Nginx 做 DNS 轮询承载前端请求,这样做会有副作用,现在已经迁移到Amazon的ELB(Elastic Load Balancer),起了三个 Nginx 实例,在 ELB 层停掉了 SSL , 以缓解 CPU 压力。DNS 服务使用 Amazon Route53 服务。

应用服务器

启用了 25 个 Django 实例,运行在 High-CPU Extra-Large 类型的服务器实例上,之所以用 High-CPU Extra-Large 实例是因为应用请求是 CPU 密集型而非 IO 密集型。

使用 Gunicorn 作为 WSGI 服务器。过去曾用过 Apache 下的 mod_wsgi 模块,不过发现 Gunicorn 更容易配置并且节省 CPU 资源。使用 Fabric 加速部署。

数据存储

用户信息、图片元数据、标签等大部分数据存储在 PostgreSQL 中。主要的 Shard 数据库集群有 12个节点。

实践中发现 Amazon 的网络磁盘系统单位时间内寻道能力不行,所以有必要将数据尽量放到内存中。创建了软 RAID 以提升 IO 能力,使用的 Mdadm 工具进行 RAID 管理。

管理内存中的数据,vmtouch 这个小工具值得推荐。

PostgreSQL 设置为 Master-Replica 方式,流复制模式。利用 EBS 的快照进行数据库备份。使用 XFS 文件系统,以便和快照服务充分配合。 使用 repmgr 这个小工具做 PostgreSQL 复制管理器器。

连接池管理,用了 PgbouncerChristophe Pettus 的文章包含了不少 PostgreSQL 数据库的信息。

TB 级别的海量图片存储在 Amazon S3 上,CDN 采用的也是 Amazon 的服务,CloudFront。

Instagram 也是 Redis 的重度用户,Feed 以及 Session 信息都用 Redis 处理,Redis 也是以 Master-Replica 方式部署。在 Replica 节点上进行数据备份。

使用了 Apache Solr 承担 Geo-search API 的工作,Solr 简单的 JSON 接口也不错。

缓存使用了 6 个 Memcached 实例,库使用 pylibmc 和 libmemcached。亚马逊也提供缓存服务-Elastic Cache service ,Instagram 也有尝试,不过不便宜。

任务队列/发布通知

队列服务使用 Gearman ,通知系统则使用 pyapns 来实现。

监控

前面提及的服务器实例数量加起来,的确有100多个,有效的监控是相当有必要的。使用 Munin 作为主要监控工具 , 也写了不少定制插件,外部监控用 Pingdom 的服务。通知服务使用 PagerDuty

对于 Python 的错误报告,使用 Disqus 团队开源的 Sentry 来处理。

几个感想

0)轻装上阵说起来容易,做起来非常难。这也是 Instagram 团队目前最令人着迷的地方;

1)Python 社区已经足够成熟,各个环节上都已经有不错的解决方案了。

2)如果要问我最大的一个感慨,我要说:Amazon 真是一家伟大的公司,甚至比 Google 还伟大

EOF

此文作者:, 位于 Arch 分类 标签: , on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

对 Pinterest 类应用的一点思考

最近一段时间 Pinterest 类应用相当火爆,引发了不少讨论。我自己最近也一直在使用花瓣 ,也在捉摸为什么这一类应用这么有魔力。知乎上有个问题是: Pinterest 好在哪里?,尝试做了一下回答,也稍作整理,发在这里做个记录,会随着理解再做进一步修改。

本质上,Pinterest 类应用属于社会化书签站点的延续,只是要处理的数据对象变成了「图片」,而不是传统社会化书签的URL。这是社会化信息处理的一次改良。

提到社会化书签,不得不提 Del.icio.us ,不过或许 Del.icio.us 模式已经到头了,即使现在从Yahoo! 手里卖给了陈士骏,也不太可能玩出新花样,因为核心的数据对象没变。

相比 Flickr 来说,Pinterest 主要的生成内容动作是 Pin (花瓣叫采集),而 Flickr 则是 Upload,这个动作上的不同导致 Flickr 向左,Pinterest向右。Flickr 重心是「照片」(Picture),尤其是原创照片,而非图片(Image)。 Flickr的一个弊端是大量的图片没有标题,这意味着元数据的先天不足,不太可能和其他网络内容进一步结合起来。但是也要说一下,Flickr 现在的价值是被低估了。

Pinterest 相对 Flickr 来说,恰恰是一种互补,每张图片基本可以关联到一条URL,进一步可以抽取其他信息。

从用户行为的角度上看,满足了用户天生的「收集癖」,很多人都有看到一张照片想顺手存起来的冲动,没有Pinterest这类产品之前,这个交互操作太费事了… Pinterest 无疑弥补了人的这个原始的需求。

Pinterest 类应用的创新之处我认为是「降低了收集信息的门槛」,或者,至少做到了这一点。其价值是不言而喻的,每一次信息处理的门槛降低都会得到商业价值的变现,你可以不信。

要有足够好的技术团队支撑、足够好的数据处理能力才能走到最后,这也是在国内众多产品中我看好花瓣(huaban.com)的主要理由。

EOF

技术人创业建站简略指南(第一季)

你是一个技术人员,你想创建一个站点,或许是一时心血来潮,或许是为了自己的兴趣爱好,或许是…「创业」前的热身准备?那么,如何少走弯路的构建起来你的 Web 站点呢?别笑,不是每个做技术的都捣鼓过个人站点,不是每个人都独立搭建过网站(我不是说个人Blog这样简单的东西),下面的简略指南或许能帮到你。毫无疑问,以下都是广告。

0. 信用卡 这个真要有!

确保有一张具备境外支付功能信用卡。这一点我想不是难事,就算是在校的学生,申请信用卡的门槛也小了很多。现在各个银行发信用卡都是求着用户的,申请的时候问清是否具备外币支付能力就好了。有了信用卡之后,你可以较为方便的申请 Paypal 、App Store 帐户、Google Checkout…

有了信用卡之后,你可以大大方方的收美元了 — 如果你是面向非中国用户的话。

1. 购买域名 不要在国内的域名提供商那里购买域名。为了一时方便以后你会付出更多的代价,你可以看一下这里的血泪史。购买域名,我建议在Name.com(或 Godaddy,可以用一下这个 Refer Code: WOWhutu )上购买就可以,顺便说一下,GoDaddy 也支持支付宝。如何买到好的域名? 我没办法告诉你(如果你要从别人手里购买域名的话,可以看一下 4.cn).

域名备案怎么办?如果你的内容不是特别敏感的话,不备案可能问题也不大,低调一点,别自己往墙上撞。

备选: Domain

2. 主机服务

有了域名之后,那么购买主机就要提上日程。建议用 Linode 的 VPS 服务,价格不算贵,关键是容易上手,相对比较稳定,Linode 在东京的 IDC 访问速度居然…和国内某些 IDC 差不多。有些做技术的朋友,可能自己手头有个主机什么的,尽量不要托管在 IDC 了,机器硬件坏了或是被拔了网线,会让你很闹心。备选主机提供商:DigitalOcean , 最低的配置每个月只需要 $5。

国内云主机服务商推荐: UCloud, 个人用户就算了,如果是小团队和商业公司,我愿意推荐这个服务。 而且,用了他们的服务还有一个额外的好处,暂且卖个关子。

如果你的Web应用已经写的差不多了,购买主机之后不妨进行部署,在线测试。如果应用正式上线,那么不妨买一个备份服务,每个月5美元而已。

有了境外的 VPS 的一个好处是,你可以通过 VPS 「翻墙」,锻炼一下腿脚。怎么做,搜索一下就知道了。如果要简单的优化一下 VPS ,参考这篇

备选: DigitalOcean – 一个月 $5,20G SSD。

3. 域名解析

为什么要单独提 DNS 解析?GoDaddy 和 Linode 都提供 DNS 解析能力,不过,域名在哪里注册的和域名在哪里解析是两回事。重要的是,DNS 修改之后的有效验证是个不小的问题,还有一个是影响因素 DNS 解析速度,所以,有必要启用智能 DNS 解析服务,DNSPod 做的相当不错。用了之后你就知道,而且,没有副作用 :)

4. 静态文件

服务器在境外,经常遇到的一个性能瓶颈静态文件(尤其是图片)的访问速度上不来,而恰好你的应用要存储较多的静态文件的话,不妨研究一下 UpYun 的服务。如果你是个开发者,你会体会到一定的妙处,去看看又拍云的 API,你会喜欢的。重要的是,价格也可控制。在项目的启动阶段,时间是最宝贵的资源,一切能节省时间的手段都要充分利用,否则国内 Startup 怎么做到比国外快

阅读: 又拍云实战

备选: CloudFlare(如果你的服务是面向国外用户的话)

5. 运维监控

即使是最简单的站点也有必要关注可访问性,监控机器运行状态。推荐监控宝的免费服务,足以满足小型个人站点对于监控的要求。Google Analytics 和 Google Webmasters 有必要启用。百度的统计服务最近一段时间也越做越好。

6. 邮件方案 如果是做邮件托管的话,也就是你的站点本身的邮件帐户解决方案,Google Apps 是不二之选。如果需要发邮件给你站点的注册用户,或者做小规模的 DM , 在 Linode 上启用 EXIM 就差不多了。

备选: 网易免费企业邮局/腾讯企业邮箱

7. 字体问题 如果你的项目需要较多的设计工作,不可避免的要用到一些商业字体,如果想避免收到律师信或是勒索信的话,建议使用造字工房的字体,性价比非常高。

N. 接下来呢? 下一步该做什么?或许有必要成为 Github 的付费用户,开发、部署、上线、推广…等你到了一定规模,咱们再来第二季。

恭喜你走上不归路,也祝愿你得到一些因为折腾而带来的乐趣.

EOF

延伸阅读:技术人创业建站简略指南(第二季)

此文作者:, 位于 Startup 分类 标签: on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.