zoukankan      html  css  js  c++  java
  • linux——DNS服务器配置

    讲课,请不要在课堂上查找文件,浏览器搜索,会感觉你很不上心,玩听众,一定提前做很多遍,模拟很多遍;

    演讲,请务必准备好材料,考虑听众的感受,一定不要让外行人云里雾里,听不懂你在讲什么,那就尴尬了,

    DNS服务

     

    DNS工作原理

    -       DNS解析

    Internet访问最直接的方式是?

    域名更容易记忆、推广- -DNS是Internet的114。

    * 正向解析:主机名(域名)->对应的IP地址;是DNS的基本、常用功能。

    * 反射解析:IP地址 ->对应的主机名(域名);反垃圾邮件、安全防护等场景会用到。

    -       DNS的分布式结构

    大型、分布式的Internet DNS解析库

    * FQDN(Full Qualified Domain Name)全域名

      站点名.域名后缀

      站点名.….二级域名.一级域名

    * 常见的顶级(一级)域名:

      国家/地区域:.cn, .us, .kr, .hk, .tw …

      组织域:.com, .net, .edu, .org, .gov, .mil…

    -       DNS域名管理

    * IANA(Internet Assigned Numbers Authority) Internet数字分配机构

      整个域名系统的最高权威机构

      主管DNS根、.int、.arpa等国际截获域名资源

    * CNNIC()中国Internet信息中心

      主管中国国家顶级域名.cn

                  域名代理/注册/购买服务商

                         新网:http://www.xinnet.com

                         万网:http://www.net.cn

                         中国互联:http://hulian.top

    -       DNS查询的工作方式

    * 客户端获取解析结果的过程:

      

    RHEL6的DNS

    -       Bind域名服务

    * BIND(Berkeley Internet Name Daemon)伯克利Internet域名服务https://www.isc.org

    [root@localhost ~]# yum -y install bind bind-chroot

    Installed:

      bind.x86_64 32:9.8.2-0.47.rc1.el6_8.1        //域名服务包

      bind-chroot.x86_64 32:9.8.2-0.47.rc1.el6_8.1  //提供虚拟根支持

    * BIND服务器端:

      主程序- /usr/sbin/named

      服务脚本- /etc/init.d/named

      默认端口- TCP/UDP 53

      运行时的虚拟根环境- /var/named/chroot/

      主配置文件- /etc/named.conf

      区域数据文件- /var/named/…

    -       解析配置(named.conf)

    * 全局配置

      设置监听地址/端口、区域数据存储位置等

    * 区域配置

      定义DNS区域、类型、地址文件路径等(关键词IN表示Internet,可省略)。

      zone “lyu.cn” IN {        //定义正向区域

        type master;        //区域类型为主DNS

        file “lyu.cn.zone”; //区域数据文件

    }

    * 配置语法检查

      Named-checkconf [配置文件]

      [root@localhost etc]# named-checkconf /etc/named.conf

      [root@localhost etc]# named-checkconf       //无错无输出

    -       区域数据文件解析

    #vi /var/named/lyu.cn.zone

    * 全局TTL配置项、SOA记录

      $TTL(time to live)生存时间

      SOA(start of authority)授权信息开始

      分号“;”开始的部分表示注释

      格式:

            @ IN SOA 区域名.区域管理邮箱. (

    )

    Eg.,

    $TTL 86400             //有效记录的生存周期

    @ IN SOA @ root.lyu.cn. (    

      2016090901 //更新序号

        3H          //刷新时间

        15M              //重试间隔

        1W         //失效时间

        1D          //无效记录的生存周期

    * 域名解析记录

    @           IN      NS      info.lyu.cn.      //NS- -Name Server

               IN      MX 10   mail.lyu.cn.

    Info     IN    A       192.168.6.203

    www   IN   A       192.168.6.100

    mail     IN   A       192.168.6.25

    ftp             IN      CNAME   www

    * 配置语法检查:named-checkzone 区域名 配置文件

    [root@localhost named]# named-checkzone lyu.cn /var/named/lyu.cn.zone

    zone lyu.cn/IN: loaded serial 2016090901

    单区域DNS服务

    -       搭建单区域DNS服务

    -       配置DNS客户端

     

    * 调整客户机的DNS指向

    [root@localhost ~]# vi /etc/resolv.conf

      nameserver 192.168.6.203

     

    -       查询

    [root@localhost ~]# nslookup www.lyu.cn

    Server:              192.168.6.203

    Address:    192.168.6.203#53

    Name: www.lyu.cn

    Address: 192.168.6.100

    多区域及特殊解析

    -       多区域DNS服务

    * 在named.conf中配置多个区域

    zone “lyu.cn” IN {          //定义第一 个区域

      type master;

      file “lyu.cn.zone”;

    }

    zone “info.cn” IN {         //定义第二 个区域

      type master;

      file “info.cn.zone”;

    }

    * 反向域的定义

      针对一个IP网段,负责:IP 地址->全域名;

      格式:反序网段地址.in-addr.arpa

      zone “6.168.192.in-addr.arpa” IN {  //定义反向区域

        type master;

        file “192.168.6.arpa”;

    }

    * 反向域的数据文件

      域名解析记录

      …                                //文件开始部分

      5     IN    PTR       ns.lyu.cn

      100 IN    PTR       www.lyu.cn

    -       特殊解析

    * DNS轮询

    基于DNS的站点负载均衡:一个域名->多个不同的IP地址;每个IP提供镜像服务。

    #vi /var/named/lyu.cn.zone  //编辑正向区域文件

      …

      www       IN    A     192.168.6.100

      www       IN    A     192.168.6.101

      www       IN    A     192.168.6.102

    * 泛域名解析

    Exercise

    1 DNS正向解析的作用是( )

    A. 将IP地址转换为域名

    B. 将域名转换为IP地址

    C. 将IP地址转换为主机名

    D. 将主机名转化为IP地址

    Ans:

    正确答案为B。

    2 什么是递归查询与迭代查询

    Ans:

    客户端向服务器的查询为递归查询,服务器向服务器的查询为迭代查询。

    3 DNS常见的资源类型

    配置DNS区域的解析记录时,常见的资源类型如下,请写出各自的作用:

    • A记录
    • MX记录
    • CNAME记录
    • NS记录
    • PTR记录

    Ans:

    A记录为正向解析记录;MX记录为邮件服务器记录;CNAME记录为别名记录;NS记录为域名服务器记录;PTR记录为反向解析记录。

    4 在RHEL6虚拟机192.168.4.5上配置DNS服务器

    将本机作为DNS服务器,提供52linux.net域的地址解析,要求能够解析以下地址记录:

    • DNS服务器:info.52linux.net对应IP地址为192.168.4.5
    • 网站服务器:www.52linux.net 对应IP地址为192.168.4.100
    • 邮件服务器:mail.52linux.net对应IP地址为192.168.4.25
    • FTP服务器:是www的别名

    Ans:

    1)安装软件

    [root@info ~]# yum  -y  install  bind-chroot  bind

    2)修改主配置文件

    [root@info ~]# vim  /etc/named.conf
    options {
        directory  "/var/named";
    };
    zone "52linux.net" IN {
        type master;
            file "52linux.net.zone";
    };
    
    
    是追加在后面的
    
    

    3)生产数据文件

    [root@info ~]# vim  /var/named/52linux.net.zone
    $TTL    86400
    @  IN  SOA  52linux.net.  admin.52linux.net.(
                   2013090901
                     3H
       15M
        1W
       1D
    )
    @           IN       NS       info.52linux.net.
                IN       MX 10   mail.52linux.net.
    Info        IN       A        192.168.4.5
    www         IN       A        192.168.4.100
    mail        IN       A        192.168.4.25
    ftp         IN       CNAME    www
    *           IN       A        192.168.4.100

    4)启动named服务程序

    [root@info ~]# service named restart

    5)客户端设置默认DNS服务器地址

    [root@localhost ~]# vim /etc/resolv.conf
    search localdomain
    nameserver (将客户机的)192.168.4.5(改成DNS服务器的IP
     
     

    * 配置语法检查

      Named-checkconf [配置文件]

      [root@localhost etc]# named-checkconf /etc/named.conf

      [root@localhost etc]# named-checkconf       //无错无输出

     

    6)客户端解析测试。

    [root@info ~]# nslookup mail.52linux.net
    ....//测试正向解析
    Name:   mail.52linux.net
    Address:192.168.4.100
     
    [root@info ~]# nslookup abcdef.52linux.net
    ....//测试泛域名解析
    Name:   abcdef.52linux.net
    Address:192.168.4.100

    5 配置主从DNS服务器(选用)

    要求:主DNS服务器地址为192.168.4.5,从DNS服务器IP地址为192.168.4.205。要求主从DNS服务器均可以提供52linux.net域的地址解析,具体解析记录如下:

    • DNS服务器:info.52linux.net对应IP地址为192.168.4.5
    • 网站服务器:www.52linux.net 对应IP地址为192.168.4.100
    • 邮件服务器:mail.52linux.net对应IP地址为192.168.4.25

    Ans:

    1)主DNS服务器(192.168.4.5)配置如下:

    [root@info ~]# yum  -y  install  bind-chroot  bind
    [root@info ~]# vim  /etc/named.conf
    options {
        directory  "/var/named";
    };
    zone "52linux.net" IN {
        type master;
      file "52linux.net.zone";
      allow-transfer {192.168.4.205;};
    };
     
            [root@info ~]# vim  /var/named/52linux.net.zone
    $TTL    86400
    @  IN  SOA  52linux.net.  admin.52linux.net.(
    2013090901
    3H
        15M
       1W
        1D
    )
    @           IN     NS      info.52linux.net.
              IN     MX 10   mail.52linux.net.
    info        IN     A        192.168.4.5
    www         IN     A        192.168.4.100
    mail        IN     A        192.168.4.25
    ftp        IN     CNAME    www
    *           IN     A       192.168.4.100
    [root@info ~]# service named restart
     

    2)从DNS服务器(192.168.4.205)配置如下:

    [root@info ~]# yum  -y  install  bind-chroot  bind
    [root@info ~]# vim  /var/named/chroot/etc/named.conf
    options {
        directory  "/var/named";
    };
    zone "52linux.net" IN {
        type slave;
        file "slaves/52linux.net.zone";
        masters {192.168.4.5;};
    };
    [root@info ~]# service named restart

    3)客户端测试过程如下:

    [root@info ~]# nslookup
    server 192.168.4.5 //设置192.168.4.5为DNS服务器
    ....
    mail.52linux.net   //测试正向解析
    ....
    Name:   mail.52linux.net
    Address:192.168.4.100
     
    server 192.168.4.205               //设置192.168.4.205为DNS服务器
     
    mail.52linux.net    //测试正向解析
    ....
    Name:   mail.52linux.net
    Address:192.168.4.100

    Case 1 搭建单区域DNS服务器

    1.1 问题

    公司网站已经搭建完成,但是目前只能通过IP地址进行访问。因前期已经申请了二级DNS区域lyu.cn,现要求为此区域搭建一台DNS服务器,以便用户能通过域名的方式访问网站。测试阶段主要提供以下正向记录解析:

    • info.lyu.cn ---> 192.168.4.5
    • pc205.lyu.cn ---> 192.168.4.205
    • win7pc.lyu.cn ---> 192.168.4.234

    从Linux客户机上验证上述查询结果:

    • 配置好客户机的/etc/resolv.conf文件
    • 分别使用 nslookup、host工具进行测试,确保查询结果正常

    1.2 方案

    使用2台RHEL6虚拟机,其中一台作为DNS服务器(192.168.4.5)、另外一台作为测试用的Linux客户机(192.168.4.205)。

    在服务器info中配置lyu.cn区域,并添加对应的A记录;在客户机pc205的配置文件/etc/resolv.conf中指定DNS服务器的IP地址,然后通过nslookup或host工具测试域名解析是否成功。

    在RHEL6系统中,DNS服务器对应的软件包为bind,对应的系统服务为named,而为此服务提供“笼环境”安全保护的软件包为bind-chroot。

    named服务端文件:

    • 主配置文件位于:/etc/named.conf 。
    • 解析记录文件(区域数据)位于:/var/named/* 。

    关于named.conf文件的配置构成,大家可以参考默认的/etc/named.conf文件,也可以执行man named.conf命令来获取帮助。

    1.3 步骤

    Ans:

    步骤一:构建DNS服务器

    1)使用yum安装DNS所需软件包bind、bind-chroot

    [root@info ~]# yum -y install bind bind-chroot
    [root@info ~]# rpm -q bind bind-chroot
    bind-9.8.2-0.17.rc1.el6_4.6.x86_64
    bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64

    2)为DNS服务定义区域

    安装好bind软件包以后,默认提供了一个现成的/etc/named.conf配置文件,大家可以基于此文件的内容去修改,也可以移除此文件后重新建立。由于其中有很多配置内容尚未学到,为了简单起见,建议大家先做好备份,然后从空文件手动建立named.conf:

    [root@info ~]# cp  /etc/named.conf  /etc/named.conf.bak  //备份默认配置
    [root@info ~]# vim  /etc/named.conf   //配置
    options {               //全局配置
        directory   "/var/named";     //地址文件的默认位置
    };
    zone "lyu.cn" IN {       //定义正向区域
        type  master;        //区域类型为主DNS
        file  "lyu.cn.zone"//区域数据文件
    };

    创建完成后,可以检查一下语法格式,如果有提示错误,则需要纠正;否则应无任何输出,说明语法上正常。

    [root@info ~]# named-checkconf /etc/named.conf         //无错误,无输出

    3)建立解析数据库(区域文件)

    根据named.conf配置中指定的路径和名称,直接vim建立区域文件:

    [root@info ~]# vim /var/named/lyu.cn.zone
    $TTL   86400
    @   IN   SOA   @    root.lyu.cn.(
            20160930       ;更新序列号
    4H       ;刷新时间
             15M      ;重试间隔
             4H       ;超时时间
             1D       ;无效记录的生存时间
    )
    @       IN      NS      lyu.cn. ;本区域DNS服务器的主机名
    info    IN      A       192.168.4.5 ;本区域DNS服务器的IP地址
    pc205   IN      A       192.168.4.205 ;其他解析记录 
    win7pc  IN      A       192.168.4.110

    建好之后,检查一下文件的配置语法,确保结果为OK:

    [root@info named]# named-checkzone  lyu.cn  /var/named/lyu.cn.zone
    zone lyu.cn/IN: loaded serial 2013090901
    OK               //检查未发现问题

    4)确保重新加载DNS服务程序

    重新启动named服务:

    [root@info named]# service named restart 
    停止 named:                [确定]
    Generating /etc/rndc.key:[确定]
    启动 named:          [确定]

    第一次运行named服务时,服务脚本因生成/etc/rndc.key密钥文件需要提供一些随机信息,可能会耗时较长。采用以下任一种方法可避免漫长的等待:做一些随意的键盘输入或读磁盘操作(比如ls -R /)来增加随机信息;或者,直接执行rndc-confgen -r /dev/urandom -a操作来创建/etc/rndc.key文件。

    注意:/dev/urandom是Linux系统中用来提供随机字串信息的特殊设备。

    启动完成后,确认服务器的多个IP地址都监听了UDP 53端口:

    [root@info named]# netstat -anptu|grep named
    tcp        00192.168.4.5:53     0.0.0.0:*     LISTEN      31868/named         
    tcp        00127.0.0.1:53               0.0.0.0:*     LISTEN      31868/named         
    tcp        00127.0.0.1:953              0.0.0.0:*     LISTEN      31868/named         
    tcp        00::1:953            :::*          LISTEN      31868/named         
    udp        00192.168.4.5:53     0.0.0.0:*31868/named         
    udp        00127.0.0.1:53               0.0.0.0:*31868/named

    步骤二:配置DNS客户机并测试

    1)为Linux客户机指定默认使用的DNS服务器地址

    修改/etc/resolv.conf文件,通过nameserver记录设置:

    [root@pc205 ~]# vim /etc/resolv.conf
    ....
    nameserver 192.168.4.5

    2)使用nslookup查询任务要求的几个域名

    查询域名info.lyu.cn,对应的记录应为192.168.4.5:

    [root@pc205 ~]# nslookup info.lyu.cn 
    Server:192.168.4.5  //DNS服务器的名称
    Address:192.168.4.5#53      //DNS服务器的地址、端口
     
    Name:    info.lyu.cn      //查询的目标域名 
    Address:192.168.4.5 //反馈的结果IP地址

    查询域名pc205.lyu.cn,对应的记录应为192.168.4.205:

    [root@pc205 ~]# nslookup pc205.lyu.cn
    Server:192.168.4.5
    Address:192.168.4.5#53
     
    Name:    pc205.lyu.cn
    Address:192.168.4.205

    查询域名win7pc.lyu.cn,对应的记录应为192.168.4.110:

    [root@pc205 ~]# nslookup win7pc.lyu.cn
     
     

    2 搭建多区域DNS服务器

    2.1 问题

    沿用练习一,扩展现有的DNS服务配置,增加对baidu.com区域的解析支持:

    1. 能够将www.baidu.com或baidu.com解析为1.2.3.4
    2. 能够将music.baidu.com解析为5.6.7.8

    另一方面,为192.168.4.0/24网段提供反向解析:

    1. 能够将192.168.4.100解析为www.lyu.cn
    2. 能够将192.168.4.205解析为pc205.lyu.cn

    2.2 方案

    对于一台DNS服务器来说,可能不止管理一个区域。当需要支持多个DNS区域的时候,可以在named.conf配置文件中添加新的zone区域定义,并且为这些区域分别制定解析记录文件,然后重新启动DNS服务即可。

    多区域定义的配置构成如下:

    zone  "区域1" IN {
        type 类型;
        file "区域1的解析记录文件";
    };
    zone  "区域2" IN {
        type 类型;
        file "区域2的解析记录文件";
    };
    ....

    根据IP地址来查询域名的方式叫做反向解析,如果需要支持反向查询,区域名称应符合格式“反序网段地址.in-addr.arpa”。比方说,对于192.168.4.0/24网段,反向区域的名称应该表示为4.168.192.in-addr.arpa。另外,在反向区域的解析记录文件中,对应的资源类型应该是PTR,而不是A。

    2.3 步骤

    Ans:

    步骤一:添加baidu.com区域

    1)修改主配置文件/etc/named.conf

    [root@info ~]# vim /etc/named.conf
    ....
    zone "baidu.com" IN {    //添加区域baidu.com
            type master;
            file "baidu.com.zone";
    };

    2)为新区域baidu.com建立解析记录文件

      [root@info ~]# vim /var/named/baidu.com.zone
    $TTL   86400
    @   IN   SOA   @    root.lyu.cn.(
    2016091031               ;更新序列号    
    4H         ;刷新时间
    15M        ;重试间隔
    4H         ;超时时间
    1D         ;无效记录的生存时间
    )
    @       IN      NS      info.lyu.cn. ;本区域DNS服务器的主机名
    www     IN      A       1.2.3.4    ;本区域DNS服务器的IP地址
    music   IN      A       5.6.7.8    ;其他解析记录

    3)重新加载named服务

    [root@info ~]# service named restart 
     

    4)验证新区域的域名查询

    查询域名www.baidu.com时,解析结果应为1.2.3.4:

    [root@pc205 named]# nslookup www.baidu.com
    Server:192.168.4.5
    Address:192.168.4.5#53
     
    Name:    www.baidu.com
    Address:1.2.3.4

    查询域名music.baidu.com时,解析结果应为5.6.7.8:

    [root@pc205 named]# nslookup music.baidu.com

     

    步骤二:为192.168.4.0/24网段提供反向解析

    1)修改主配置文件/etc/named.conf

    [root@info ~]# vim /etc/named.conf
    ....
    zone "4.168.192.in-addr.arpa" IN {        //添加反向区域
            type master;
            file "192.168.4.arpa";
    };

    2)为新区域4.168.192.in-addr.arpa建立解析记录文件

    [root@info ~]# vim /var/named/192.168.4.arpa
    $TTL   86400
    @   IN   SOA   @    root.lyu.cn.(
    2016091032 ;更新序列号
    4H  ;刷新时间
    15M ;重试间隔
    4H  ;超时时间
    1D  ;无效记录的生存时间
    )
    @       IN      NS      lyu.cn.;本区域DNS服务器的主机名
    100     IN      PTR     www.lyu.cn.;反向区域解析记录
    205     IN      PTR     pc205.lyu.cn.

    3)重新加载named服务

    [root@info ~]# service named restart 

    4)验证新区域的域名查询

    查询IP地址192.168.4.100时,解析结果应为www.lyu.cn:

    [root@pc205 ~]# nslookup 192.168.4.100
    Server:192.168.4.5
    Address:192.168.4.5#53
     
    100.4.168.192.in-addr.arpa        name = www.lyu.cn.

    查询IP地址192.168.4.205时,解析结果应为pc205.lyu.cn:

    [root@pc205 ~]# nslookup 192.168.4.205

     

    3 DNS轮询+泛域名解析

    3.1 问题

    沿用练习二,通过调整DNS服务端配置,实现以下目标:

    • 为站点www.lyu.cn 实现DNS轮询解析,目标IP地址包括 192.168.4.100、192.168.4.110、192.168.4.120
    • 提供“station1~200.lyu.cn <---> 192.168.4.1~200”的正反向解析
    • 提供“任意名称.lyu.cn --->119.75.217.56”解析

    3.2 方案

    通过DNS轮询的应用,可以针对大量客户机对同一个域名的解析轮流反馈不同的解析结果,从而间接实现了负载均衡的效果,减轻目标站点的压力。在配置DNS服务时,轮询的实现主要在于修改解析记录,即同一个站点对应到多个不同的IP地址:

    目标域名     IN      A       第1个节点的IP地址
    目标域名     IN      A       第2个节点的IP地址
    目标域名     IN      A       第3个节点的IP地址
    ....

    对于泛域名来说,如果目标主机名未知,可以在解析记录最后添加一条 * 匹配:

    *          IN      A       任意主机名导向到的指定IP地址

    如果目标主机名已知而且有整数规律,可以采用$符号来代替数值部分,以简化解析记录的设置;对应的整数范围可以通过$GENERATE函数生成。其中,正向记录参考:

    $GENERATE   1-200   station$     IN A   192.168.4.$

    有规律的反向泛域名解析记录参考:

    $GENERATE   1-200   $   IN PTR         station$.lyu.cn.

    3.3 步骤

    Ans:

    步骤一:为站点www.lyu.cn实现DNS轮询

    1)调整lyu.cn区域的配置

    [root@info ~]# vim /var/named/lyu.cn.zone
    ....
    www     IN      A       192.168.4.100
    www     IN      A       192.168.4.110
    www     IN      A       192.168.4.120
     
    [root@info ~]# service named restart

    2)使用ping命令验证DNS轮询解析

    [root@info ~]# ping www.lyu.cn
    PING www.lyu.cn(192.168.4.100)56(84) bytes of data.
    ....
    [root@info ~]# ping www.lyu.cn
    PING www.lyu.cn(192.168.4.110)56(84) bytes of data.
    ....
    [root@info ~]# ping www.lyu.cn
    PING www.lyu.cn(192.168.4.120)56(84) bytes of data.
    ....

    步骤二:配置泛域名解释

    1)设置正向的泛域名解析记录

    [root@info ~]# vim  /var/named/lyu.cn.zone
    ....
    $GENERATE   1-200   station$     IN A   192.168.4.$
    *       IN      A       119.75.217.56    //提供任意名称.lyu.cn解析

    2)设置反向的泛域名解析记录

    [root@info ~]# vim  /var/named/192.168.4.arpa
    ....
    $GENERATE   1-200   $   IN PTR         station$.lyu.cn.

    3)重新加载named服务

    [root@info ~]# service named restart  //重启named服务

    4)测试泛域名解析结果

    [root@info ~]# nslookup station99.lyu.cn  //查询正向泛域名99
    Server:192.168.4.5
    Address:192.168.4.5#53
     
    Name:    station99.lyu.cn
    Address:192.168.4.99
     
    [root@info ~]# nslookup tamzx.lyu.cn  //查询任意名称泛域名
    Server:192.168.4.5
    Address:192.168.4.5#53
     
    Name:    tamzx.lyu.cn
    Address:119.75.217.56


    =====================


    )客户端设置默认DNS服务器地址

    [root@localhost ~]# vim /etc/resolv.conf
    search localdomain
    nameserver (将客户机的)192.168.4.5(改成DNS服务器的IP
     
     

    * 配置语法检查

      Named-checkconf [配置文件]

      [root@localhost etc]# named-checkconf /etc/named.conf

      [root@localhost etc]# named-checkconf       //无错无输出

     

    6)客户端解析测试。

     追加在此文件的后面

     

    沙耶加是最棒的也是最强的,今天换我来拯救世界!
  • 相关阅读:
    WPF 之Converter
    silverlight中 ComboBox绑定数据库,并获取当前选定值
    ComboBox联动 (AJAX BS实现)
    [推荐]Silverlight 2 开发者海报
    非常精彩的Silverlight 2控件样式
    一步一步学Silverlight 2系列文章
    POSIX 线程详解(经典必看)
    嵌入式 vlc从接收到数据流到播放视频的过程分析(经典)
    OpenGL ES教程系列(经典合集)
    Audio Queue Services Programming Guide(音频队列服务编程指南)
  • 原文地址:https://www.cnblogs.com/wanghui626/p/7918809.html
Copyright © 2011-2022 走看看