自从成为听障人士一员后,由于电话及手机用起来很不方便,因此很多关心的朋友都问我,是否有使用 msn 或是 yahoo 实时传讯,以做为和朋友们连络的管道。
我和他们说,打死我都不用 msn 及 yahoo im,为啥:
1. 这两个系统都是一个封闭系统
2. 安全性问题,君不见 msn 在网络资安上出现多少问题
3. 这两家业者作法有点贱,为何如此说呢,大家可能有个概念,在网络上要使用某种服务(如 msn、yahoo im、smtp.. )等,一定是透过主机某个 port 来实现的,但 msn 及 yahoo 虽然有内定的 port,但其心可议的是,如果这个 port 被挡掉的话,那么 msn 及 yahoo im,会利用 port 80 来替代,而这个 port 80 是什么用呢?就是拿来浏览网页用的,这也可说是这两家业者心态可议,吃定了大家。
怎么说呢?由于 msn 及 yahoo im 资安纪录不佳,假设为了安全问题,在公司或企业内部要将这两项挡掉,是很难做到的,除非也将 http:// (即 web 浏览网页功能)关掉,才可达到功效,我想这个不便之处 msn 及 yahoo 绝对理解,但为何要如此做呢?是不是很贝戈戈呢..
似乎意谓者,不是我 msn 及 yahoo im 不让你们这些员工上网啰,是你们的网管做的,这种将自己的不是推到网管人员身上的做法,真的很恶质。
为了资安问题,而不得不 ban 掉 yahoo im 及 msn 而导致公司内部人员无法上网冲浪,当公司内部人员责难 mis 人员时,是否有人会想到始作俑者是这两家业者呢?
另外使用 msn 及 yahoo im 造成资安问题,这两家业者是否会负起责任来呢?
所以我很有志气的赌一口气,坚持不用 msn 及 yahoo im。
那么用什么 im 软件呢,不是替 gtalk 打广告,gtalk 是使用 jabber XMPP 协议,这是一种安全、开放的协议,而且我在许多朋友都使用 gmail 后,自然地这些朋友也有了 gtalk 的账号,在网络上聊成天来也没什么问题了..
甚者,自己也可利用 jabber 或是其 clone 软件(如 ejabberd)来架设一个朋友间的聊天园地,也是件很容易的事,再也不用这两家的 im 系统。
Posted by CreMaker | Comments (0) | Trackbacks (0)
[ 2006-04-09 ] 架设 local lan 实时传讯(IM)
在公司内,架设一个 IM 软件供员工们传送讯息,除了可增加彼此间的感情外,也是提高生产力的方式之一。
要架设怎样的一个 IM 系统呢?以下是我的考虑:
1. 使用在 local lan 内,也就是在内部局域网络内
2. 架设及维护要简单
3. 要使用何种软件,个人使用基于 xmpp 协议的 ejabberd server 软件
以下是其 Features:
- (Mostly) XMPP-compliant
- Web based administration
- Load balancing: can run in a cluster of machines
- Fault-tolerance: database can be replicated and stored on multiple nodes (nodes can be added or replaced 'on the fly')
- SSL/TLS support
- Multi-User Chat (MUC/conference)
- IRC transport
- Jabber Users Directory, based on users vCards
- Service Discovery
以上或许有些复杂,但我们只需使用其中的一部份功能即可。另外 ejabberd 也可使用 web 网页的方式来管理,实在是很方便。
XMMP 的登入方式和 MSN .. 等常见的实时传讯类似,是使用 user@host_name 的方式,host_name 可以是一个 FQDN 或是 IP 地址,以下假设你的 FQDN 是 test.com,可能你的公司没有架设 DNS 系统,那么直接使用 ip(如 192.168.1.100)也是可行的。
★ 安装 ejabberd
直接使用 Synaptic 或是 apt-get 安装 ejabberd。安装完毕后会产生 ejabberd 及 ejabberdctl 这两个执行档,其中 ejabberd 是用来启动 XMPP 之用,而 ejabberdctl 顾名思议则是用来控制 XMPP 之用,像管理使用者、关闭 ejabberd .. 等..
以下是 ejabberdctl 的语法
★ 设定
先说明一下,ejabberd 是使用 erlang 语言开发的,在 /etc/ejabberd/ejabberd.cfg 这个设定档中,% 这个符号是 comment out 的意思,所以如果在这行的最前面有 % 这个符号,表示此行已被批注掉,不起作用。
ejabberd 的设定档是 /etc/ejabberd/ejabberd.cfg 这个,如前所述首先设定主机名称,将
%{hosts, ["localhost"]}.
改为你的主机名称(以 test.com 为例)
{hosts, ["test.com"]}.
然后重新启动 ejabberd
# /etc/init.d/ejabberd restart
★ 管理 ejabberd
前面说过我们可利用 ejabberdctl 来管理 ejabberd,另外也可用 http://YOUR_HOST_NAME:5280/admin web 接口来管理。所以我们必需先建立一个使用者,且让这个使用者有管理者的权限。
1. 建立使用者(假设该账号为 test,密码为 goawayms)
# ejabberdctl register test test.com goawayms
2. 设定 /etc/ejabberd/ejabberd.cfg 檔
在此档案内加入
{acl, admin, {user, "test"}}.
这表示 test 这个 user 具有 admin(管理者) 的权限,当然如果一个管理者不够,你可多设几个
另外,再检查是否有
{access, configure, [{allow, admin}]}.
这行,这代表者允许(allow) admin 来管理及设定(configure) ejabberd
重新启动 ejabberd
# /etc/init.d/ejabberd restart
然后你可使用浏览器,输入 http://test.com:5280/admin 输入账号及密码后,就可管理你的 ejabberd server 了。
-------
经过以上安装、设定后,ejabberd 架设好了,可以使用 gaim 或是其它支持 jabber XMPP 协议的 CLIENT 软件来登入到 ejabberd server 上使用了。
参考数据:
man ejabberdctl
man ejabberd
http://www.process-one.net/en/projects/ejabberd/