Nanu 发表于 2005-04-07 02:31

在Linux上建立WAP网关

=========================
作者:Nanu
首发于:www.chinaunix.net
如需转载请注明作者
=========================

查了很多资料,终于能够在Linux上建立一个WAP网关了!建立成功后,你就可以使用自己的WAP网关浏览无线网络内容!试试抛弃中国移动提供的网关参数而使用自己DIY出来的WAP网关,这样的感觉,呵呵,挺酷的!


一、系统需求
============
需要libxml2库2.2.5或更高版本,这个XML库是安装和编译网关所需要的。
可以通过以下命令检查系统中是否已经安装libxml2库:
# rpm -qa | grep libxml2


二、建立WAP网关
===============
很多商用的WAP网关价格令人咋舌!根本不是个人用的起的。不过,有一个名为Kannel的WAP网关是完全免费的!Kannel是一个开放源代码的WAP网关项目,在安装后还可以自定义网关参数。打造自己的个性化WAP网关!

1、下载安装
-----------
目前最新的Kannel稳定版版本为1.4.0,可以在http://www.kannel.org下载。下载后进行安装:
# tar xzvf gateway-1.4.0.tar.gz
# mv gateway-1.4.0 /usr/local/kannel
# cd /usr/local/kannel
# ./configure --enable-start-stop-daemon
# make
# make bindir=/usr/local/bin install

2、配置网关
-----------
# vi gw/wapkannel.conf

# KANNLE WAP示例配置文档
# Created by Nanu
# http://nanu.8866.org

# 这是一个必须变量core
group = core

# 用于bearerbox侦听HTTP管理命令的端口号。可以设定为高于1023的任何端口
admin-port = 13333

# 指定是否启用SSL
admin-port-ssl = false

# HTTP 管理命令的密码
admin-password = yourpasswd

# 请求Kannel状态的密码。如果没有设置,则无需密码。
status-password = rose123

# 拒绝来自该IP地址的连接
admin-deny-ip = "123.123.123.123"

# 允许这些IP的连接,可以使用通配符
admin-allow-ip = "*.*.*.*"

# 用于wapbox连接的端口。如果没有设置,则Kannel不能处理WAP传输
wapbox-port = 13002

# 拒绝来自该IP地址的连接
box-deny-ip = "123.123.123.123"

# 允许这些IP对WAP单元的连接,可以使用通配符
box-allow-ip = "*.*.*.*"

# 拒绝来自该IP的UDP数据包
udp-deny-ip = "123.123.123.123"

# 允许来自该IP的UDP数据包,可以使用通配符
udp-allow-ip = "*.*.*.*"

# 如果设置了这个参数,Kannel就会侦听指定IP的9200到9208端口的WAP UDP数据包。
# 如果不需要具体限定,可以只用一个星号
wdp-interface-name = "*"

# 日志文件
log-file = "kannel.log"

# 日志级别
# 0 调度
# 1 信息
# 2 警告
# 3 错误
# 4 致命问题
log-level = 1

# WAPBOX 组配置信息

# 必选变量
group = wapbox

# 运行bearerbox的计算机
bearerbox-host = localhost

# 计时器的较验频率
timer-freq = 1

# 日志文件
log-file = "wap.log"

# 日志级别
# 0 调度
# 1 信息
# 2 警告
# 3 错误
# 4 致命问题
log-level = 1

3、启动网关
-----------
必须先启动bearerbox,然后再启动 wapbox。由于bearerbox是网关的基本部分,所以必须要先启动。
启动bearerbox:
./bearerbox -v 1 /usr/local/kannel/gw/wapkannel.conf

启动wapbox:
./wapbox -v 1 /usr/local/kannel/gw/wapkannel.conf

三、通过HTTP管理网关
====================
可用命令:
http://localhost:13333/shutdown?password=yourpasswd (关闭网关)
http://localhost:13333/status?password=yourpasswd   (获取网关状态)
http://localhost:13333/resume?password=yourpasswd   (继续运行网关)

说明:
13333:为配置文件中admin-port指定的端口
password:为配置文件中admin-password指定的密码


四、使用一个支持WAP的手机或者模拟器测试
=======================================
1、确认Linux的IPTABLES或者其他防火墙开放相应的WAP端口;
2、修改你手机或手机模拟器中的WAP网关参数为你运行的Linux的IP地址;
3、访问一个基于WML页面的WAP站点,如果能够访问则说明成功!

---The End

Nanu 发表于 2005-04-07 10:52

在Linux上建立WAP网关

搞到深夜两点半,没人顶,自己顶…… :em10:

woshiwho 发表于 2005-04-07 11:10

在Linux上建立WAP网关

俺顶

andyliu 发表于 2005-04-07 11:16

在Linux上建立WAP网关

虽然不懂这方面,但也帮顶

好好先生 发表于 2005-04-07 11:51

在Linux上建立WAP网关

学习……

Nanu 发表于 2005-04-07 12:02

在Linux上建立WAP网关

3Q3Q,感激涕零啊。 :em16:

找到一些关于WAP的东西,能够帮助更好理解本文:

1、Kannel网关结构
=============
Kannel 主要由两个部分组成:bearerbox和wapbox,就是上面提到的两个。

bearerbox:它连接到 SMS短消息服务中心和 CSD电路交换线路路由器,为 wapbox提供一个统一的接口。

wapbox:WAP协议栈中更高的协议层在这一单元中。每个会话都由wapbox来处理。

2、系统工作方式
==========
CSD路由器一旦接收到UDP数据包,则检查它们是不是WAP数据包,如果是的话,将它们路由到WAP单元。wapbox实现了WTP无线传输协议和WSP无线会话协议,它们从移动电话取得类似于HTTP的请求,并将真正的HTTP请求发送到实际内容服务器,压缩响应,然后将它们发回到终端。

brucewoo 发表于 2005-04-07 12:45

在Linux上建立WAP网关

支持一下

freshyx 发表于 2005-04-07 13:21

在Linux上建立WAP网关

支持呀,楼主GOOD

pearma 发表于 2005-04-07 13:35

在Linux上建立WAP网关

有什么特殊的意义吗?比如说可以节省费用,或者提高访问速度?

Nanu 发表于 2005-04-07 13:52

在Linux上建立WAP网关

原帖由 "pearma"]有什么特殊的意义吗?比如说可以节省费用,或者提高访问速度?


呵呵,从实用角度看,确实没什么意义,毕竟我不想也不能弄一个XX移动 :mrgreen:

不过从技术角度看,研究一下也没什么,况且顺便还能学习研究一下WAP的相关知识和技术。
页: [1] 2 3 4 5 6 7
查看完整版本: 在Linux上建立WAP网关