<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>16hot 的博客 &#187; 智能DNS</title>
	<atom:link href="http://www.16hot.com/tag/%e6%99%ba%e8%83%bddns/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.16hot.com</link>
	<description>技术、工作、生活，坚持一种信念，一切皆有可能……</description>
	<lastBuildDate>Sat, 07 Jan 2012 11:09:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>实易嵌入式智能DNS 4.0.0-RELEASE正式版发布</title>
		<link>http://www.16hot.com/2010/11/1173/</link>
		<comments>http://www.16hot.com/2010/11/1173/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 07:05:41 +0000</pubDate>
		<dc:creator>16hot</dc:creator>
				<category><![CDATA[实易智能DNS]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[智能DNS]]></category>

		<guid isPermaLink="false">http://www.16hot.com/?p=1173</guid>
		<description><![CDATA[实易智能DNS系统4.0.0版本，在前面几个重要版本的基础上，继续增加了许多企业级应用功能和增加更多的易用性功能。 新增功能： 1、增加中文域名、记录支持 2、增加双机热备、负载均衡功能 3、增加链路聚合功能 4、增加查询统计图形功能 5、增加域名、记录导出功能 6、增加在线升级功能 7、增加开启、关闭域名智能解析功能 8、增加手工同步时间功能 9、增加中文域名转码工具功能 10、增加设置https的CA证书功能 11、增加根据服务器内存大小自动调整日志、存储空间大小功能 12、增加SSH功能 13、增加IP库更新功能 14、增加system shell功能 易用性调整： 1、增强记录查找功能，可以导出，批量修改等 2、域名、线路管理操作后跳转到当前页等 3、简化安装后初始化网卡配置 4、增加批量导入域名、记录的详细提示信息 5、简化批量导入IP库的功能 6、增加清空线路IP库功能 修正问题： 1、不能导入TXT记录的问题 2、记录查找时，不能翻页的问题 3、不能恢复默认WEB端口、防火墙规则和默认密码 4、whois工具查询中国域名乱码问题 5、修改admin密码后http方式不能登录 6、不能查看中文域名查询统计 7、关闭区域传送功能 软件升级： 1、核心系统升级到FreeBSD-8.1最新稳定版本 2、DNS 升级到9.7.2最新稳定版本 其他说明： 1、只有购买技术服务的用户，才能升级到4.0版。 2、从4.0版本开始采用UTF-8编码，升级前请仔细阅读“如何从3.x升级到4.0版本“的说明。 3、使用前，请仔细阅读4.0版本的使用手册！ 下载地址： 下载页面： http://www.forease.net/product-dl/category/5 4.0.0-RELEASE 32位安装包 4.0.0-RELEASE 32位升级包 4.0.0-RELEASE 64位安装包 4.0.0-RELEASE 64位升级包 更多下载&#8230;]]></description>
			<content:encoded><![CDATA[<p>实易智能DNS系统4.0.0版本，在前面几个重要版本的基础上，继续增加了许多企业级应用功能和增加更多的易用性功能。</p>
<h1>新增功能：</h1>
<blockquote><p>1、增加中文域名、记录支持<br />
2、增加双机热备、负载均衡功能<br />
3、增加链路聚合功能<br />
4、增加查询统计图形功能<br />
5、增加域名、记录导出功能<br />
6、增加在线升级功能<br />
7、增加开启、关闭域名智能解析功能<br />
8、增加手工同步时间功能<br />
9、增加中文域名转码工具功能<br />
10、增加设置https的CA证书功能<br />
11、增加根据服务器内存大小自动调整日志、存储空间大小功能<br />
12、增加SSH功能<br />
13、增加IP库更新功能<br />
14、增加system shell功能</p></blockquote>
<h1>易用性调整：</h1>
<blockquote><p>1、增强记录查找功能，可以导出，批量修改等<br />
2、域名、线路管理操作后跳转到当前页等<br />
3、简化安装后初始化网卡配置<br />
4、增加批量导入域名、记录的详细提示信息<br />
5、简化批量导入IP库的功能<br />
6、增加清空线路IP库功能</p></blockquote>
<h1>修正问题：</h1>
<blockquote><p>1、不能导入TXT记录的问题<br />
2、记录查找时，不能翻页的问题<br />
3、不能恢复默认WEB端口、防火墙规则和默认密码<br />
4、whois工具查询中国域名乱码问题<br />
5、修改admin密码后http方式不能登录<br />
6、不能查看中文域名查询统计<br />
7、关闭区域传送功能</p></blockquote>
<h1>软件升级：</h1>
<blockquote><p>1、核心系统升级到FreeBSD-8.1最新稳定版本<br />
2、DNS 升级到9.7.2最新稳定版本</p></blockquote>
<h1>其他说明：</h1>
<blockquote><p><span style="color: #ff0000;">1、只有购买技术服务的用户，才能升级到4.0版。<br />
2、从4.0版本开始采用UTF-8编码，升级前请仔细阅读“<a href="http://www.forease.net/faq/1/4-3x40" target="_blank">如何从3.x升级到4.0版本</a>“的说明。<br />
3、使用前，请仔细阅读4.0版本的<a href="http://www.forease.net/handbook" target="_blank">使用手册</a>！<br />
</span></p></blockquote>
<h1>下载地址：</h1>
<blockquote><p><a href="http://www.forease.net/product-dl/category/5" target="_blank">下载页面： http://www.forease.net/product-dl/category/5</a></p></blockquote>
<p><a href="http://www.forease.net/product-dl/category/5?download=16%3Afedns-v400-32-iso" target="_blank">4.0.0-RELEASE 32位安装包</a><br />
<a href="http://www.forease.net/product-dl/category/5?download=17%3Afedns-v400-32-img" target="_blank">4.0.0-RELEASE 32位升级包</a></p>
<p><a href="http://www.forease.net/product-dl/category/5?download=18%3Afedns-v400-64-iso" target="_blank">4.0.0-RELEASE 64位安装包</a><br />
<a href="http://www.forease.net/product-dl/category/5?download=19%3Afedns-v400-64-img" target="_blank">4.0.0-RELEASE 64位升级包</a></p>
<p><a href="http://www.forease.net/product-dl/section/1" target="_blank">更多下载&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.16hot.com/2010/11/1173/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>学习PAM模块开发</title>
		<link>http://www.16hot.com/2010/11/1148/</link>
		<comments>http://www.16hot.com/2010/11/1148/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 14:31:41 +0000</pubDate>
		<dc:creator>16hot</dc:creator>
				<category><![CDATA[BSD/linux]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[转载]]></category>
		<category><![CDATA[pam]]></category>
		<category><![CDATA[sshd]]></category>
		<category><![CDATA[智能DNS]]></category>

		<guid isPermaLink="false">http://blog.isyi.com/?p=1148</guid>
		<description><![CDATA[原文地址： http://www.ibm.com/developerworks/cn/linux/l-pamdev/index.html 最近因为在处理SSHD登录，需要用到PAM模块，系统自带的没有能满足需求。只好自己照猫画老虎，模仿学习着写了个pam模块，工作很正常。pam确实很不错的一种认证技术。 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ 本文主要通过对Linux PAM源代码进行分析，阐述了PAM的内部实现机制和怎样在应用程序中应用PAM进行认证，以及怎样开发PAM服务模块。 1 引言 身份认证是操作系统安全的重要机制之一，系统通过认证机制核查用户的身份证明，并作为用户进入系统的判定条件，是防止恶意用户进入系统 的第一道门槛。近年来认证理论和技术得到了迅速发展，产生了各种认证机制，如口令机制，RSA, DCE, kerberos认证体制，S/Key和基于智能卡的身份认证等。然而，当系统中引入新的认证机制时，一些系统入口登录服务如login, rlogin和telnet等应用程序就必须改写以适应新的认证机制。为了解决这个问题，1995年Sun公司的Vipin Samar和 Charlie Lai提出了PAM(Pluggable Authentication Modules)，并将其应用在Solaris系统上。PAM框架将应用程序与具体的认证机制分离，使得系统改变认证机制时，不再需要修改采用认证机制的 应用程序，而只要由管理员配置应用程序的认证服务模块，极大地提高了认证机制的通用性与灵活性。 现在大多数操作系统都采用PAM实现身份认证，有Linux系统的Linux-PAM和FreeBSD5.x采用的OpenPAM(FreeBSD 4.x采用的是Linux-PAM)等。它们的实现原理一样，只有实现细节不同而已。下面从PAM的应用开发开始介绍。 回页首 2 PAM的应用开发 2.1 PAM框架概览 PAM即可插拔认证模块。它提供了对所有服务进行认证的中央机制，适用于login，远程登录 （telnet,rlogin,fsh,ftp,点对点协议（PPP）），su等应用程序中。系统管理员通过PAM配置文件来制定不同应用程序的不同认证 策略；应用程序开发者通过在服务程序中使用PAM API(pam_xxxx( ))来实现对认证方法的调用；而PAM服务模块的开发者则利用PAM SPI来编写模块（主要是引出一些函数pam_sm_xxxx( )供PAM接口库调用），将不同的认证机制加入到系统中；PAM接口库（libpam）则读取配置文件，将应用程序和相应的PAM服务模块联系起来。 PAM框架结构如图所示。 图 PAM框架结构图 其中，pamh是一个pam_handle类型的结构，它是一个非常重要的处理句柄，是PAM与应用程序通信的唯一数据结构，也是调用PAM接口库API的唯一句柄。pam_handle数据结构将在下面的源代码分析一节的介绍。 另外，如上图所示的服务模块分auth（认证管理）、account（账号管理）、session（会话管理）、passwd（口令管 理）四种类型，各个类型模块的作用以及配置文件的四个组成部分模块类型、控制标志、模块路径、模块参数等在很多讲PAM的配置管理的文章里都有介绍，这里 就不再赘述了。 2.2 在应用程序中使用PAM认证 每个使用PAM认证的应用程序都以pam_start开始，pam_end结束。PAM还提供了pam_get_item和 pam_set_item共享有关认证会话的某些公共信息，例如用户名，服务名，密码和会话函数。应用程序在调用了pam_start ()后也能够用这些APIs来改变状态信息。实际做认证工作的API函数有六个（以下将这六个函数简称为认证API）： 认证管理&#8211;包括pam_authenticate ()函数认证用户，pam_setcred ()设置，刷新，或销毁用户证书。 账号管理&#8211;包括pam_acc_mgmt ()检查认证的用户是否可以访问他们的账户，该函数可以实现口令有效期，访问时间限制等。 会话管理&#8211;包括pam_open_session ()和pam_close_session ()函数用来管理会话和记账。例如，系统可以存储会话的全部时间。 口令管理&#8211;包括pam_chauthok ()函数用来改变密码。 [...]]]></description>
			<content:encoded><![CDATA[<p>原文地址： http://www.ibm.com/developerworks/cn/linux/l-pamdev/index.html</p>
<p>最近因为在处理SSHD登录，需要用到PAM模块，系统自带的没有能满足需求。只好自己照猫画老虎，模仿学习着写了个pam模块，工作很正常。pam确实很不错的一种认证技术。</p>
<p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝</p>
<p>本文主要通过对Linux PAM源代码进行分析，阐述了PAM的内部实现机制和怎样在应用程序中应用PAM进行认证，以及怎样开发PAM服务模块。</p>
<p><a name="N10039">1	引言</a></p>
<p>身份认证是操作系统安全的重要机制之一，系统通过认证机制核查用户的身份证明，并作为用户进入系统的判定条件，是防止恶意用户进入系统 的第一道门槛。近年来认证理论和技术得到了迅速发展，产生了各种认证机制，如口令机制，RSA, DCE,  kerberos认证体制，S/Key和基于智能卡的身份认证等。然而，当系统中引入新的认证机制时，一些系统入口登录服务如login,  rlogin和telnet等应用程序就必须改写以适应新的认证机制。为了解决这个问题，1995年Sun公司的Vipin Samar和  Charlie Lai提出了PAM(Pluggable Authentication  Modules)，并将其应用在Solaris系统上。PAM框架将应用程序与具体的认证机制分离，使得系统改变认证机制时，不再需要修改采用认证机制的 应用程序，而只要由管理员配置应用程序的认证服务模块，极大地提高了认证机制的通用性与灵活性。</p>
<p>现在大多数操作系统都采用PAM实现身份认证，有Linux系统的Linux-PAM和FreeBSD5.x采用的OpenPAM(FreeBSD 4.x采用的是Linux-PAM)等。它们的实现原理一样，只有实现细节不同而已。下面从PAM的应用开发开始介绍。</p>
<div>
<hr /></div>
<p><a href="http://www.ibm.com/developerworks/cn/linux/l-pamdev/index.html#ibm-pcon">回页首</a></p>
<p><a name="N10045">2	PAM的应用开发</a></p>
<p><a name="N1004B">2.1	PAM框架概览</a></p>
<p>PAM即可插拔认证模块。它提供了对所有服务进行认证的中央机制，适用于login，远程登录 （telnet,rlogin,fsh,ftp,点对点协议（PPP）），su等应用程序中。系统管理员通过PAM配置文件来制定不同应用程序的不同认证 策略；应用程序开发者通过在服务程序中使用PAM API(pam_xxxx( ))来实现对认证方法的调用；而PAM服务模块的开发者则利用PAM  SPI来编写模块（主要是引出一些函数pam_sm_xxxx(  )供PAM接口库调用），将不同的认证机制加入到系统中；PAM接口库（libpam）则读取配置文件，将应用程序和相应的PAM服务模块联系起来。 PAM框架结构如图所示。<br />
<a name="N10056"><strong>图 PAM框架结构图</strong></a><br />
<img src="http://www.ibm.com/developerworks/cn/linux/l-pamdev/image002.gif" border="0" alt="图 PAM框架结构图" width="471" height="228" /></p>
<p>其中，pamh是一个pam_handle类型的结构，它是一个非常重要的处理句柄，是PAM与应用程序通信的唯一数据结构，也是调用PAM接口库API的唯一句柄。pam_handle数据结构将在下面的源代码分析一节的介绍。</p>
<p>另外，如上图所示的服务模块分auth（认证管理）、account（账号管理）、session（会话管理）、passwd（口令管 理）四种类型，各个类型模块的作用以及配置文件的四个组成部分模块类型、控制标志、模块路径、模块参数等在很多讲PAM的配置管理的文章里都有介绍，这里 就不再赘述了。</p>
<p><a name="N1006D">2.2	在应用程序中使用PAM认证</a></p>
<p>每个使用PAM认证的应用程序都以pam_start开始，pam_end结束。PAM还提供了pam_get_item和 pam_set_item共享有关认证会话的某些公共信息，例如用户名，服务名，密码和会话函数。应用程序在调用了pam_start  ()后也能够用这些APIs来改变状态信息。实际做认证工作的API函数有六个（以下将这六个函数简称为认证API）：</p>
<ul>
<li>认证管理&#8211;包括pam_authenticate ()函数认证用户，pam_setcred ()设置，刷新，或销毁用户证书。</li>
<li>账号管理&#8211;包括pam_acc_mgmt ()检查认证的用户是否可以访问他们的账户，该函数可以实现口令有效期，访问时间限制等。</li>
<li>会话管理&#8211;包括pam_open_session ()和pam_close_session ()函数用来管理会话和记账。例如，系统可以存储会话的全部时间。</li>
<li>口令管理&#8211;包括pam_chauthok ()函数用来改变密码。</li>
</ul>
<p>下面看一个简单的login模拟程序：</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<pre> /* 使用PAM所必需的两个头文件*/
#include &lt;security/pam_appl.h&gt;
#include &lt;security/pam_misc.h&gt;
void main(int argc, char *argv[], char **renvp)
{
    /* 初始化，并提供一个回调函数 */
    if ((pam_start("login", user_name, &amp;pam_conv, &amp;pamh)) != PAM_SUCCESS)
        exit(1);
    /* 设置一些关于认证用户信息的参数 */
    pam_set_item(pamh, PAM_TTY, ttyn);
    pam_set_item(pamh, PAM_RHOST, remote_host);
    while (!authenticated &amp;&amp; retry &lt; MAX_RETRIES)
    {
        status = pam_authenticate(pamh, 0);/* 认证，检查用户输入的密码是否正确 */
}
/* 认证失败则应用程序退出*/
    if (status != PAM_SUCCESS)
    {
      	……
        exit(1);
}
    /*  通过了密码认证之后再调用帐号管理API，检查用户帐号是否已经过期 */
    if ((status = pam_acct_mgmt(pamh, 0)) != PAM_SUCCESS)
    {
        if (status == PAM_AUTHTOK_EXPIRED)
        {
            status = pam_chauthtok(pamh, 0);  /* 过期则要求用户更改密码 */
            if (status != PAM_SUCCESS)
                exit(1);
        }
    }
    /* 通过帐户管理检查之后则打开会话 */
    if (status = pam_open_session(pamh, 0) != PAM_SUCCESS)
        exit(status);
	……
    /* 建立认证服务的用户证书*/
    status = pam_setcred(pamh, PAM_ESTABLISH_CRED);
    if (status != PAM_SUCCESS)
       exit(status);
   	……
pam_end(pamh, PAM_SUCCESS);  /* PAM事务的结束 */
……
 }
</pre>
</td>
</tr>
</tbody>
</table>
<p>从上面程序中，我们可以了解到使用PAM认证的一般流程，同时也可以看出PAM API使得使用认证的应用程序不仅不用关心底层使用的服务模块，而且编写起来简洁明了得多。</p>
<p>有关开发使用PAM的应用程序更加详细完整的阐述请参考The Linux-PAM Application Developers&#8217; Guide。</p>
<p><a name="N10092">2.3	怎样开发PAM服务模块</a></p>
<p>首先在编写的服务模块的源程序里要包含下列头文件：</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<pre>#include &lt;security/pam_modules.h&gt;
</pre>
</td>
</tr>
</tbody>
</table>
<p>PAM的服务模块是一个一个的动态链接库文件（也可以是静态库），PAM接口库通过dlopen来装载这些库。假设源程序名为pam_module-name.c，则需要用下列命令将其编译成动态链接库：</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<pre>gcc -fPIC -c pam_module-name.c
ld -x --shared -o pam_module-name.so pam_module-name.o
</pre>
</td>
</tr>
</tbody>
</table>
<p>选项-fPIC是指位置无关代码(Position Independent Code)，这类代码支持大偏移。使用&#8211;shared选项将目标代码放进共享目标库中。</p>
<p>四种类型的模块各自要实现的函数如下表所示：</p>
<table border="1" width="98%">
<tbody>
<tr>
<td>模块类型</td>
<td>要实现的函数</td>
<td>函数功能</td>
</tr>
<tr>
<td rowspan="2">认证管理</td>
<td>PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv)</td>
<td>认证用户</td>
</tr>
<tr>
<td>PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv)</td>
<td>设置用户证书</td>
</tr>
<tr>
<td>账号管理</td>
<td>PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv)</td>
<td>帐号管理</td>
</tr>
<tr>
<td rowspan="2">会话管理</td>
<td>PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv)</td>
<td>打开会话</td>
</tr>
<tr>
<td>PAM_EXTERN int pam_sm_close_session(pam_handle_t *pamh, int flags, int argc, const char **argv)</td>
<td>关闭会话</td>
</tr>
<tr>
<td>口令管理</td>
<td>PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const char **argv)</td>
<td>设置口令</td>
</tr>
</tbody>
</table>
<p>当然同一个服务模块可以同时属于多种类型，只要这些类型模块要实现的函数都实现了就可以，比如PAM自带的经典口令认证机制模块pam_unix.so 就可以支持四种模块类型。</p>
<p>下面来看一个最简单的pam_deny模块的源程序pam_deny.c:</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<pre>1.	#define PAM_SM_AUTH
2.	#define PAM_SM_ACCOUNT
3.	#define PAM_SM_SESSION
4.	#define PAM_SM_PASSWORD
5.	#include "../../libpam/include/security/pam_modules.h"
6.	/* --- 认证管理函数的实现--- */
7.	PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh,int flags,int argc
8.	,const char **argv)
9.	{
10.	    return PAM_AUTH_ERR;
11.	}
12.	PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh,int flags,int argc
13.	,const char **argv)
14.	{
15.	    return PAM_CRED_UNAVAIL;
16.	}
17.	/* --- 账号管理函数的实现 --- */
18.	PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh,int flags,int argc
19.	,const char **argv)
20.	{
21.	    return PAM_ACCT_EXPIRED;
22.	}
23.	/* --- 口令管理函数的实现 --- */
24.	PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh,int flags,int argc
25.	,const char **argv)
26.	{
27.	    return PAM_AUTHTOK_ERR;
28.	}
29.	/* --- 会话管理函数的实现 --- */
30.	PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh,int flags,int argc
31.	,const char **argv)
32.	{
33.	    return PAM_SYSTEM_ERR;
34.	}
35.	PAM_EXTERN int pam_sm_close_session(pam_handle_t *pamh,int flags,int argc
36.	,const char **argv)
37.	{
38.	    return PAM_SYSTEM_ERR;
39.	}
40.	/* 模块定义结束 */
41.	/* 静态模块数据 */
42.	#ifdef PAM_STATIC
43.	struct pam_module _pam_deny_modstruct = {
44.	   "pam_deny",
45.	    pam_sm_authenticate,
46.	    pam_sm_setcred,
47.	    pam_sm_acct_mgmt,
48.	    pam_sm_open_session,
49.	    pam_sm_close_session,
50.	    pam_sm_chauthtok
51.	};
52.	#endif
</pre>
</td>
</tr>
</tbody>
</table>
<p>很容易看出，pam_deny模块支持四种模块类型。前4行包含静态模块的一些原型申明，第37-39行实现了四种模块类型的函数，因 为这只是一个简单的拒绝服务的模块，所以这些函数只是简单地返回认证错或系统错等PAM错误。最后几行定义了该程序被编译成静态模块所需的一个模块数据结 构。</p>
<p>因此，PAM SPI使得服务模块的开发也相当简单和专一，因为服务模块不再需要考虑和应用程序的交互，只要将自己采用的算法实现好就可以了。</p>
<p>模块源程序可用的flags参数值和返回值的定义这里不作全面介绍，有兴趣者请参考The Linux-PAM Module Writers&#8217; Guide。</p>
<div>
<hr /></div>
<p><a href="http://www.ibm.com/developerworks/cn/linux/l-pamdev/index.html#ibm-pcon">回页首</a></p>
<p><a name="N10116">3	PAM接口库源代码分析</a></p>
<p>上面我们介绍了怎样使用PAM和怎样开发PAM服务模块，要想对PAM的内部机制有个透彻的理解，还需要进一步分析PAM接口库的代码。下面基于Linux 的pam-0.75-40.src.rpm包所得的源代码进行分析。</p>
<p><a name="N1011F">3.1	PAM接口库主要数据结构</a></p>
<p>先看一下PAM接口库用到的一些主要数据结构。pam_handle和其他几个主要的数据结构（见../libpam/pam_private.h）及其之间的关系如下图所示。<br />
<img src="http://www.ibm.com/developerworks/cn/linux/l-pamdev/image004.gif" border="0" alt="" width="415" height="325" /></p>
<p>其中pam_handle包含认证的用户的token、用户名、应用程序名、终端名等信息，以及一个service结构（handlers）；前面几节提到的pamh句柄就是一个pam_handle结构。service结构包含服务模块的相关信息，各个域的含义是：</p>
<p>1.	module&#8211;该结构包含装载的模块的名字、类型（静态或动态模块）、链接句柄（装载模块时的句柄）。</p>
<p>2.	modules_allocated&#8211;分配的模块数。</p>
<p>3.	modules_used&#8211;已使用的模块数。</p>
<p>4.	handlers_loaded&#8211;是否对操作(handlers结构)进行了初始化，handlers结构和初始化handlers见下面的介绍。</p>
<p>5.	conf&#8211;由应用程序相对应的配置文件指定的服务模块的handlers。</p>
<p>6.	other&#8211;为缺省配置文件指定的服务模块的handlers。</p>
<p>handlers结构包含六个handler结构链表的指针，六个指针分别对应六种不同的认证API；libpam通过这些指针找到对应模块的SPI服务函数。如下表所示：</p>
<table border="1" width="98%">
<tbody>
<tr>
<td>handler指针</td>
<td>API函数</td>
<td>SPI函数</td>
</tr>
<tr>
<td>authenticate</td>
<td>pam_authenticate( )</td>
<td>pam_sm_authenticate( )</td>
</tr>
<tr>
<td>setcred</td>
<td>pam_setcred( )</td>
<td>pam_sm_setcred( )</td>
</tr>
<tr>
<td>acct_mgmt</td>
<td>pam_acct_mgmt( )</td>
<td>pam_sm_acct_mgmt( )</td>
</tr>
<tr>
<td>open_session</td>
<td>pam_open_session( )</td>
<td>pam_sm_open_session( )</td>
</tr>
<tr>
<td>close_session</td>
<td>pam_close_session( )</td>
<td>pam_sm_close_session( )</td>
</tr>
<tr>
<td>chauthtok</td>
<td>pam_chauthtok( )</td>
<td>pam_sm_chauthtok( )</td>
</tr>
</tbody>
</table>
<p>handler数据结构是最直接保存服务模块的SPI服务函数的地址及参数的结构，其包含的主要的域的含义如下：</p>
<p>1．	(*func)&#8211;该函数指针指向handlers所装载的服务模块的服务函数。</p>
<p>2．	argc、**argv&#8211;分别为*func所指向的函数的参数个数和参数列表。</p>
<p>3．	*next&#8211;指向堆栈模块中的下一个服务模块的服务函数。由此指针形成所有堆栈模块的服务函数链。</p>
<p><a name="N101B9">3.2	PAM接口库重要内部函数分析</a></p>
<p>PAM接口库中有一系列_pam开头的内部函数，那些APIs主要是调用这些内部函数来完成其功能的。</p>
<p>int _pam_add_handler(pam_handle_t *pamh, int must_fail, int  other, int type, int *actions, const char *mod_path, int argc, char  **argv, int argvlen)</p>
<p>该函数负责加载服务模块的SPI函数。这个函数代码很长有300多行，这里就不列举了。其主要步骤如下：</p>
<p>1.	根据mod_path提供的模块路径装载服务模块(dl_open)。</p>
<p>2.	由type确定的类型来决定要装入的SPI函数名并找到该函数(dlsym)的地址。type类型对应配置文件中的服务模块的四种类型标记，type的值及其对应的要装入的SPI函数名见下表。</p>
<table border="1" width="98%">
<tbody>
<tr>
<td>模块类型</td>
<td>type</td>
<td>SPI函数</td>
</tr>
<tr>
<td>认证管理模块</td>
<td>PAM_T_AUTH</td>
<td>pam_sm_authenticate<br />
pam_sm_setcred</td>
</tr>
<tr>
<td>会话管理模块</td>
<td>PAM_T_SESS</td>
<td>pam_sm_open_session<br />
pam_sm_close_session</td>
</tr>
<tr>
<td>帐号管理模块</td>
<td>PAM_T_ACCT</td>
<td>pam_sm_acct_mgmt</td>
</tr>
<tr>
<td>口令管理模块</td>
<td>PAM_T_PASS</td>
<td>pam_sm_chauthtok</td>
</tr>
</tbody>
</table>
<p>3.	新分配一个handler结构，将dlsym找到的函数的地址赋给该handler结构的func域，并填充其他的结构信息。</p>
<p>4.	将新分配的handler结构插入到handlers的对应handler结构链表中。</p>
<p>_pam_parse_conf_file函数负责读并分析PAM配置文件，将相关的信息填充到pamh句柄中，并调用_pam_add_handlers加载服务模块的服务函数。</p>
<p>_pam_init_handlers函数主要做handler的初始化工作，先判断handler是否已初始化，若没有则调用_pam_parse_conf_file分析配置文件加载服务模块的服务函数。</p>
<p>_pam_dispatch_aux(pam_handle_t *pamh, int flags, struct handler *h,……)</p>
<p>该函数负责遍历执行模块堆栈中的每一个服务模块对应的SPI函数，即执行h指向的handler结构链表中的每一个func指向的函数，并返回模块堆栈的结果值。</p>
<p>int _pam_dispatch(pam_handle_t *pamh, int flags, int choice)</p>
<p>该函数首先通过调用_pam_init_handlers将模块调度请求转换为指向实际要运行的模块堆栈函数链表的指针，并将该指针传 递给_pam_dispatch_aux函数来遍历模块堆栈执行服务函数。该函数是实现六个认证API函数的主要部分和公共调用的函数，通过choice 选项来区分是哪个认证API函数。</p>
<p>下面分析我们最关心的部分，也即那些认证API是怎样找到和调度配置文件中配置的服务模块的？</p>
<p><a name="N10230">3.3	PAM认证API的实现</a></p>
<p>为了更加清楚地说明PAM接口库是怎样来调度使用模块的，下面给出了pam_authenticate函数执行的流程图：<br />
<img src="http://www.ibm.com/developerworks/cn/linux/l-pamdev/image006.gif" border="0" alt="" width="382" height="510" /></p>
<p>其他的认证API函数（pam_open_session等）执行过程前面五个步骤同上图，只是在最后一步时传递给_pam_dispatch_aux的指针参数不同，传递3.1节表中每个API函数相对应的那个handler型指针，然后执行相对应的SPI服务函数链。</p>
<div>
<hr /></div>
<p><a href="http://www.ibm.com/developerworks/cn/linux/l-pamdev/index.html#ibm-pcon">回页首</a></p>
<p><a name="N1024E">4	小结</a></p>
<p>无论从PAM的应用开发还是它的实现原理来看，这个框架及其思想都是非常完美的，所以几乎各种版本的 UNIX 系统都提供对 PAM  的支持。本文通过对Linux-PAM  进行了深入仔细的分析，阐述了它的内部实现机制，并且讲述了怎样在应用程序中使用PAM和怎样开发PAM服务模块，希望能对大家做认证相关的开发工作有所 帮助。</p>
<p><a name="resources">参考资料 </a></p>
<ol>
<li>[Vipin Samar, Charlie Lai, 1995]<br />
Making Login Services Independent of Authentication Technologies. Sun Technical report.</li>
<li>[Andrew G. Morgan, 2001]<br />
The Linux-PAM Module Writers&#8217; Guide. Linux-PAM Documentation.</li>
<li>[Andrew G. Morgan, 2001]<br />
The Linux-PAM Module Writers&#8217; Guide. Linux-PAM Documentation.</li>
</ol>
<p><a name="author">关于作者</a></p>
<div>
<div>
<p><a name="author1"></a>程卫芳，国防科技大学计算机学院在读硕士，研究方向为安全操作系统。 Email:          <a href="mailto:desertbow@sina.com">desertbow@sina.com</a></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.16hot.com/2010/11/1148/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>实易嵌入式智能DNS 3.1.0-RELEASE正式版发布</title>
		<link>http://www.16hot.com/2010/07/997/</link>
		<comments>http://www.16hot.com/2010/07/997/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 01:58:30 +0000</pubDate>
		<dc:creator>16hot</dc:creator>
				<category><![CDATA[实易智能DNS]]></category>
		<category><![CDATA[3.1]]></category>
		<category><![CDATA[fedns]]></category>
		<category><![CDATA[智能DNS]]></category>

		<guid isPermaLink="false">http://blog.isyi.com/?p=997</guid>
		<description><![CDATA[修正问题： 1、解决导入时重复记录问题 2、线路列表上下移动的问题 3、安全规则上下移动的问题 4、TXT记录安全 过滤限制了~符号的问题 5、 HTTP登录时，帐号信息不显示问题 6、添加 线路IP，停止、禁用状态不一致问题 7、在具体线路列表里，看不到改变后应用按钮问题 新增功能： 1、日志搜索功能 2、日志清空功能 3、日志导出功能 4、终端恢复默认 80端口 5、记录查找结果快速修改及分页功能 6、域名、记录备注功能 7、远程数据备份接口功能 8、产品注销注册功能 9、 重启DNS服务 10、黑名单功能(线路管理) 11、 DNSSEC 功能 12、设置系统时间功能 软件升级： 1、核心系统升级到FreeBSD-8.0最新稳定版本 2、 bind 升级到9.4-ESV最新稳定版本 3、分别支持32位和64位CPU两个版本 下载地址： 3.1.0-RELEASE 32位安装包 3.1.0-RELEASE 64位安装包 更多下载&#8230; 升级说明： 警告： 1、只能从3.0版本升级到3.1版本，不能从2.x版本升级到3.1版本 2、升级之前，务必先备份数据 1、备份数据，在“数据备份”，点击“导出数据” 2、上传升级 2.1、下载IMG文件； 2.2、在“升级系统”里，上传IMG； 2.3、其中“数字签名”，将下载描述里的MD5校验码拷贝到“粘贴数字签名”里； 2.4、上传成功后，会自动校验，升级完毕后会自动重启。 3、光盘升级 3.1、下载3.1版ISO文件，刻录光盘 3.2、重新安装系统； 3.3、启动后，登录进去，在“数据备份”，将备份文件导入，注意要选择“覆盖旧数据”； 3.4、数据导入后，将会自动重启。]]></description>
			<content:encoded><![CDATA[<h1>修正问题：</h1>
<p>1、解决导入时重复记录问题<br />
2、线路列表上下移动的问题<br />
3、安全规则上下移动的问题<br />
4、TXT记录安全 过滤限制了~符号的问题<br />
5、 HTTP登录时，帐号信息不显示问题<br />
6、添加 线路IP，停止、禁用状态不一致问题<br />
7、在具体线路列表里，看不到改变后应用按钮问题</p>
<h1>新增功能：</h1>
<p>1、日志搜索功能<br />
2、日志清空功能<br />
3、日志导出功能<br />
4、终端恢复默认 80端口<br />
5、记录查找结果快速修改及分页功能<br />
6、域名、记录备注功能<br />
7、远程数据备份接口功能<br />
8、产品注销注册功能<br />
9、 重启DNS服务<br />
10、黑名单功能(线路管理)<br />
11、 DNSSEC 功能<br />
12、设置系统时间功能</p>
<h1>软件升级：</h1>
<p>1、核心系统升级到FreeBSD-8.0最新稳定版本<br />
2、 bind 升级到9.4-ESV最新稳定版本<br />
3、分别支持32位和64位CPU两个版本</p>
<h1>下载地址：</h1>
<p><a href="http://www.forease.net/app/dcount.php?v=3.1.0-RELEASE[x86_32]-ISO" target="_blank"> 3.1.0-RELEASE 32位安装包 </a></p>
<p><a href="http://www.forease.net/app/dcount.php?v=3.1.0-RELEASE[x86_64]-ISO" target="_blank">3.1.0-RELEASE  64位安装包 </a></p>
<p><a href="http://www.forease.net/product-dl/category/2-" target="_blank">更多下载&#8230; </a></p>
<h1>升级说明：</h1>
<h3><span style="color: #ff0000;"> 警告：</span></h3>
<h3><span style="color: #ff0000;"> 1、只能从3.0版本升级到3.1版本，不能从2.x版本升级到3.1版本</span></h3>
<h3><span style="color: #ff0000;"> 2、升级之前，务必先备份数据</span></h3>
<p>1、备份数据，在“数据备份”，点击“导出数据”<br />
2、上传升级<br />
2.1、下载IMG文件；<br />
2.2、在“升级系统”里，上传IMG；<br />
2.3、其中“数字签名”，将下载描述里的MD5校验码拷贝到“粘贴数字签名”里；<br />
2.4、上传成功后，会自动校验，升级完毕后会自动重启。<br />
3、光盘升级<br />
3.1、下载3.1版ISO文件，刻录光盘<br />
3.2、重新安装系统；<br />
3.3、启动后，登录进去，在“数据备份”，将备份文件导入，注意要选择“覆盖旧数据”；<br />
3.4、数据导入后，将会自动重启。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.16hot.com/2010/07/997/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>实易嵌入式智能DNS 3.1.0版功能说明</title>
		<link>http://www.16hot.com/2010/06/982/</link>
		<comments>http://www.16hot.com/2010/06/982/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 00:13:39 +0000</pubDate>
		<dc:creator>16hot</dc:creator>
				<category><![CDATA[实易智能DNS]]></category>
		<category><![CDATA[fedns]]></category>
		<category><![CDATA[foreasedns]]></category>
		<category><![CDATA[智能DNS]]></category>

		<guid isPermaLink="false">http://blog.isyi.com/?p=982</guid>
		<description><![CDATA[修正问题： 1、解决导入时重复记录问题 2、线路列表上下移动的问题 3、安全规则上下移动的问题 4、TXT记录安全 过滤限制了~符号的问题 5、 HTTP登录时，帐号信息不显示问题 6、添加 线路IP，停止、禁用状态不一致问题 7、在具体线路列表里，看不到改变后应用按钮问题 新增功能： 1、日志搜索功能 2、日志清空功能 3、日志导出功能 4、终端恢复默认 80端口 5、记录查找结果快速修改及分页功能 6、域名、记录备注功能 7、远程数据备份接口功能 8、产品注销注册功能 9、 重启DNS服务 10、黑名单功能 11、 DNSSEC 功能 12、设置系统时间功能 软件升级： 1、核心系统升级到FreeBSD-8.0最新稳定版本 2、bind 升级到9.4-ESV最新稳定版本 3、分别支持32位和64位CPU两个版本 下载地址： 3.1.0-BETA3 32位安装包 3.1.0-BETA3 64位安装包 更多下载&#8230;]]></description>
			<content:encoded><![CDATA[<p><strong>修正问题：</strong></p>
<blockquote><p>1、解决导入时重复记录问题<br />
2、线路列表上下移动的问题<br />
3、安全规则上下移动的问题<br />
4、TXT记录安全 过滤限制了~符号的问题<br />
5、 HTTP登录时，帐号信息不显示问题<br />
6、添加 线路IP，停止、禁用状态不一致问题<br />
7、在具体线路列表里，看不到改变后应用按钮问题</p></blockquote>
<p><strong>新增功能：</strong></p>
<blockquote><p>1、日志搜索功能<br />
2、日志清空功能<br />
3、日志导出功能<br />
4、终端恢复默认 80端口<br />
5、记录查找结果快速修改及分页功能<br />
6、域名、记录备注功能<br />
7、远程数据备份接口功能<br />
8、产品注销注册功能<br />
9、 重启DNS服务<br />
10、黑名单功能<br />
11、 DNSSEC 功能<br />
12、设置系统时间功能</p></blockquote>
<p><strong>软件升级：</strong></p>
<blockquote><p>1、核心系统升级到FreeBSD-8.0最新稳定版本<br />
2、bind 升级到9.4-ESV最新稳定版本<br />
3、分别支持32位和64位CPU两个版本</p></blockquote>
<p><strong>下载地址：</strong></p>
<blockquote><p><a href="http://www.forease.net/app/dcount.php?v=3.1.0-BETA3[x86_32]-ISO" target="_blank">3.1.0-BETA3 32位安装包</a></p>
<p><a href="http://www.forease.net/app/dcount.php?v=3.1.0-BETA3[x86_64]-ISO" target="_blank">3.1.0-BETA3 64位安装包</a></p>
<p><a href="http://www.forease.net/product-dl/category/2-" target="_blank"> 更多下载&#8230;</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.16hot.com/2010/06/982/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>实易嵌入式智能DNS系统 2.3.0-RELEASE版</title>
		<link>http://www.16hot.com/2008/12/514/</link>
		<comments>http://www.16hot.com/2008/12/514/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 04:23:30 +0000</pubDate>
		<dc:creator>16hot</dc:creator>
				<category><![CDATA[实易智能DNS]]></category>
		<category><![CDATA[智能DNS]]></category>

		<guid isPermaLink="false">http://blog11.isyi.com/?p=514</guid>
		<description><![CDATA[实易嵌入式智能DNS系统 2.3.0-RELEASE版 版本说明： 继2.0，2.1，2.2三个版本的推出，我们将在内部已经测试了将近半年的健康检测模块部分的功能集成在2.3版本里。这次发布的2.3-RELEASE版本，是集成健康检测、负载均衡后的第一个正式版本。在这个版本里引入地址池管理概念。 地址池管理，是通过管理地址池里的IP地址，达到添加一个记录，指向多个IP的效果。以前如果有10台WEB服务器，需要通过DNS轮询的话，就需要添加10条A记录。有地址池管理后，只需要在地址池里添加10个IP地址，然后在域名管理里添加一条A记录。并且这个地址池还可以重复使用。 健康检测功能，是针对在实易智能DNS系统管理的域名的记录IP地址进行健康检测。当根据添加地址池的IP地址时设定的检测方式进行检测后发现该IP主机异常（宕机、服务停止）时，会根据设定采取的措施来处理，或者停用，或者替换为新的IP。 未来的负载均衡功能，会根据接口获取目标主机的负载，跟设定的权值比较。当负载值大于或等于权值时，采取指定的停用或替换措施。 通过这两个功能，可以克服传统DNS系统无法判断记录指向的主机是否正常运行，负载是否承载的了的问题。 新功能： 1、支持IPV6协议 2、支持A6、AAAA记录 3. 增加健康检查模块 4. 增加地址池管理功能 5、全面支持5种健康检测方法：ping、snmp、URL、服务端口和服务接口 修复BUG： 1、修正快速搜索域名时，没有只搜索第一个字母的问题 2、修正快速批量修改记录时记录类型判断 3、修正高级修改记录时，对记录类型的判断 4、修正重复防火墙记录的警告提示问题 其他： 1、完善创建域名的相关提示信息 2、完善首页产品指引信息 3、调整升级IMG文件的MD5校验码获取方式 4、完善地址池管理 5、完善健康检测服务端程序 6、完善普通用户修改密码功能 7、更改“区域”为“线路” 下载地址： http://fedns.isyi.com/download/index.shtml#2.3 使用手册： 在线阅读或者下载阅读： http://fedns.isyi.com/docs/index.shtml]]></description>
			<content:encoded><![CDATA[<p>实易嵌入式智能DNS系统 2.3.0-RELEASE版<br />
版本说明：<br />
继2.0，2.1，2.2三个版本的推出，我们将在内部已经测试了将近半年的健康检测模块部分的功能集成在2.3版本里。这次发布的2.3-RELEASE版本，是集成健康检测、负载均衡后的第一个正式版本。在这个版本里引入地址池管理概念。</p>
<p>地址池管理，是通过管理地址池里的IP地址，达到添加一个记录，指向多个IP的效果。以前如果有10台WEB服务器，需要通过DNS轮询的话，就需要添加10条A记录。有地址池管理后，只需要在地址池里添加10个IP地址，然后在域名管理里添加一条A记录。并且这个地址池还可以重复使用。</p>
<p>健康检测功能，是针对在实易智能DNS系统管理的域名的记录IP地址进行健康检测。当根据添加地址池的IP地址时设定的检测方式进行检测后发现该IP主机异常（宕机、服务停止）时，会根据设定采取的措施来处理，或者停用，或者替换为新的IP。</p>
<p>未来的负载均衡功能，会根据接口获取目标主机的负载，跟设定的权值比较。当负载值大于或等于权值时，采取指定的停用或替换措施。</p>
<p>通过这两个功能，可以克服传统DNS系统无法判断记录指向的主机是否正常运行，负载是否承载的了的问题。</p>
<p>新功能：<br />
1、支持IPV6协议<br />
2、支持A6、AAAA记录<br />
3. 增加健康检查模块<br />
4. 增加地址池管理功能<br />
5、全面支持5种健康检测方法：ping、snmp、URL、服务端口和服务接口</p>
<p>修复BUG：<br />
1、修正快速搜索域名时，没有只搜索第一个字母的问题<br />
2、修正快速批量修改记录时记录类型判断<br />
3、修正高级修改记录时，对记录类型的判断<br />
4、修正重复防火墙记录的警告提示问题</p>
<p>其他：<br />
1、完善创建域名的相关提示信息<br />
2、完善首页产品指引信息<br />
3、调整升级IMG文件的MD5校验码获取方式<br />
4、完善地址池管理<br />
5、完善健康检测服务端程序<br />
6、完善普通用户修改密码功能<br />
7、更改“区域”为“线路”</p>
<p>下载地址：</p>
<p><a href="http://fedns.isyi.com/download/index.shtml#2.3">http://fedns.isyi.com/download/index.shtml#2.3</a></p>
<p>使用手册：<br />
在线阅读或者下载阅读：<br />
<a href="http://fedns.isyi.com/docs/index.shtml">http://fedns.isyi.com/docs/index.shtml</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.16hot.com/2008/12/514/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>实易嵌入式智能DNS系统 2.3.0-RC1版</title>
		<link>http://www.16hot.com/2008/12/512/</link>
		<comments>http://www.16hot.com/2008/12/512/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 06:51:02 +0000</pubDate>
		<dc:creator>16hot</dc:creator>
				<category><![CDATA[实易智能DNS]]></category>
		<category><![CDATA[嵌入式系统]]></category>
		<category><![CDATA[智能DNS]]></category>

		<guid isPermaLink="false">http://blog11.isyi.com/?p=512</guid>
		<description><![CDATA[实易嵌入式智能DNS系统 2.3.0-RC1版 新功能： 修复BUG： 1、解修正高级修改记录时，对记录类型的判断 升级： 其他： 1、完善普通用户修改密码功能 2、更改“区域”为“线路” 3、 下载地址： http://fedns.isyi.com/download/index.shtml#2.3 使用手册： 在线阅读或者下载阅读： http://fedns.isyi.com/docs/index.shtml]]></description>
			<content:encoded><![CDATA[<p>实易嵌入式智能DNS系统 2.3.0-RC1版</p>
<p>新功能：</p>
<p>修复BUG：<br />
1、解修正高级修改记录时，对记录类型的判断</p>
<p>升级：</p>
<p>其他：<br />
1、完善普通用户修改密码功能<br />
2、更改“区域”为“线路”<br />
3、</p>
<p>下载地址：</p>
<p>http://fedns.isyi.com/download/index.shtml#2.3</p>
<p>使用手册：<br />
在线阅读或者下载阅读：</p>
<p>http://fedns.isyi.com/docs/index.shtml</p>
]]></content:encoded>
			<wfw:commentRss>http://www.16hot.com/2008/12/512/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>实易嵌入式智能DNS系统 2.3.0-BETA2版(IPV6支持)</title>
		<link>http://www.16hot.com/2008/11/511/</link>
		<comments>http://www.16hot.com/2008/11/511/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 18:39:38 +0000</pubDate>
		<dc:creator>16hot</dc:creator>
				<category><![CDATA[实易智能DNS]]></category>
		<category><![CDATA[嵌入式系统]]></category>
		<category><![CDATA[智能DNS]]></category>

		<guid isPermaLink="false">http://blog11.isyi.com/?p=511</guid>
		<description><![CDATA[实易智能DNS产品是一套面向互联网企业、中大型网站的智能DNS、域名管理及广域负载均衡(GLSB)解决方案。具有安全性、开放性、扩展性、模块化、标准化、可移植性等特征。 实易智能DNS产品提供有线路管理、域名管理、地址池管理、域名查询统计、监控及报警、多用户管理、操作日志等功能。全部通过中文WEB管理界面操作，简单易用，是为互联网企业量身定做的智能DNS管理产品。 十大特色功能 支持IPV4/IPV6协议 支持多种纪录类型（A,A6,AAAA,CNAME,MX,NS,PTR,TXT） 支持广域负载均衡（GLSB），监控及报警 提供完全中文WEB界面操作管理，友好易用 支持多级管理员，不同的管理员可以分配不同的权限 支持多线路解析（默认电信、网通、教育网线路，千多个IP段） 支持完善的查询统计、系统日志和操作日志纪录 支持路由管理，允许多条ISP线路接入 支持多种监控功能（WEB方式的系统负载、流量监控和SNMP） 提供防火墙功能，可保证服务器自身的安全 新功能： 1、支持IPV6协议 2、支持A6、AAAA记录 修复BUG： 1、解决快速搜索域名时，没有只搜索第一个字母的问题 2、修正快速批量修改记录时记录类型判断 升级： 其他： 1、完善创建域名的相关提示信息 2、完善首页产品指引信息 3、调整升级IMG文件的MD5校验码获取方式 下载地址： http://fedns.isyi.com/download/index.shtml#2.3 使用手册： 在线阅读或者下载阅读： http://fedns.isyi.com/docs/index.shtml]]></description>
			<content:encoded><![CDATA[<div class="cnt">
<p><span> 实易智能DNS产品是一套面向互联网企业、中大型网站的智能DNS、域名管理及广域负载均衡(GLSB)解决方案。具有安全性、开放性、扩展性、模块化、标准化、可移植性等特征。</span></p>
<p>实易智能DNS产品提供有线路管理、域名管理、地址池管理、域名查询统计、监控及报警、多用户管理、操作日志等功能。全部通过中文WEB管理界面操作，简单易用，是为互联网企业量身定做的智能DNS管理产品。</p>
<p><span><br />
<strong>十大特色功能 </strong> </span></p>
<ol>
<li>支持IPV4/IPV6协议</li>
<li>支持多种纪录类型（A,A6,AAAA,CNAME,MX,NS,PTR,TXT）</li>
<li>支持广域负载均衡（GLSB），监控及报警</li>
<li>提供完全中文WEB界面操作管理，友好易用</li>
<li>支持多级管理员，不同的管理员可以分配不同的权限</li>
<li>支持多线路解析（默认电信、网通、教育网线路，千多个IP段）</li>
<li>支持完善的查询统计、系统日志和操作日志纪录</li>
<li>支持路由管理，允许多条ISP线路接入</li>
<li>支持多种监控功能（WEB方式的系统负载、流量监控和SNMP）</li>
<li>提供防火墙功能，可保证服务器自身的安全</li>
</ol>
<p>新功能：<br />
1、支持IPV6协议<br />
2、支持A6、AAAA记录</p>
<p>修复BUG：<br />
1、解决快速搜索域名时，没有只搜索第一个字母的问题<br />
2、修正快速批量修改记录时记录类型判断</p>
<p>升级：</p>
<p>其他：<br />
1、完善创建域名的相关提示信息<br />
2、完善首页产品指引信息<br />
3、调整升级IMG文件的MD5校验码获取方式</p>
<p>下载地址：</p>
<p><a href="http://fedns.isyi.com/download/index.shtml#2.3" target="_blank">http://fedns.isyi.com/download/index.shtml#2.3</a></p>
<p>使用手册：<br />
在线阅读或者下载阅读：<br />
<a href="http://fedns.isyi.com/docs/index.shtml" target="_blank">http://fedns.isyi.com/docs/index.shtml</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.16hot.com/2008/11/511/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5种检测方式全部完成</title>
		<link>http://www.16hot.com/2008/08/453/</link>
		<comments>http://www.16hot.com/2008/08/453/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 21:16:44 +0000</pubDate>
		<dc:creator>16hot</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[实易智能DNS]]></category>
		<category><![CDATA[智能DNS]]></category>

		<guid isPermaLink="false">http://blog11.isyi.com/?p=453</guid>
		<description><![CDATA[截至今天，5种检测方式都已经完成。分别是： ping，snmp，端口，URL，接口，5种方式。 接下来还需要完成监控报警部分功能。 在考虑，这个版本是继续2.3版本好呢，还是定为3.0好呢。]]></description>
			<content:encoded><![CDATA[<p>截至今天，5种检测方式都已经完成。分别是： ping，snmp，端口，URL，接口，5种方式。</p>
<p>接下来还需要完成监控报警部分功能。</p>
<p>在考虑，这个版本是继续2.3版本好呢，还是定为3.0好呢。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.16hot.com/2008/08/453/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>实易嵌入式智能DNS系统 2.3.0-ALPHA1版（监控检测版）</title>
		<link>http://www.16hot.com/2008/08/452/</link>
		<comments>http://www.16hot.com/2008/08/452/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 06:13:52 +0000</pubDate>
		<dc:creator>16hot</dc:creator>
				<category><![CDATA[实易智能DNS]]></category>
		<category><![CDATA[智能DNS]]></category>

		<guid isPermaLink="false">http://blog11.isyi.com/?p=452</guid>
		<description><![CDATA[版本说明： 继2.0，2.1，2.2三个版本的推出，我们将在内部已经测试了将近半年的健康检测模块部分的功能集成在 2.3版本里。这次发布的2.3-alpha1版本，是集成健康检测后的第一个提供给用户一起测试的版本，也是在这个版本里引入地址池管理概念。另外会在 未来的2.3-alpha2版本继续将负载均衡功能集成进来。 地址池管理，是通过管理地址池里的IP地址，达到添加一个记录，指向多 个IP的效果。以前如果有10台WEB服务器，需要通过DNS轮询的话，就需要添加10条A记录。有地址池管理后，只需要在地址池里添加10个IP地址， 然后在域名管理里添加一条A记录。并且这个地址池还可以重复使用。 健康检测功能，是针对在实易智能DNS系统管理的域名的记录IP地址进行健康检测。当根据添加地址池的IP地址时设定的检测方式进行检测后发现该IP主机异常（宕机、服务停止）时，会根据设定采取的措施来处理，或者停用，或者替换为新的IP。 未来的负载均衡功能，会根据接口获取目标主机的负载，跟设定的权值比较。当负载值大于或等于权值时，采取指定的停用或替换措施。 通过这两个功能，可以克服传统DNS系统无法判断记录指向的主机是否正常运行，负载是否承载的了的问题。 新功能： 1. 增加健康检查模块 2. 增加地址池管理功能 修复BUG： 升级： 其他： 下载地址： http://fedns.isyi.com/download/index.shtml#2.3 使用手册： 在线阅读或者下载阅读： http://fedns.isyi.com/docs/index.shtml]]></description>
			<content:encoded><![CDATA[<p>版本说明：</p>
<p>继2.0，2.1，2.2三个版本的推出，我们将在内部已经测试了将近半年的健康检测模块部分的功能集成在 2.3版本里。这次发布的2.3-alpha1版本，是集成健康检测后的第一个提供给用户一起测试的版本，也是在这个版本里引入地址池管理概念。另外会在 未来的2.3-alpha2版本继续将负载均衡功能集成进来。</p>
<p>地址池管理，是通过管理地址池里的IP地址，达到添加一个记录，指向多 个IP的效果。以前如果有10台WEB服务器，需要通过DNS轮询的话，就需要添加10条A记录。有地址池管理后，只需要在地址池里添加10个IP地址， 然后在域名管理里添加一条A记录。并且这个地址池还可以重复使用。</p>
<p>健康检测功能，是针对在实易智能DNS系统管理的域名的记录IP地址进行健康检测。当根据添加地址池的IP地址时设定的检测方式进行检测后发现该IP主机异常（宕机、服务停止）时，会根据设定采取的措施来处理，或者停用，或者替换为新的IP。</p>
<p>未来的负载均衡功能，会根据接口获取目标主机的负载，跟设定的权值比较。当负载值大于或等于权值时，采取指定的停用或替换措施。</p>
<p>通过这两个功能，可以克服传统DNS系统无法判断记录指向的主机是否正常运行，负载是否承载的了的问题。</p>
<p>新功能：</p>
<p>1. 增加健康检查模块<br />
2. 增加地址池管理功能</p>
<p>修复BUG：</p>
<p>升级：</p>
<p>其他：</p>
<p>下载地址：</p>
<p><a href="http://fedns.isyi.com/download/index.shtml#2.3">http://fedns.isyi.com/download/index.shtml#2.3</a></p>
<p>使用手册：<br />
在线阅读或者下载阅读：<br />
<a href="http://fedns.isyi.com/docs/index.shtml">http://fedns.isyi.com/docs/index.shtml</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.16hot.com/2008/08/452/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>集成健康检测模块的版本</title>
		<link>http://www.16hot.com/2008/08/451/</link>
		<comments>http://www.16hot.com/2008/08/451/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 21:54:15 +0000</pubDate>
		<dc:creator>16hot</dc:creator>
				<category><![CDATA[实易智能DNS]]></category>
		<category><![CDATA[智能DNS]]></category>

		<guid isPermaLink="false">http://blog11.isyi.com/?p=451</guid>
		<description><![CDATA[将在明天早上发布2.3-alpha1版本。这个版本集成健康检测功能。 也是这个版本引入地址池的管理概念。通过地址池管理，可以对每个IP设置不同的检测方式。同时可以对检测失效（宕机、不能服务）的IP进行停用或者替换为新的IP地址。]]></description>
			<content:encoded><![CDATA[<p>将在明天早上发布2.3-alpha1版本。这个版本集成健康检测功能。</p>
<p>也是这个版本引入地址池的管理概念。通过地址池管理，可以对每个IP设置不同的检测方式。同时可以对检测失效（宕机、不能服务）的IP进行停用或者替换为新的IP地址。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.16hot.com/2008/08/451/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

