Chinaunix首页 | 论坛 | 博客
  • 博客访问: 87088
  • 博文数量: 11
  • 博客积分: 1536
  • 博客等级: 上尉
  • 技术积分: 160
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-26 22:01
文章分类

全部博文(11)

文章存档

2011年(4)

2010年(2)

2009年(3)

2008年(2)

我的朋友

分类: LINUX

2008-12-10 23:28:30

4. 网守基本配置

       网守的行为完全由命令行选项和配置文件来决定。有些命令行选项会覆盖配置文件的设定。例如,选项-l会覆盖配置文件中TimeToLive的设定。

 

4.1 命令行选项

几乎所有的选项都有长短格式,如-c等价于--config

 

基本

-h --help

显示所有有效的选项,然后退出程序。

-c --config filename

       指定使用的配置文件

-s --section section

       指定配置文件的主要section。默认是[Gatekeeper::Main]

-i --interface IP

指定网守监听的IP地址。你应该忽略该选项,而让网守自动侦测需要监听的IP地址,除非你想网守绑定指定的IP地址。

-l --timetolive n

       指定终端注册的生存时间。它会覆盖配置文件中TimeToLive的设置。

-b --bandwidth n

       指定网关公共有效带宽。如果没有指定,带宽管理默认被禁用。

--pid filename

       指定pid文件,仅在Unix有效。

-u --user name

       以用户name的身份运行网守,仅在Unix有效。

--core n

       仅在Unix有效。当程序崩溃的时候,开启core dumpcore dump文件最多不会超过n字节。如何n被设置为unlimited,则不会对文件大小有限制。

 

网守模式

       该选项会覆盖配置文件中[RoutedMode]的设定。

-d --direct

       使用终端直接呼叫模式。

-r --routed

       使用网守路由呼叫信令模式。

-rr --h245routed

       使用网守路由呼叫信令和H.245控制信道模式。

 

调试信息

-o --output filename

       写跟踪日志到指定文件

-t --trace

       设置跟踪等级。你加的-t越多,输出就越详细。例如:使用-ttttt来设置跟踪等级5

 

4.2配置文件

       配置文件是标准的文本文件,格式如下:

       [Section String]

       Key Name=Value String

       在行首以井号(#)或分号(;)开头是注释符号。

       complete.ini包含了GnuGk所有有效的section。大多情况下,一次全部使用所有section 没有意义的。该文件仅仅是许多设置示例的集合。

       配置文件可以在运行时修改。一旦你修改完配置文件后,你可以通过状态端口使用reload命令,或者发送HUP信号给网守(仅对Unix有效)。例如:

       kill -HUP ‘cat /var/run/gnugk.pid’

 

4.3[Gatekeeper::Main]

l         Fortytwo=42

默认:N/A

该设置仅仅用来测试当前的配置文件。如果没有,则会产生一个警告。请确保该项处于配置文件之中。

l         Name=OpenH323GK

默认:OpenH323GK

网守的标识。网守仅仅会响应目的ID是自己的GRQ。在发送消息到终端的时候,也会用到此ID

l         Home=192.168.1.1

默认:0.0.0.0

网守将会在要求监听的IP地址上进行监听。默认网守会监听主机上所有IP地址。你应该忽略该选项,而让网守自动侦测需要监听的IP地址,除非你想网守绑定指定的IP地址。可以指定由分好(;)或逗号(,)间隔的多个IP地址。

l         NetworkInterfaces=192.168.1.1/24,10.0.0.1/0

默认:N/A

指定网守的网络接口。默认情况下,网守会自动侦测主机上所有的接口。以下情况你会需要指定这个选项。一个是自动侦测失败。如果你在NAT之后使用GnuGk,那么你应该使用ExternalIPExternalIP会被自动设定GnuGk并以此代替,使得GnuGk就像在NAT上运行一样。

l         EndpointIDSuffix=_endp

默认:_endp

网守会为每一个注册的终端分配唯一的标识。该选项用来指定为终端标识添加的后缀。这仅在有多个网守的时候有用。

l         TimeToLive=300
默认:-1

注册到网守的终端有一个有限的生存周期。网守会在RCF中包含timeToLive字段,并指定注册的生存周期。到达截止时间时,注册会失效。终端应该周期的发送包含keepAlive 位的RRQ来重置截止时间。在H.225.0的消息中可以只包含这些信息。它被叫做轻量级RRQ

 

该配置指定生存时间,单位是秒。注意,终端可能在发送给网守的RRQ中请求一个很短的生存时间。为了防止过多的RRQ消息,如果该项低于60秒,则网守会自动将其调整为60秒。

 

到了截止时间之后,网守会连续发送两个IRQ消息来询问终端是否在线。如果终端用IRR来应答,注册会被延长。否则网守会发送原因为ttlExpired URQ给终端。之后,终端必须用一个完整的RRQ消息来重新注册。

 

设为-1,该特性将被禁用。

l         TotalBandwidth=100000
默认:-1

可供终端使用的总共有效带宽。默认该特性是关闭的。使用该项的时候要特别小心,因为不少终端对此实现有缺陷。

l         RedirectGK=Endpoints > 100 || Calls > 50
默认:N/A

该项允许你当网守负荷过大的时候,将终端重定向到备用网守上。例如,使用上面设置的情况下,当终端数量超过100时会拒绝RRQ,当呼叫并发达到50个时会拒绝ARQ

 

此外,你可以明确的设定所有终端的重定向是临时的还是永久的。网守会返回一个带有备用网守列表的RAS拒绝消息,这些网守在AlternateGKs定义。需要注意的是,永久重定向意味着终端不会在到此网守注册,同时也要注意这个功能仅仅对符合H.323v4的终端有效。

l         AlternateGKs=1.2.3.4:1719:false:120:OpenH323GK

默认:N/A

              我们允许使用另外一个网守来实现冗余。它是以一种active-active方式来实现的。

实际上,你可能会陷入这种情形之中:一些终端在第一个网守注册,而另外一些终端在第二个网守注册。你甚至可以使用两个网守来实现负载均衡(虽然没有测试过:-))。如果你看到“主网守”,表示你正在配置的网守,而“备用网守”是指另外一个。主网守在RCF中会包含一个字段来告诉终端备用网守的IP地址和网守标识。但是备用网守需要知道每一个在主网守注册了的终端,否则它会拒绝呼入。因此,我们的网守可以转发每一个RRQ到备用IP地址上。

主网守的RCF包含了AlternateGKs指定的字段。第一个和第二个字段分别定义了要转发的的IP地址和端口。第三个字段是告诉终端在呼叫之前它是否需要注册到备用网守上。一般来说不需要如此,因为我们已经转发了它的RRQ,所以它们已经注册到备用网守上了。第四个字段用来指定备用网守的优先级。值越小,优先级越高,通常情况下,主GK的优先级设为1。最后一个字段是备用网守的标识。

l         SendTo=1.2.3.4:1719

默认:N/A

虽然这些信息已经包含在AlternateGKs中,但是你仍必须指定转发RRQ的目的地。这个地址可能会和AlternateGK's中的地址不一致,所以需要分别设定(想想多个Home地址的计算机)。

l         SkipForwards=1.2.3.4,5.6.7.8

默认:N/A

为了防止转发回环,你不应该转发来自其他网守的RRQ(不管是主网守还是备用网守均是如此)。有两种机制来识别是否应该转发。第一个是看RRQ中的标记。既然少数终端会实现这个标记,我们也需要第二种更可靠的办法:在此列表中指定其他网守的IP地址。

l         StatusPort=7000

默认:7000

              监控网守的状态端口。具体请参考13. Monitoring the Gatekeeper

l         StatusTraceLevel=2

默认:2

              默认仅输出客户端的的新状态。具体请参考13. Monitoring the Gatekeeper

l         TimestampFormat=ISO8601

默认:Cisco

设定网守生成时间字符串的默认格式。该选项会影响[SqlAcct][RadAcct][FileAcct] 和其他模块,但[CallTable]除外。你可以在每个模块的TimestampFormat 中进一步定制时间戳的格式。

       下面是4种预定义的格式:

       RFC822 - 一种网守使用的默认格式(例如:Wed, 10 Nov 2004 16:02:01 +0100

       ISO8601 - ISO标准格式(例如:2004-11-10 T 16:02:01 +0100

Cisco - 思科设备使用的格式(例如:16:02:01.534 CET Wed Nov 10 2004

MySQL - 能让MySQL的识别的简单格式(例如:2004-11-10 16:02:01

 

如果需要其他格式,你可以使用C语言中strftime函数的规则来创建格式字符串(具体请参考manMSDN)。一般来说,格式表达式由百分号跟着格式字符和格式代码组成。例如:“%Y-%m-%d and percent  %%”能得到“2004-11-10 and percent %”。下面是一些普通的格式代码:

       %a - 周的简写

       %A - 周的全称

       %b - 月份的简写

       %B - 月份的全称

       %d - 月当中的第几天

       %H - 小时(24时制)

       %I - 小时(12时制)

       %m - 月份

       %M - 分钟

       %S -

       %Y -

       %u - 微妙(GnuGk的扩展)

       %z - 时区的简写(+0100

       %Z - 时区的名称

       %% - 百分号

l         EncryptAllPasswords=1

默认:0

加密配置文件中所有密码(SQL的密码、RADUIS的密码、[Password]的密码、[GkStatus::Auth]的密码)。如果启用,所以的密码必须使用addpasswd来进行加密,否则只有[Password][GkStatus::Auth]中的密码被加密。

l         KeyFilled=0

默认:N/A

在全局定义一个在加密和解密时使用的填充位。在实际的配置项中它可以被重新设定。通常你不需要改变这个选项。

 

大多数用户永远不会改变下面参数设定的值。它们主要用于测试和一些诡异的应用。

l         UseBroadcastListener=0

默认:1

定义是否监听RAS的广播请求。该选项绑定计算机的所有接口,所以如果你想在计算机上运行多个网守,就应该关闭该项。

l         UnicastRasPort=1719

默认:1719

              广播RASTSAP标识。

l         MulticastPort=1718

默认:1718

              多播RASTSAP标识。

l         MulticastGroup=224.0.1.41

默认:224.0.1.41

RAS的多播组。

l         EndpointSignalPort=1720

默认:1720

终端呼叫信令默认端口。

l         ListenQueueLength=1024

默认:1024

              接收TCP连接的队列长度。

l         SignalReadTimeout=1000

默认:1000

              呼叫信令(Q931)的读超时时间,单位是毫秒。

l         StatusReadTimeout=3000

默认:3000

              状态连接的读超时时间,单位是毫秒。

l         StatusWriteTimeout=5000

默认:5000

              状态连接的写超时时间,单位是毫秒。

l         ExternalIP=myip.no-ip.com

默认:NA/

GnuGk被放置在NAT之后时,你可以指定GK的外部IP地址。这样可以使得外部终端和和其他网守可以连接到NAT之后的GK。为了使其正常运行,你必须为GK设置好端口映射或者把GK放入NAT设备的DMZ中。

l         ExternalIsDynamic=1

默认:0

外部IP是否是动态的,这要求通过查询来保持外部IP是最新的。为了使其正常运行,你需要将ExternalIP设置为一个域名,并且该域名由DDNS服务器来维护。例如:

l         DefaultDomain=gnugk.org

默认:NA/

的时候,如果该地址的域名和选项一致,则会删掉地址中的域名,并想一个普通用户一样处理其请求。当处理基于全URI路由策略的内部的域名呼叫的时候,这就非常有用。配合[RasSrv::RewriteAlias],它也可以用来把URI转换成E.164号码。

l         Authenticators=H.235.1,CAT

默认:NA/

选择指定的认证服务器来进行终端认证。默认选项是:H.235.1HMACSHA1、旧的H235AnnexD),MD5(数字摘要认证)和CATCisco Access Tokens ie RADIUS)。如果该选项被忽略,所有认证服务将会按默认来进行加载。如果你使用了认证插件,那么你就可以禁用默认认证服务,使用更适合的安全认证。注意:H.235.1需要带OpenSSLGnuGk

 

4.5   [GkStatus::Auth]

定义一系列允许连接状态端口的规则。任何人一旦连接到状态端口就能够完全控制网守。请确保设置正确。

 

l         rule=allow

默认:forbid

              可能的值是:

forbid - 不允许任何连接。

allow - 允许任何连接

explicit - 读取参数IP=值,IP是客户端的IP地址,值为01或者allowforbid或者yesno。如果没有参数列表,则使用参数default

regex - 匹配客户端IP的正则表达式。

例如:允许来自195.71.129.0/24195.71.131.0/24的客户端:

              regex=^195\.71\.(129|131)\.[0-9]+$

password - 用户使用正确的用户名和密码来登录. 用户名和密码的格式和 [SimplePasswordAuth]一样。

此外,这些规则可以使用"|" "&"来组合。例如:

rule=explicit | regex

客户端IP地址必须符合explicit regex规则。

rule=regex & password

客户端IP地址必须符号regex规则,并且使用用户名和密码进行登录。

l         default=allow

默认:forbid

仅在rule=explicit的时候有效。

l         Shutdown=forbid

默认:allow

              是否允许通过状态端口关闭网守。

l         DelayReject=5

默认:0

              通过状态端口登录时,输入无效的用户名/密码之后延长时间,单位是秒。

4.5 [GkStatus::Filtering]

       具体请参考13.4 对状态端口进行过滤。

4.6 [LogFile]

       该选项定义了跟日志相关的参数。现在,你可以设定日志的回滚选项。

l         Rotate=Hourly | Daily | Weekly | Monthly

默认:N/A

如果设置了该项,日志会根据此进行回滚。Hourly使得日志每小时回滚一次,daily - 每天一次,weekly - 每周一次,monthly - 每月一次。除此之外,还可以通过设置RotateDayRotateTime来指定精确的回滚时间。回滚期间,现存日志会被重命名为当前文件名.YYYYMMDD-HHMMSSYYYYMMDD-HHMMSS是当时的时间戳。新的日志会记录在一个空的文件当中。不设置Rotate或者将其设为0均可以将此功能禁用。

示例1 - 每小时回滚一次()00450145...2345):

[LogFile]

Rotate=Hourly

RotateTime=45

 

示例2- 在每天的23点回滚:

[LogFile]

Rotate=Daily

RotateTime=23:00

 

示例3 - 每周日0059回滚:

[LogFile]

Rotate=Weekly

RotateDay=Sun

RotateTime=00:59

 

示例4 - 每个月的最后一天回滚:

[LogFile]

Rotate=Monthly

RotateDay=31

RotateTime=23:00

阅读(2254) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:关于vmware-tool的安装

给主人留下些什么吧!~~