在Linux上建立手机WAP网关
查了很多资料,终于能够在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站点,如果能够访问则说明成功。