本章目录
1 介绍
2 背景介绍
3 安装
4 小测试
5 快速入门
6 配置
7 测试
8 TODO
9 结束语
10 参考文献
1 介绍
如果某一个单位,他们的桌面计算机必须使用M$
Windows平台的话,那么他们很可能不可避免的需要Windows服务器产品,比如Windows
NT Server或者Windows 2000 Server,甚至Windows 2000 Advanced Server。要知道,要合法的拥有这些服务器的软件(按照微软的所谓许可协议购买连接数)的话,再加上昂贵的硬件费用,可并不是一比小费用。如果有一个途径,可以让你在普通硬件的基础上,免费实现Windows
NT/2000服务器的功能,你说,何乐而不为呢?
——这就是桑巴,一个免费的,强大的,灵活的,轻便的,samba。
2 背景介绍
如果你不是从第一章开始看我的文章,那么我得介绍一下这些情况:
我的有一台安装了win2000的机器,叫做notepad,它属于workgroup这个工作组。
我的Debian GNU/Linux安装在一台普通的台式计算机上,机器名字叫debian,域名叫test.com。
3 安装
3.1 软件版本
由于我们用的sid的sources.list,所以得到的是2.99版+3.0Alpha版的samba。其配置方法与以前版本有些不同。
3.2 安装
安装过程非常简单:
# apt-get install samba
系统会问你,请参考这些答案:
用debconf配置samba吗?Yes。
输入工作组名,或者域名:workgroup。
使用口令加密?Yes。
以什么方式运行samba?我们选择默认的daemons方式,让他在后台监听。
创建samba口令库?Yes。
4 小测试
你也许不相信,但是现在,你已经可以在Windows的网上邻居里面看到这台名字叫Debian的Linux主机了!
找到网上邻居的workgroup组,你会发现她确实已经在那里了。怎么样,振奋吧!
不过,你会发现,无论你输入什么用户名和口令,都无法通过验证。那是因为,我们还没有告诉samba,验证哪些用户和口令。
5 快速入门
Samba只有一个配置文件!
那就是/etc/samba/smb.conf。
下面这个只有几行的smb.conf,就可以让samba为我们工作!
[global]
log file = /var/log/samba/log.%m
[tmp]
comment = Temporary file space
path = /tmp
read only = no
public = yes
6 配置
6.1 检查当前配置
我们的samba现在已经运行了,那么,它正在提供哪些服务呢?如果打开/etc/samba/smb.conf,你可能会觉得内容太多,看不过来了;那好,我们有个命令可以用:testparm。这个命令,可以让我们检查smb.conf的配置是否正确,而且还可以列出一个实际上有效的 smb.conf的内容:
# testparm
通过这个命令,你看到了吧,实际上发挥作用的配置,就是那么几行。
6.2 写一个最小的smb.conf
实际上,为了做实验,我们可以写一个更小的smb.conf,就向上一小节里面提到的那样。那个配置文件,可以让samba把/tmp共享,并且可以往里写文件。
好,我们不妨就采用上面这个文件吧,请你先将/etc/samba/smb.conf改名,比如改为smb.conf.backup,然后把上面的内容抄下来,保存为新的/etc/samba/smb.conf。
记住,要是修改后的smb.conf生效,需要重新启动samba:
# /etc/init.d/samba restart
6.3 创建用户
在我们创建用户之前,没有人能够访问samba服务器,就是说,在windows平台上,无论用什么用户名和口令,都无法访问网上邻居里面的debian这台机器。
我们需要在/etc/samba/目录下面,生成一个文件,名字叫:smbpasswd:
# touch /etc/samba/smbpasswd
然后,使用smbpasswd命令,添加samba用户:
# smbpasswd -a kanaka
New SMB password:
Retype new SMB password:
这时,kanaka就被写进了/etc/samba/smbpasswd文件,kanaka就可以从windows访问samba了。
7 测试
在你的windows里面,找到网上邻居的debian,用刚才创建的用户,访问它,并向tmp目录拷贝一个文件。怎么样,可以了吧。
8 TODO
这是本文的0.1版,纯粹针对初学者的。
在下一个版本,我将详细描述smb.conf的配置方法,来实现WinNT/2000服务器的功能。
9 结束语
本文是《Debian服务器设置入门》系列教程之第四章,建议您按照顺序阅读,有问题可以和作者kanaka联系。
10 参考文献
《Samba 配置》,地址是:http://www.linuxfocus.org/ChineseGB/March2002/article177.shtml
《使用 Linux 和 SAMBA替代Windows NT/2000 服务器》,地址是:http://www.linuxfocus.org/ChineseGB/May2002/article247.shtml
让我们一起感谢原文作者,以及翻译者!
《Debian服务器设置入门》系列教程之第五章:Samba服务器
第五章 在Debian上用Bind配置DNS服务器
本章目录
1 什么是DNS
2 为什么需要DNS
3 BIND介绍
4 配置
5 测试
6 TODO
7 结束语
8 参考文献
1 什么是DNS
初学者可能不理解DNS到底是什么,干什么用。我是在1998年大学毕业时才听说这个词的。那时我在聊天室碰到潍坊信息港的一个网管,我恬不知耻地说我也是个网管,他说也维护DNS吗?我说,DNS是什么?
——DNS,Domain Name Service,或者Domain Name Server,域名服务/域名服务器。
你在你的浏览器里面输入http://www.linuxsir.com之后,之所以可以上去,就是因为有了DNS。
简单地说,DNS把一串名字,转换成了IP地址。你可能会说:如果我直接使用IP地址,那就不需要DNS了吗?对!不过,请你接着往下看。
2 为什么需要DNS
2.1 互联网需要DNS
现在几乎整个互联网都是基于TCP/IP的。在这个世界里,不管你访问哪个网站、哪台机器,必须得知道它的IP地址才可以。好,我告诉你, 202.106.185.203这个地址,是新浪网的IP地址,你每次上网,都得再浏览器的地址栏里面输入http://202.106.185.203 才可以访问新浪。你可能会说:没问题,不就一串数字嘛,我记得住!可是,你想一下,在Internet上,有多少台主机啊!你可能会记住其中几台甚至几十台的IP地址,但是你肯定记不住全部。
正是由于IP地址不好记,人们才想了个办法,让你只需要记住名字,然后系统通过这个名字,到数据库里面去查找它的IP地址,然后再把查到的IP地址反馈给你,比如反馈给浏览器,最后,浏览器用这个由DNS给的IP地址去访问你想去的站点。
2.2 局域网需要DNS
那么,在局域网内部呢?需要DNS吗?
太需要了!你不要觉得,单位就这么几台机器,用hosts解析,不也一样吗?你可千万记住这个教训,当公司越来越大,hosts的维护量将大的惊人!我所在的公司,前不久就面临了这种尴尬。所以,一定要有一台DNS,然后在公司内部定义一个规范的主机命名规则,这才是个好网管,呵呵。
3 BIND介绍
Bind是使用最广泛的Domain Name Server,它是Berkeley
Internet Name Domain Service的简写,伯克里大学编写的。这个大学可真厉害,写了不少著名程序。
原本bind的版本一直在 4.8.x 4.9.x 左右,后来一口气跳到8.1.x,是因为大幅度改进了功能,并修复了漏洞。现在bind有两个版本在同时发展,bind
8.x 和 bind 9.x,最新版本是8.3.3和9.2.1。
3 安装
3.1 软件版本
目前debian的sid,同样提供了8版本的bind和9版本的bind,后者的软件包名字叫做bind9.deb,版本是最新的9.2.1版。
3.2 安装
安装过程非常简单:
# apt-get install bind9
4 配置
由于我们前面第三章在配置邮件服务器的时候,使用了hosts文件来解析IP地址,现在我们需要把它去掉,让系统通过DNS来解析它所需要的IP地址。
我们制作基本的配置。至于高级功能,我们将在本文的下一个版本里描述。
4.1 去掉hosts信息
如果你阅读过本文第三章,你就会知道,我有两台机器,一台笔记本电脑安装了win2000,名字叫notepad;另一台台式机装了Debian,机器名叫debian。他们都属于test.com这个域,这个域名没有在ISP那里注册,是我们内部用的。我分别编辑win2000机器上的\winnt\system32\drivers\etc\hosts这个文件和 debian机器上的/etc/hosts,去掉下面的这些行:
192.1.110.120 debian.test.com debian
192.1.110.122 notepad.test.com notepad
这时你可以在win2000机器上启动Outlook Express,做一下收取邮件的动作,它会说找不到debian.test.com——这就对了,因为hosts文件里面没有指向这个名字的IP地址,而且,我们也没有给win2000指定DNS服务器,所以它肯定找不到debian.test.com。
4.2 在客户机上设置DNS
在我的Win2000机器里面,在桌面上右击“网上邻居”选择属性,在出现的窗口中右击“本地连接”选择属性,然后双击TCP/IP,在右下角的“首选DNS”里面,输入192.1.110.120。这是我的 Debian机器在局域网上的IP地址。如果你用的是win98,那么情况差不多,在一个叫做DNS的标签里面设置首选DNS。我很久不用98了,差不多忘了。
如果你是个急性子,你会发现,诶?怎么设上了DNS了,我的Outlook
Express还是说找不到debian.test.com?呵呵,别急别急,我们的DNS服务器还没弄好呐!
4.3 在Debian上设置DNS
我们要事先把Debian机器的DNS指向它自己。修改/etc/resolv.conf,修改成:
search test.com
nameserver 192.1.110.120
你不会把我的IP地址也抄上吧,呵呵。
4.4 配置DNS服务器
4.4.1 应用环境
我们把实验环境重新描述一下。
◆一个C类网段地址 (本例中假定是192.1.110.0)
◆企业域名为 test.com,没有在ISP注册。(主域名服务器地址
192.1.110.120,主机名为 debian.test.com)
◆企业网通过路由器与Internet连接
假如你的应用环境与上述条件不同,也请往下看,本文会在上述例子的基础上针对以下情况作修正:
◆多个网段
◆封闭的内部网
◆只能访问局部公共网的情况(如169网、上海热线等)
我们将使用一个叫做rndc的工具,rndc可以用于启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试功能。
4.4.2 配置named.conf
DNS 服务器的主体是域名服务器进程
named ,named 启动后向DNS客户机提供域名解析服务,把域名转换成IP地址。
named 启动时需要读取一个初始化文件,缺省情况下是
/etc/bind/named.conf,这是bind的基本配置文件,不过这里面并不包含DNS数据。
注意,你也许会在网上找到一些教程,这些教程有的是以
bind 4.x为蓝本的,所以它的named.conf里面的注释符号是分号“;”,但是自动bind
8开始,语法变了。下面我们来说一下:
; 这是bind 4.x的注释,前面用分号
//不过从bind 8开始,有三种注释符号可以用:
C样式, C++样式, 或者shell样式:
/* 这是C样式的注释符号 */
// 这是 C++样式的注释符号
# 这是shell样式的注释符号
请你先把默认的/etc/bind/named.conf备份一下,我将给大家写一个简单的named.conf,用于做Caching-only的DNS配置。
// 指定 named 从
/var/cache/bind 目录下读取 DNS 数据文件。
// 这个目录用户可自行指定并创建,指定后所有的DNS
数据文件都存放在此目录下。
options {
directory "/var/cache/bind";
};
// 指定 named 作为 test.com
域的主域名服务器。
// db.test 文件中包含所有 *.test.com
形式的域名转换数据。
zone "test.com" in {
type master;
file "db.test";
};
// 指定 named 作为 192.1.110
网段地址转换主服务器。
// db.192.1.110 文件中包含了所有 192.1.110.*
形式的地址到域名的转换数据。
zone "110.1.192.in-addr.arpa" in {
type master;
file "db.192.1.110";
};
// 指定 named
作为127.0.0网段地址转换主服务器。
// db.127.0.0 文件中包含了 127.0.0.*
形式的地址到域名的转换数据。
//(127.0.0网段地址是局域网接口的内部
loopback 地址)
zone "0.0.127.in-addr.arpa" in {
type master;
file "db.127.0.0";
};
// 指定 named 从
db.cache 文件中获得 Internet 的顶层“根”服务器地址。
zone "." in {
type hint;
file "db.cache";
};
要注意第二和第三个区域中的网段地址是倒写的,另外,各个区域所使用的数据文件的文件名也是可以自行决定的。
请把上面的内容保存为你的/etc/bind/named.conf。
4.4.3 准备数据文件
上面的那个named.conf,相信你已经看明白了。那里面提到,在/var/cache/bind这个目录下面,应该有DNS数据文件db.test、db.192.1.110、db.127.0.0
还有 db.cache。下面我们就要建立这些文件。
4.4.3.1 建立 db.test 文件
根据 /etc/bind/named.conf 的定义,我们在
/var/cache/bind 目录下建立 db.test,其中应该包括所有在 test.com
域内的主机节点。但在机器数量较多时,为了调试方便,建议一开始只把几台节点的数据放入文件,待
named 正常工作后再把其他节点的数据补充进去。下面是 db.test的例子:
@ IN SOA debian.test.com. root.debian.test.com. (
200211131 ; serial, todays date + todays serial #
28800 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 ) ; minimum, seconds
NS debian.test.com.
MX 10 debain.test.com.
; 域名服务器列表
test.com. IN NS debian.test.com.
; 计算机名称和地址
localhost.test.com. IN A 127.0.0.1
debian.test.com. IN A 192.1.110.120
notepad.test.com. IN A 192.1.110.122
; 别名
www IN CNAME debian.test.com.
ftp IN CNAME debian.test.com.
其中第一行是 SOA
记录,定义了域名数据的基本信息,依次是 DNS 服务器名、DNS
管理员邮件地址,括号内的第一个数字是文件版本号,每次本文件内容修改后,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。
括号后面有一条NS记录和一条MX记录,定义了域名服务器本身的域名和username@test.com
形式邮件地址所对应的邮件服务器名字。
在此以下是各种域名/地址转换数据,其中A记录是DNS域名到IP地址的记录,是必须有的。
CNAME定义了一些主机的别名,比如我们将debian.test.com作为公司的www和ftp服务器,所以我们提供了 www.test.com和ftp.test.com作为debian.test.com的别名,用户只需要根据习惯就可以访问公司的www、ftp服务器了,如果将来我们换用别的主机作www和ftp服务器,只需要修改CNAME记录就可,对用户没有影响。
注意: CNAME 记录最后的带域名的主机名后必须带一个“.”。
复制这个文件到bind的工作目录/var/cache/bind,这个目录是我们刚才在/etc/bind/named.conf里面定义的。
4.4.3.2 建立 db.127.0.0
文件
这是个反向
DNS数据文件。
反向数据文件是这样用的:知道 IP地址,查询主机名。每个网段分别有一个数据文件。
反向 DNS 数据文件中的主要部分是 PTR 记录,PTR
记录中的 IP 地址都只有主机号,named 会根据 named.conf
的定义自动加上前面的网络号,注意后面的主机名要附加一个“.”
对于内部网段 127.0.0 通常只有一个地址,即 127.0.0.1
loopback 地址,db.127.0.0 内容如下:
@ IN SOA debian.test.com root.debian.test.com. (
2002111300 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS debian.test.com.
1 IN PTR localhost.
把这个文件到复制/var/cache/bind目录下面。
4.4.3.2 建立 db.192.1.110 文件
把所有相同网段的主机 IP地址和主机名,都写在里面:
@ IN SOA debian.test.com root.debian.test.com. (
2002111300 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS debian.test.com.
; 所有主机都写在这儿
120 PTR debian.test.com.
122 PTR notepad.test.com.
同样,要把这个文件到复制/var/cache/bind目录下面。
4.4.3.3 建立 db.cache 文件
默认情况下,我们在安装bind9的时候,应该有个文件在/etc/bind/db.root,这个文件就是我们的想要的根的定义。由于我们在
named.conf中指定的文件名是 db.cache,所以我们把它复制为db.cache:
# cp /etc/bind/db.root /var/cache/bind/db.cache
5 测试
我们使用rndc这个工具来控制bind。
5.1 让新配置文件生效
因为我们刚才改了配置,所以,需要重新加载一下:
# rndc reload
然后还需要重新配置一下:
# rndc reconfig
如果有问题,你可以使用debian为我们准备的脚本重新启动bind:
# /etc/init.d/bind9 restart
5.2 在win2000机器上测试
在win2000上(就是我们的notepad.test.com),使用Outlook
Express,收发邮件。
看,正常了吧!证明,我们的win2000通过192.1.110.120这台DNS服务器,找到了debian.test.com这台机器的IP地址了。
5.3 测试工具介绍
在debian上,我推荐大家使用dig或者host来测试DNS设置,因为nslookup快要退休了,以后版本的软件可能不再提供nslookup这个工具了。要使用这些工具,需要安装dnsutils:
# apt-get install dnsutils
然后,就可以使用dig来测试DNS了:
# dig -x 192.1.110.120
第一次运行,可能比较慢,别着急,等一会。
6 TODO
这是本文的0.1版,纯粹针对初学者的,仅仅实现了最普通的功能。
在下一个版本,我将深入讲解DNS的设置。
7 结束语
本文是《Debian服务器设置入门》系列教程之第五章,建议您按照顺序阅读,有问题可以和作者kanaka联系。
8 参考文献
《在Linux上建立DNS服务器》,曹江华,2001年12月27日。地址是:http://www.ccidnet.com/html/tech/os/2001/12/27/92_3895.html
让我们一起感谢原文作者!
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
·FTP服务器 (5813篇文章)
·双核服务器技术 (6651篇文章)
·Samba的配置 (52篇文章)
·其他服务器 (171篇文章)
·网站服务器的选型 (7970篇文章)
·网吧流媒体服务器 (6154篇文章)
·刀片服务器专题 (5371篇文章)
·网吧服务器专栏 (5346篇文章)
·电脑配置手册 (7932篇文章)
·服务器配置专栏 (10595篇文章)
·双核服务器技术 (6651篇文章)
·Samba的配置 (52篇文章)
·其他服务器 (171篇文章)
·网站服务器的选型 (7970篇文章)
·网吧流媒体服务器 (6154篇文章)
·刀片服务器专题 (5371篇文章)
·网吧服务器专栏 (5346篇文章)
·电脑配置手册 (7932篇文章)
·服务器配置专栏 (10595篇文章)
·板载RAID功能制作磁盘阵列并安装操作系统 (59281次浏览)
·教你如何用双SATA硬盘组建RAID系统 (24125次浏览)
·DHCP 服务器的安装和配置 (15138次浏览)
·Win2003服务器安全配置技巧 (14529次浏览)
·WEB专用服务器的安全设置的实战技巧 (12947次浏览)
·PERC5 RAID配置中文手册 (12504次浏览)
·windows下cvs服务器端配置 (939次浏览)
·[精华]架设个人服务器(包括WWW,FTP,Mail等 (787次浏览)
·在Windows下安装Apache服务器端Web软件 (663次浏览)
·企业邮件服务器MagicMail轻松建 (257次浏览)
·教你如何用双SATA硬盘组建RAID系统 (24125次浏览)
·DHCP 服务器的安装和配置 (15138次浏览)
·Win2003服务器安全配置技巧 (14529次浏览)
·WEB专用服务器的安全设置的实战技巧 (12947次浏览)
·PERC5 RAID配置中文手册 (12504次浏览)
·windows下cvs服务器端配置 (939次浏览)
·[精华]架设个人服务器(包括WWW,FTP,Mail等 (787次浏览)
·在Windows下安装Apache服务器端Web软件 (663次浏览)
·企业邮件服务器MagicMail轻松建 (257次浏览)
·PERC5 RAID配置中文手册 12-09
·WEB专用服务器的安全设置的实战技巧 12-09
·板载RAID功能制作磁盘阵列并安装操作系统 12-09
·教你如何用双SATA硬盘组建RAID系统 12-09
·Win2003服务器安全配置技巧 12-09
·DHCP 服务器的安装和配置 12-09
·企业邮件服务器MagicMail轻松建 11-19
·WebSphere服务器安装配置全攻略 11-19
·利用天雁Web服务器系统创建自己的网站服务器 11-13
·Exchange 2007 新特性与二次开发 11-09
·WEB专用服务器的安全设置的实战技巧 12-09
·板载RAID功能制作磁盘阵列并安装操作系统 12-09
·教你如何用双SATA硬盘组建RAID系统 12-09
·Win2003服务器安全配置技巧 12-09
·DHCP 服务器的安装和配置 12-09
·企业邮件服务器MagicMail轻松建 11-19
·WebSphere服务器安装配置全攻略 11-19
·利用天雁Web服务器系统创建自己的网站服务器 11-13
·Exchange 2007 新特性与二次开发 11-09
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容



