-
- 远程自动添加AS400路由网关
- Weather:いい天気
- 2009-02-06
目前状态:
一台内网的AS400服务器,想要在远程访问(即外网或内网其它网段),这样就可以实现分布式开发,并且即用即改,安全性方面也能得到一些保证.
思路是这样的:
外网对内网的AS400访问,只要在路由器上设置23号端口的转发就可以了,但是对于AS400本身,还要设置客户端(要连接400的外网客户)的网段的访问权限.
于是我们在AS400上写一个CL程序,进行400上路由及网关设置,然后再在内网开一个WEB服务器对外网开放(可以在任何地方访问得到),通过WEB服务器上的程序,来调用400上的这个CL程序,以达到能自动更改的目的.
这样一来,对于WEB SERVER和AS400之间,WEB SERVER可以单向(WEB->AS400)的完全控制400上的网关(为什么叫单向?因为我们限制WEB SERVER只能删除自己添加的网关,不要去改动400上原来已有的设置).并且我们在WEB SERVER上设置访问权限,AS400本身也需要用户名密码才能连接,这样的双重验证,尽量将安全威胁降低到最小,不过这只是相对AS400开发机而言,在线使用的机器有这个功能的必要吗?
废话不多说,直接上解决方案内容:
AS400上的CL程序
/*********************************************************************/
/* プログラム名 : システムの経路を自動化設定 */
/* プログラム№ : ASTHOP001 */
/* */
/* 作成日 : 2009/01/20 */
/* 作成者 : 戚宏波 */
/*********************************************************************/
/*パラメータ */
/*AGTIP:USER'S AGENT IP WITH "0" AS LAST AREA +
OPTTYPE:OPERATION TYPE('A':ADD,'D':DELETE') */
PGM PARM(&AGTIP &OPTTYP)
DCL VAR(&AGTIP) TYPE(*CHAR) LEN(15)
DCL VAR(&OPTTYP) TYPE(*CHAR) LEN(1)
DCL VAR(&NETMSK) TYPE(*CHAR) LEN(15) +
VALUE('255.255.255.0')
DCL VAR(&HOPIP) TYPE(*CHAR) LEN(15) +
VALUE('192.168.10.1')
/**/
/* ADD A NEW HOP SET */
IF COND(&OPTTYP *EQ 'A') THEN(DO)
ADDTCPRTE RTEDEST(&AGTIP) +
SUBNETMASK(&NETMSK) +
NEXTHOP(&HOPIP)
MONMSG MSGID(CPA0000 TCP0000)
ENDDO
/**/
/* REMOVE A SPECIFIC HOP */
IF COND(&OPTTYP *NE 'A') THEN(DO)
RMVTCPRTE RTEDEST(&AGTIP) +
SUBNETMASK(&NETMSK) +
NEXTHOP(&HOPIP)
MONMSG MSGID(CPA0000 TCP0000)
ENDDO
RETURN
ENDPGM而在WEB SERVER上,我们使用.NET通过IBM.Data.DB2.iSeries.dll来连接AS400,并进行CL调用,而使用方法,请参考之前的关于.NET连接AS400的文章.
如果你想要这个方案的详细的源代码,欢迎与我联系.
-
Views(5752) | Comments(0) |
In:
AS400について
|
(02/06)
AS400简介(2)
