在Linux上建立手机WAP网关

在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站点,如果能够访问则说明成功。
手机收费吗