linux下配制gatekeeper

这篇博客介绍了如何在Linux环境下配置Gatekeeper,包括下载和安装gnugk,设置初始化脚本,备份数据库,安装MySQL相关组件,创建并填充数据库表,以及调整配置文件以使用MySQL作为认证和别名数据库。最后,还提到了使用gkgui进行管理和修改相关密码的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[root@ other]#wget –N  http://downloads.sourceforge.net/openh323gk/gnugk-2.2.7-linux-x86.tar.gz?modtime=1207148631&big_mirror=0; tar zxf gnugk-2.2.7-linux-x86.tar.gz;cd gnugk-*; cp bin/gnugk /usr/sbin; mkdir -p /var/log/gk;touch /var/log/gk/cdr.log; cp gk.initd.redhat /etc/rc.d/init.d/gnugk;chmod 755 /etc/rc.d/init.d/gnugk; (備份資料庫)
[root@other]# vi  /etc/rc.d/init.d/gnugk

LOGFILE=/var/log/gk/gk.log
更改成:     LOGFILE=/var/log/gk/cdr.log          (21)
NDate=`date '+%Y%m%d-%k%M%S'`                                                          (取得系统当前日期,23行增加)
[ -f $LOGFILE ] && mv -f $LOGFILE $LOGFILE.bak       
更改成:       [ -f $LOGFILE ] && mv -f $LOGFILE $LOGFILE.$NDate.bak  (40)
[root@other]#
mysqldump -u root -p mysql >/etc/gatekeeper/mysql_bak
[root@other]# rpm -e --nodeps (
刪除rpm -qa |grep -i "mysql"列出的所有套件); rm -r -f /var/lib/mysql; rm -r -f /usr/lib/mysql; rm -r -f /usr/lib/mysql3; yum install mysql-* php-mysql libdbi-dbd-mysql MySQL-python mod_auth_mysql freeradius-mysql; service mysqld start; mysqladmin -u root password '****'; mysqladmin -u root -p create gk;
[root@other]# mysqladmin version -p
[root@other]# mysql -u root -p;
mysql> USE mysql; DELETE FROM user WHERE User = '';UPDATE user SET password=password('****') WHERE user='root'; INSERT INTO `user` VALUES ('localhost','root', password('****'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0); INSERT INTO `user` VALUES ('localhost','gkdba', password('****'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0); UPDATE user SET  Show_db_priv='Y' WHERE user='gkdba'; FLUSH PRIVILEGES; (
密碼是****)
mysql> DROP TABLE IF EXISTS `AliasData`;
CREATE TABLE `AliasData` (
  `IDAlias` varchar(30) NOT NULL default '',
  `IPAddr` varchar(30) NOT NULL default '',
  `kind` tinyint(3) unsigned default NULL,
  PRIMARY KEY  (`IDAlias`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40000 ALTER TABLE `AliasData` DISABLE KEYS */;
LOCK TABLES `AliasData` WRITE;
INSERT INTO `AliasData` VALUES ('a','sigip:192.168.1.17:1720',0),('b','sigip:192.168.2.42:1720',0),('c','sigip:192.168.2.44:1720',0),('d','sigip:192.168.7.2:1720',0),('e','sigip:192.168.8.12:1720',0),('f','sigip:192.168.11.10:1720',0),('g','sigip:192.168.12.10:1720',0),('h','sigip:192.168.13.10:1720',0),('i','sigip:192.168.21.6:1720',0),('j','sigip:192.168.25.6:1720',0),('k','sigip:192.168.31.21:1720',0),('m','sigip:192.168.36.10:1720',0),('n','sigip:192.168.41.25:1720',0),('o','sigip:192.168.41.27:1720',0),('p','sigip:192.168.55.25:1720',0),('q','sigip:192.168.88.7:1720',0),('r','sigip:192.168.130.14:1720',0),('s','sigip:192.168.130.53:1720');
UNLOCK TABLES;
/*!40000 ALTER TABLE `AliasData` ENABLE KEYS */;
DROP TABLE IF EXISTS `IPNData`;
CREATE TABLE `IPNData` (
  `IPN` varchar(20) NOT NULL default '',
  `Password` varchar(20) NOT NULL default '',
  `IPAddr` varchar(20) NOT NULL default '',
  `kind` tinyint(3) unsigned default NULL,
  PRIMARY KEY  (`IPN`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40000 ALTER TABLE `IPNData` DISABLE KEYS */;
LOCK TABLES `IPNData` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `IPNData` ENABLE KEYS */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
[root@other]# yum install linuxdoc-tools;yum install openh323-devel pwlib-devel;
[root@other]#mkdir -p /etc/gatekeeper; vi  /etc/gatekeeper/gkmysql.ini
##

## This example shows how to use MySQL as a backend database to

## authenticate the endpoints.

##

## In this example, the MySQL server is bl.citron.com.tw.

## There is a database named 'billing', which contains a table named 'IPNData'.

## There are (at least) four fields in the table: IPN, Password, IPAddr, Kind.

##

 

[Gatekeeper::Main]

Fourtytwo=42

Name=gktw

#NetworkInterfaces=61.221.141.106/29,10.0.16.1/24

#NetworkInterfaces=61.221.141.106/29

TimeToLive=600

EndpointIDSuffix=_gktw

 

[RoutedMode]

GKRouted=0

#GKRouted=1

H245Routed=0

CallSignalPort=1720

#CallSignalHandlerNumber=2

RemoveH245AddressOnTunneling=1

DropCallsByReleaseComplete=1

AcceptUnregisteredCalls=0

AcceptNeighborsCalls=1

SupportNATedEndpoints=1

 

[Proxy]

#Enable=1

#InternalNetwork=192.168.21.0/24,192.168.130.0/24,192.168.2.0/24,192.168.1.0/24,192.168.8.0/24,192.168.11.0/24,192.168.88.0/24,192.168.40.0/24

#T120PortRange=50000-59999

#RTPPortRange=50000-59999

#ProxyForNAT=0

#ProxyForSameNAT=0

 

#[Endpoint]

 

#[Endpoint::RewriteE164]

#E188=12

 

[Gatekeeper::Auth]

MySQLPasswordAuth=optional;RRQ

MySQLAliasAuth=required;RRQ

NeighborPasswordAuth=required

PrefixAuth=sufficient;ARQ,LRQ

default=allow

 

[Gatekeeper::Acct]

FileAcct=sufficient;start,stop

default=accept

 

[MySQLAuth]

;

; SELECT Password FROM IPNData WHERE IPN = %id AND Kind > 1

;

 

Host=localhost

Database=gk

User=gkdba

Password=adstella

Table=IPNData

#IDField=IPN

KeyField=IPN

#PasswordField=Password

DataField=Password

#ExtraCriterion=Kind > 1

 

[MySQLAliasAuth]

;

;SELECT IPAddr FROM IPNData WHERE IPN = %id AND Kind > 1

;

 

Host=localhost

Database =gk

User=gkdba

Password=adstella

Table=AliasData

#IDField=IDAlias

KeyField=IDAlias

#IPField=IPAddr

DataField=IPAddr

#ExtraCriterion=Kind > 1

 

 

[RasSrv::Neighbors]

 

[RasSrv::RRQFeatures]

AcceptGatewayPrefixes=1

 

[RasSrv::ARQFeatures]

CallUnregisteredEndpoints=1

ArjReasonRouteCallToGatekeeper=0

 

[RasSrv::GWPrefixes]

a=31,831

b=32,832,833,33

c=32,832,833,33

d=36,836

e=51,851

f=21,821

g=22,822

h=23,823

i=11,811

j=12,812

k=71,871

l=71,871

m=72

n=62,862

o=61,861

p=63,863

q=53,853

r=52,852

s=54,85

 

 

[RasSrv::RewriteE164]

#66=55

852001=85213539034790

 

 

[RasSrv::PermanentEndpoints]

192.168.1.17=a;31,831

192.168.2.42=b;32,832,833,33

192.168.2.44=c;32,832,833,33

192.168.7.2=d;36,836

192.168.8.12=e;51,851

192.168.11.10=f;21,821

192.168.12.10=g;22

192.168.13.10=h;23

192.168.21.6=i;11,811

192.168.25.6=j;12,812

192.168.31.21=k;71,871

192.168.31.30=l;71,871

192.168.36.10=m;72

192.168.41.25=n;62,862

192.168.41.27=o;61,861

192.168.55.25=p;63,863

192.168.88.7=q;53,853

192.168.130.14=r;52,852

192.168.130.53=s;54,854

 

[EP::Simona]

Capacity=7

GatewayPriority=1

 

[EP::Simona2]

Capacity=7

GatewayPriority=2

 

[EP::hp]

Capacity=7

GatewayPriority=1

 

[EP::VN]

Capacity=7

GatewayPriority=2

 

[CallTable]

GenerateNBCDR=TRUE

GenerateUCCDR=TRUE

DefaultCallTimeout=7200

 

[GkStatus::Auth]

rule=allow

 

[FileAcct]

DetailFile=/var/log/gk/cdr.log

Rotate=daily

RotateTime=23:59

 

[PrefixAuth]

5=allow ipv4:ALL

ALL=allow ipv4:ALL

 

# EOF  -- by cwhuang
[root@other]# vi /etc/rc.d/init.d/gnugk
GKCONFIG=/etc/gatekeeper.ini       (20
)更改為:  GKCONFIG=/etc/gatekeeper/gkmysql.ini
LOGFILE=/var/log/gk/gk.log            (21
)更改為:   LOGFILE=/var/log/gk/cdr.log
[root@other]#wget -N http://www.gnugk.org/download/gkgui-0.11.tgz; tar zxf gkgui-0.11.tar;mv gkgui /var/www/html;service httpd restart;
[root@other]# vi /var/www/html/gkgui/GkGUI.java

} finally { gkUser = ""; gkPassword = ""; };    // no password       (173
)更改成            } finally { gkUser = "gkdba"; gkPassword = "adstella"; };    // no password
[root@other]# chmod 444  /var/www/html/gkgui/*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

james-liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值