Fedora 安装 Mplayer

前提工作

1.使用svn下载 mplayer

svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
如果无法再这里下载不要泄气.这很可能是 GWF的问题.
可以转向http://www.mplayerhq.hu/design7/dload.html这 里下载”Subversion snapshot”.

2.下载 解码器
到这里
http://www.mplayerhq.hu/MPlayer/releases/codecs/下载解码器
Yayi 选择比较新的解码器all-20100303.tar.bz2这个使用.

3.到http://www.mplayerhq.hu/design7/dload.html这里的Skins处下载自己喜欢的主题

4.确认自己已经安装了gtk2- devel,如果没有请自行用yum安装.

安装Mplayer
1.切换到root用户
解压all-20100303.tar.bz2

View Code SHELL
1
tar jxvf all-20100303.tar.bz2


2.把里面的所有文件复制到你要存放的位置.
例 如笔者希望存放到”/usr/share/mplayer/lib“这里

View Code SHELL
1
cp *  /usr/share/mplayer/lib

3. 进入mplayer目录.然后执行下列代码.

View Code SHELL
1
./configure --prefix=/usr/share/mplayer  --enable-gui --enable-freetype --codecsdir=/usr/share/mplayer/lib  --language=zh_CN

–prefix=/usr/share/mplayer 指定安装位置
–enable-gui 启用图形
–enable-freetype 开启字体的选择
–codecsdir=/usr/share/mplayer/lib 这里就是你刚刚把加码器存放的位置.
–language=zh_CN 设置语言为中文.

4.make;make install进行安装

5.把你下载的主题解压.
修改主题目录名为default.
然后复制到安装目录的”share/mplayer/skins“下

6.这样就安装完毕了.
只需要把安装目录下bin目录下的gmplayer复制到/usr/bin里面便可以使用mplayer了.

View Code SHELL
1
cp gmplayer /usr/bin/

使用时为:

View Code SHELL
1
gmplayer 文件名

笔者这里播放的是一首MP3所有没有视频.

7.建立桌面快捷方式
桌面点击右键选择”创建启动器”
然后像下图这样填写便可以.

Fedora 安装 skyeye

前提工作

使用yum 安装以前软件

ncurses
ncurses-devel
glibc

glibc-devel

libXpm
libXpm-devel

texinfo
xterm
xorg-x11-fonts-misc

安装完”xorg-x11-fonts-misc“后,使用root权限运行下面程序:

View Code SHELL
1
fc-cache -fv

下载skyeye

http://sourceforge.net/projects/skyeye/files/

记住把skyeye,skyeye-testsuits,skyeye-documentation3个都下载下来,

skyeye是源码.

skyeye-testsuits是测试用的.

skyeye-documentation为skyeye文档,

安装skyeye

View Code SHELL
1
2
3
4
5
./configure --prefix=你希望安转的地方(当然这个选项可以不带让其默认安装)
make lib
make
make install_lib
make install

安装后查看下自己指定的目录.如下图:

测试skyeye

把之前下载好的skyeye-testsuits解压放在skyeye目录的testsuits下.

首先我们来测试一下s3c2440

进入测试目录:

View Code SHELL
1
~/skyeye/testsuite/skyeye-testsuite/linux/s3c2440/2.6.30.5

然后在终端运行以下skyeye:

View Code SHELL
1
~/skyeye/bin/skyeye -e vmlinux

然后按照下图输入:”start

接着按照下图输入:”run

这样就证明我们成功了.

为了方便使用,建议把bin下面的skyeye_main.py链接ln到/usr/bin/目录下面

官方网站为:skyeye.org

Fedora安装tor、privoxy/polipo、vidalia

前提工作
下载tor for linuxvidalia for linux

使用yum 安装必须软件

privoxy/polipo
cmake
qt4
qt-devel
libevent
libevent-devel
openssl
openssl-devel
doxygen

值得说下privoxy与polipo功能类似.选其中一个就好了.

安装tor
1.解压tor

tar zxf tor-0.2.1.27.tar.gz

2.开始安装tor

cd tor-0.2.1.27
./configure
make;make install

配置privoxy
用编辑器打开配置文件

vi /etc/privoxy/config

在配置文件里加下面这个行

forward-socks4a / 127.0.0.1:9050 .

最后.最后面有个”.
把下面这行注释掉

logfile logfile

保存退出即可

配置polipo
tor专用polipo配置文件替换当前的 Polipo 配置文件(如 /etc/polipo/config 或 ~/.polipo/polipo.conf”)就可以了.

安装vidalia
1.解压vidalia

tar zxf vidalia-0.2.10.tar.gz

2.开始安装vidalia

cd vidalia-0.2.10
cmake .
make
make install

Torbutton
安装并且确保Torbutton已经运行中.
如下图:

并且把privoxy和vidalia启动.

最后到https://check.torproject.org/确保自己的tor已经在运行了.

Yayi和大家一起学习Fedora系列教程–第八课

第八课了,这次我们来讲讲samba。
先来看看其作用吧。

Samba是许多服务以及协议的实现,其包括TCP/IP上的NetBIOS(NBT)、SMB、CIFS(SMB的增强版本)、 DCE/RPC或者更具体来说MSRPC(网络邻居协议套件)、一种 WINS服务器(也被称作NetBIOS Name Server(NBNS))、NT 域协议套件(包括NT Domain Logons、Secure Accounts Manager(SAM)数据库、Local Security Authority(LSA)服务、NT-style打印服务(SPOOLSS)、NTLM以及近来出现的包括一种改进的Kerberos协议与改进的轻型目录访问协议(LDAP)在内的Active Directory Logon服务)。以上这些服务以及协议经常被错误地归类为NetBIOS或者SMB。Samba也能够用于共享打印机。Samba能够为选定的Unix目录(包括所有子目录)建立网络共享。该功能使得Windows用户可以像访问普通Windows下的文件夹那样来通过网络访问这些Unix目录。(摘选自维基百科)

软件包:

samba-common
samba
system-config-samba
samba-client

主配置文件:

/etc/samba/smb.conf

配置文件内容:

View Code SHELL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
[global]
 
#Samba服务器的全局设置,配置项的内容对整个 Samba服务器有效
 
workgroup = MYGROUP
 
#设置Samba服务器所在的工作组名称,默认设置为 MYGROUP
 
server string = Samba Server
 
#设置Samba服务器的说明文字,用于描述Samba主机
 
security = user
 
#设置Samba服务器的默认安全级别为user,设置项的值可以有以下4种:
 
#share:用户不需要帐户及密码即可登入Samba服务器
 
#user:由提供服务的Samba服务器负责检查帐户及密码,是Samba默认的安全等级
 
#server:检查帐户及密码的工作指定由另一台 Windows服务器或Samba服务器负责
 
#domain:指定Windows域控制服务器来验证用户的帐户及密码
 
;   hosts allow = 192.168.1. 192.168.2. 127.
 
#默然情况下的配置不使用,它可以用来设置局域网中容许访问 Samba服务器的主机、子网或者是网段
 
load printers = yes
 
#是否允许打印机中的所有打印机,在开机时自动加载浏览列表,以支持客户端的浏览功能
 
;   printcap name = /etc/printcap
 
#设置开机时自动加载的打印机配置文件名称和路径
 
;   printcap name = lpstat
 
#设置打印机名称
 
;   printing = cups
 
#设置指定打印系统的类型
 
cups options = raw
 
#设置以’raw’的方式打印,可选项
 
;  guest account = pcguest
 
#设置Guest帐号名,默认不使用
 
log file = /var/log/samba/%m.log
 
#所有连接到SAMBA服务器的计算机建立个别的记录日志
 
max log size = 50
 
#设置每个记录日志大小的上限,单位是KB
 
#  password server =*
 
;   password server = 
 
#默认的配置下不使用,只有选项设置为 “security=server”时才生效,它是用来指定密码服务的名称,所以要使用NETBIOS名称,也可以使用“password server=*”的方式来自动寻找可用的域控制器
 
;   realm = MY_REALM
 
;   passdb backend = tdbsam
 
;   include = /usr/local/samba/lib/smb.conf.%m
 
#容许Samba服务器使用其他的配置文件
 
;   interfaces = 192.168.12.2/24 192.168.13.2/24
 
#使Samba服务器监视多个往来接口,如果服务器上有多张网卡应该配置此项
 
#在配置时可以写成:
 
interfaces =eth0
 
interfaces =172.17.4.150
 
;   local master = no
 
#Samba服务器是否可以成为本地主浏览器
 
;   os level = 33
 
#Samba服务器的管理等级
 
;   domain master = yes
 
#该服务器是否可以成为域浏览器
 
;   preferred master = yes
 
#该服务器是否可以成为工作组中的首要主浏览器
 
;   domain logons = yes
 
;   logon script = %m.bat
 
;   logon script = %U.bat
 
;   logon path = \\%L\Profiles\%U
 
;   wins support = yes
 
;   wins server = w.x.y.z
 
#设定samba server 是否要使用别台主机提供的WINS服务.通常无特殊原因设为no.除非所处网络上有一台主机提供WINS服务才要设yes
 
;   wins server = 192.168.0.1
 
#表示samba server要使用192.168.0.1提供的WINS服务
 
;   wins proxy = yes
 
dns proxy = no
 
;  add user script = /usr/sbin/useradd %u
 
;  add group script = /usr/sbin/groupadd %g
 
;  add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
 
;  delete user script = /usr/sbin/userdel %u
 
;  delete user from group script = /usr/sbin/deluser %u %g
 
;  delete group script = /usr/sbin/groupdel %g
 
#============================ Share Definitions ==============================
 
[homes]
 
#用户的主目录设置内容
 
comment = Home Directories
 
#设置共享的说明信息
 
browseable = no
 
#设置所有Samba用户的宿主目录是否能被看见
 
writable = yes
 
#设置用户是否可以对该共享目录写入
 
; [netlogon]
 
#登陆网域时的“netlogon”目录设置内容
 
;   comment = Network Logon Service
 
#主目录注释
 
;   path = /usr/local/samba/lib/netlogon
 
#实际访问资源的本机路径
 
;   guest ok = yes
 
#连接时是否需要密码
 
;   writable = no
 
#是否允许写入此目录
 
;   share modes = no
 
#是否容许目录中的文件在不同的用户之间共享
 
;[Profiles]
 
#用户配置文件目录设置内容
 
;    path = /usr/local/samba/profiles
 
#设置实际访问资源的本机路径
 
;    browseable = no
 
#设置是否允许浏览此主目录
 
;    guest ok = yes
 
#设置连接时是否需要密码
 
[printers] strong>
 
#设置打印机环境内容
 
comment = All Printers
 
#设置打印机注解
 
path = /usr/spool/samba
 
#设置打印队列路径
 
browseable = no
 
#设置是否允许浏览打印机内的暂时存盘内容
 
# Set public = yes to allow user ‘guest account’ to print
 
guest ok = no
 
#设置连接时是否不需要密码
 
writable = no
 
#设置是否允许写入此目录
 
printable = yes
 
#设置是否允许使用打印机
 
# This one is useful for people to share files
 
;[tmp]
 
;   comment = Temporary file space
 
#注释说明
 
;   path = /tmp
 
#分享资源的完整路径名称,除了路径要正确外,目录的权限也要设对
 
;   read only = no
 
#是否以只读方式共享当与writable 发生冲突时也writable为准
 
;   public = yes
 
#是yes/否no公开共享,若为否则进行身份验证(只有当security = share
 
;[public]
 
;   comment = Public Stuff
 
;   path = /home/samba
 
;   public = yes
 
;   writable = yes
 
;   printable = no
 
;   write list = @staff
 
#若设定为只读时,则只有此设定的名单内的成员才可作写入动作(用户名/@组名)
 
;[fredsprn]
 
;   comment = Fred’s Printer
 
;   valid users = fred
 
;   path = /homes/fred
 
;   printer = freds_printer
 
;   public = no
 
;   writable = no
 
;   printable = yes
 
;[fredsdir]
 
;   comment = Fred’s Service
 
;   path = /usr/somewhere/private
 
;   valid users = fred
 
;   public = no
 
;   writable = yes
 
;   printable = no
 
;[pchome]
 
;  comment = PC Directories
 
;  path = /usr/pc/%m
 
;  public = no
 
;  writable = yes
 
;[public]
 
;   path = /usr/somewhere/else/public
 
;   public = yes
 
;   only guest = yes
 
;   writable = yes
 
;   printable = no
 
;[myshare]
 
tyle=”color: #ff6600″>;   comment = Mary’s and Fred’s stuff
 
#设置共享的说明信息
 
;   path = /usr/somewhere/shared
 
#共享的目录
 
;   valid users = mary fred
 
#设定只有此名单内的用户才能访问共享资源 (拒绝优先)(用户名/@组名)
 
;   public = no
 
#是否公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)
 
;   writable = yes
 
#是否不以只读方式共享当与read only发生冲突时,无视read only
 
;   printable = no
 
#是yes/否no允许打印
 
;   create mask = 0765
 
#建立文件时所给的权限

客户端使用简单的说下吧。

配置samba本地用户密码
smbpasswd -a USER

显示当前服务器连接的状态
smbstatus

查看服务器共享的服务
smbclient -L //192.168.1.20 -U administrator

连接服务器共享
smbclient //192.168.1.20/share -U administrator

挂载samba服务器共享文件夹
mount -t cifs -o username=USER //192.168.1.20/USER /mnt -o username=username,passwd=’password’

这一课也结束了。这次并不是做主要的讲,是因为希望大家动动脑筋,多点经验解决自己第一次使用与安装的软件,

找出窍门,不要凡事没动过脑筋与思考马上就GOOGLE与问别人。先要相信自己的能力。

DNW在linux的解决方案

Dnw烧录工具一般只是提供在windows下,

官方并没有Linux的版本,

然而这样让我们使用Linux的人感到许多的不方便,

不过一位达人已经把Dnw成功移植到了Linux下,

这样我们就可以方便的使用了,

值得庆贺的是另一位达人添加了QT的界面,

这样对于新手来说更是方便.

加上个Gtkterm,

这个是代替windows下的超级终端.

本人以用mini2440已经充分测试,

测试通过.

副上图片,

注意:xdnw需要安装QT4,Fedora下为qt-devel.还有一点,它们需要root权限运行,紧记是’su – root‘,而不是’su root‘.并且都需要libusb和libusb-devel.

至于说明自己请解压看README文件.

Dnw for linux Dowdload.

XDnw for linux Dowdload.

Yayi和大家一起学习Fedora系列教程–第七课

现在我们开始讲FTP服务了。

那么什么是FTP服务捏?

FTPFile Transfer Protocol),是文件传输协议的简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。

FTP的作用

正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。

FTP工作原理

拿下载文件为例,当你启动FTP从远程计算机拷贝文件时,你事实上启动了两个程序:一个本地机上的FTP客户程序:它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。FTP采用客户机/服务器方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。

简单地说,支持FTP协议的服务器就是FTP服务器,下面介绍一下什么是FTP协议。(文件传输协议)

一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事,我们知道 Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行DosWindowsPC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。

与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。

FTP的使用当中,用户经常遇到两个概念:下载Download)和上载Upload)。下载文件就是从远程主机拷贝文件至自己的计算机上;上传文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上载(下载)文件。

使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上载或下传文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。

匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID

通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。

值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些提供了这项服务的主机。

当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上载文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上载文件,用户也只能将文件上载至某一指定上载目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上载有问题的文件,如带病毒的文件。

作为一个Internet用户,可通过FTP在任何两台Internet主机之间拷贝文件。但是,实际上大多数人只有一个Internet帐户,FTP主要用于下载公共文件,例如共享软件、各公司技术支持文件等。 Internet上有成千上万台匿名FTP主机,这些主机上存放着数不清的文件,供用户免费拷贝。实际上,几乎所有类型的信息,所有类型的计算机程序都可以在Internet上找到。这是Internet吸引我们的重要原因之一。

匿名FTP使用户有机会存取到世界上最大的信息库,这个信息库是日积月累起来的,并且还在不断增长,永不关闭,涉及到几乎所有主题。而且,这一切是免费的。

匿名FTPInternet网上发布软件的常用方法。Internet之所以能延续到今天,是因为人们使用通过标准协议提供标准服务的程序。像这样的程序,有许多就是通过匿名FTP发布的,任何人都可以存取它们。

Internet中的有数目巨大的匿名FTP主机以及更多的文件,那么到底怎样才能知道某一特定文件位于哪个匿名FTP主机上的那个目录中呢?这正是Archie服务器所要完成的工作。Archie将自动在FTP主机中进行搜索,构造一个包含全部文件目录信息的数据库,使你可以直接找到所需文件的位置信息。

FTP的用户分类及权限归属

在考虑FTP服务器安全性工作的时候,第一步要考虑的就是谁可以访问FTP服务器。在Vsftpd服务器软件中,默认提供了三类用户。不同的用户对应着不同的权限与操作方式。

一类是Real帐户。这类用户是指在FTP服务上拥有帐号。当这类用户登录FTP服务器的时候,其默认的主目录就是其帐号命名的目录。但是,其还可以变更到其他目录中去。如系统的主目录等等。

第二类帐户是Guest用户。在FTP服务器中,我们往往会给不同的部门或者某个特定的用户设置一个帐户。但是,这个账户有个特点,就是其只能够访问自己的主目录。服务器通过这种方式来保障FTP服务上其他文件的安全性。这类帐户,在Vsftpd软件中就叫做Guest用户。拥有这类用户的帐户,只能够访问其主目录下的目录,而不得访问主目录以外的文件。

第三类帐户是Anonymous(匿名)用户,这也是我们通常所说的匿名访问。这类用户是指在FTP服务器中没有指定帐户,但是其仍然可以进行匿名访问某些公开的资源。

在组建FTP服务器的时候,我们就需要根据用户的类型,对用户进行归类。默认情况下,Vsftpd服务器会把建立的所有帐户都归属为Real用户。但是,这往往不符合企业安全的需要。因为这类用户不仅可以访问自己的主目录,而且,还可以访问其他用户的目录。这就给其他用户所在的空间 带来一定的安全隐患。所以,企业要根据实际情况,修改用户所在的类别。

通过ftp传输文件的一般步骤

需要进行远程文件传输的计算机必须安装和运行ftp客户程序。在windows操作系统的安装过程中,通常都安装了tcp/ip协议软件,其中就包含了ftp客户程序。但是该程序是字符界面而不是图形界面,这就必须以命令提示符的方式进行操作,很不方便。

启动ftp客户程序工作的另一途径是使用ie浏览器,用户只需要在ie地址栏中输入如下格式的url地址:ftp//[用户名:口令@]ftp服务器域名[:端口号]

(CMD命令行下也可以用上述方法连接,通过put命令和get命令达到上传和下载的目的,通过ls命令列出目录,除了上述方法外还可以在cmd下输入ftp回车,然后输入open IP来建立一个连接,此方法还适用于linux下连接ftp服务器)

通过ie浏览器启动ftp的方法尽管可以使用,但是速度较慢,还会将密码暴露在ie浏览器中而不安全。因此一般都安装并运行专门的ftp客户程序。

1.在本地电脑上登陆到国际互联网.

2.搜索有文件共享主机或者个人电脑(一般有专门的FTP服务器网站上公布的,上面有进入该主机或个人电脑的名称,口令和路径).

3.当与远程主机或者对方的个人电脑建立连接后,用对方提供的用户名和口令登陆到该主机或对方的个人电脑.

4.在远程主机或对方的个人电脑登陆成功后,就可以上传你想跟别人分享的东东或者下载别人授权共享的东东(这里的东东是指能放到电脑里去又能在显示屏上看到的东东).

5.完成工作后关闭FTP下载软件,切断连接.

为了实现文件传输,用户还要运行专门的文件传输程序,比如网际快车就有这方面的功能,其它还有很多专门的FTP传输软件,FlashFxp为其中的杰出软件。有兴趣的网友可以试试其他的软件,如LeapFTP总归各有各的特色.

FTP协议

TCP/IP协议中,FTP标准命令TCP端口号为21Port方式数据端口为20FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联接的方式、甚至是是否使用相同的操作系统无关。假设两台计算机通过ftp协议对话,并且能访问Internet 你可以用ftp命令来传输文件。每种操作系统使用上有某一些细微差别,但是每种协议基本的命令结构是相同的。

FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。

1ASCII传输方式:假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。

但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸,字库等信息的非打印字符)。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝,不要对这些文件进行处理,这也是下面要讲的二进制传输。

2.二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。

如果你在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢 ,也会损坏数据,使文件变得不能用。(在大多数计算机上,ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。

5. FTP的工作方式

FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive (也就是PASV,被动方式) Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到FTP Server

下面介绍一个这两种方式的工作原理:

Port模式FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。

Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。

很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

FTP软件可以更好的帮助你管理FTP目录 提供更系统的工具

FTP工具推荐使用 cuteftp

http://www.onlinedown.net/soft/3065.htm

主动和被动模式FTP有两种使用模式:主动和被动。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。

一个主动模式的FTP连接建立要遵循以下步骤:

客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个FTP进程连接至服务器的21号命令端口。此时,源端口为随机端口x,在客户端,远程端口为21,在服务器。

客户端开始监听端口(x+1),同时向服务器发送一个端口命令(通过服务器的21号命令端口),此命令告诉服务器客户端正在监听的端口号并且已准备好从此端口接收数据。这个端口就是我们所知的数据端口。

服务器打开20号源端口并且建立和客户端数据端口的连接。此时,源端口为20,远程数据端口为(x+1)。

客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。


FTP和网页浏览器大多数最新的网页浏览器和文件管理器都能和FTP服务器建立连接。这使得在FTP上通过一个接口就可以操控远程文件,如同操控本地文件一样。这个功能通过给定一个FTPURL实现,形如ftp://<服务器地址>(例如,ftp://ftp.gimp.org )。是否提供密码是可选择的,如果有密码,则形如:@ftp://<login>:<password>@<ftpserveraddress>。大部分网页浏览器要求使用被动FTP模式,然而并不是所有的FTP服务器都支持被动模式。(摘选自百度百科)


竟然我们都明白了FTP是什么,那么我们开始说下在Linux下如何架设FTP服务了

Linux下架设FTP的软件很多。我们这里选vsftpd来讲。

vsftp的官方网站是: http://vsftpd.beasts.org/

笔者使用的版本为2.1.2-1

那么我们开始安装吧。

跟着下图使用yum来安装:

安装好后我们看看配置文件:
/etc/logrotate.d/vsftpd.log

vsftpd日志文件
/etc/pam.d/vsftpd

vsftpd的认证模块文件

/etc/rc.d/init.d/vsftpd

vsftp的启动脚本
/etc/vsftpd/ftpusers

vsftpd的绝对黑名单
/etc/vsftpd/user_list

vsftpd的白/黑名单(视主配置文件的变量值而定)
/etc/vsftpd/vsftpd.conf

vsftpd的主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh

vsftpd操作的一些变量和设置脚本

/var/ftp

匿名用户主目录
/var/ftp/pub

匿名用户的下载目录

基本上我们只配置/etc/vsftpd面的文件就好.
我们查看一下vsftpd的核心配置文件
.
more /etc/vsftpd/vsftpd.conf
OH,MY GOD!
我们还是菜鸟
.
这也

不过我们可以试下用
:
grep -v ‘#’ /etc/vsftpd/vsftpd.conf
这个就是把注释去掉后显示的基本默认配置文件了

恍然大悟,原来grep也可以这样用
.
相信聪明的大家以后也会怎么样在查看文本时屏蔽自己不需要的内容了
.
当然如果看得懂E.这种做法是不对D.

千万不要心急马上vi.
我们还是一步一步来
.
继续

安装好后查询vsftpd服务.’chkconfig –list vsftpd

35模式启动.’chkconfig –level 35 vsftpd on

启动vsftpd服务,’service vsftpd start‘(关闭为‘service vsftpd stop’)

配置vsftp.conf文件
在配置之前,我们现把这个文件备份一下
.
然后
rm -/etc/vsftpd/vsftpd.conf
接着再创建一个vsftpd.conft文件,并设置权限(注意:一定要用ROOT用户来完成
)
touch /etc/vsftpd/vsftpd.conft
chmod 600 /etc/vsftpd/vsftpd.conf

这样就好了.
然后参照下表选择自己服务器需要的配置.VI编辑vsftpd.conf文件
.
例如我现在需要设置一个不需要输入帐号密码就能登录与下载和上传文件的FTP,还需要日志服务
.
那么好.我们就一步步来作
.
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_root=/var/ftp
anon_upload_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
xferlog_std_format=YES
listen=YES
tcp_wrappers=YES

好了..就这么简单.然后保存退出vi
接着就service vsftpd restart重启服务一下

现在开始测试吧

测试的时候注意四点
.
第一,在架设服务器时一定要保证自己的IP是静态
.
第二,防火墙是否允许FTP,如果不会设置则关掉防火墙
.’srevice iptables stop
第三,如果发现无法上传请修改/var/ftp/pub这个文件夹的权限最好设置为777权限.(一般默认要求匿名用户上传到此
)
第四,每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在listen=YES后多了个空格,那我启动时就出现如下错误
:
500 OOPS: bad bool value in config file for: listen

关于下面这个表.
解说一下
.
一般“=”后面跟的不是YES就是NO“,yes代表启用,no代表不启用,如果有特殊的表里会说明.

./etc/vsftpd/vsftpd.conf配置文件注释:

View Code SHELL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
anonymous_enable=YES                                #是否开启匿名用户
no_anon_password=YES                                #匿名用户login时不询问用户名和口 令
anon_umask=077                                      #匿名用户上传的文件权限是‘—-rw—-’
anon_upload_enable=YES                              #是否允许匿名用户上传文件
anon_mkdir_write_enable=YES                         #是否允许匿名用户建立目录
anon_other_write_enable=YES                         #是否允许匿名用户具有建立目录,上传之 外的权限,如重命名,删除
anon_world_readable_only=YES                        #匿名登入者是否能下载可阅读的档案
anon_max_rate=80000                                 #匿名用户的下载速度为 80KBytes/s
anon_root=(none)                                    #匿名用户的宿主目录
allow_anon_ssl=NO                                   #匿名用户是否允许使用安全的SSL连接 服务器
ftp_username=FTP                                    #定义匿名使用者登录的使用者名称(默认 为FTP)
banned_email_file=/etc/vsftpd.banned_emails         #禁止使用的匿名用户登陆时作为密码的电 子邮件地址使用表的位置
deny_email_enable=NO                                #禁止使用的匿名用户登陆时作为密码的电 子邮件地址
secure_email_list_enable                            #如果你想只接受以指定E-MAIL地址登录的匿名用户的话,启用它
local_enable=YES                                    #本地用户是否可以登录
local_umask=022                                     #设置本地用户的文件生成掩码
file_open_mode=0666                                 #上传文件的权限配合umask使用
local_root=(none)                                   #指定所有本地用户登陆后的目录,如果不设置此项,用户都会登陆于自己的主目录
local_max_rate=500000                               #本地用户的下载速度为500KBytes/s
chroot_local_user=YES                               #是否允许用户离开其宿主目录
chroot_list_enable=NO                               #登录用户名字若在/etc/vsftpd.chroot_list内,则会启用chroot机制,将这个用户限制在其home目录下.
guest_enable=YES                                    #是否开启虚拟用户(如果开启则匿名用户用使用guest_username值的用户)
guest_username=vsftpd                               #指定虚拟用户名
virtual_use_local_privs=YES                         #虚拟用户和本地用户权限是否相同
userlist_enable=YES                                 #是根据user_list实行访问控制(若启用此选项,userlist_deny选项才被启动)
userlist_deny=NO                                    #若为YES,则 userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录
write_enable=YES                                    #用户是否具有写的权限(全局,若要对其中一种用户开放上传权限,此处必须YES)
download_enable=YES                                 #是否允许下载(全局模式)
chmod_enable=YES                                    #是否可以修改文件权限
nopriv_user= nobody                                 #设定服务执行者为nobody,vsftpd推荐使用一个权限很低的用户,最好是没有家目录(/dev/null),没有登陆shell(/sbin/nologin),系统会更安全
dirmessage_enable=YES                               #当切换到FTP服务器的某个目录这哦功时,是否显示该目录下的.message信息
dirlist_enable=YES                                  #是否启用通俗命令(如果设置为NO,那么只能使用unix/linux的命令)
xferlog_enable=YES                                  #是否启用上传和下载日志
xferlog_std_format=YES                              #是否使用标准的ftpdxferlog日志格式
xferlog_file=/var/log/vsftpd.log                    #将上传下载日志记录到/var/ log/vsftpd.log中
log_ftp_protocol=NO                                 #当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复,当调试比较有用.
dual_log_enable=NO                                  #如果启用,两个LOG文件会各自产生,默认的是/var/log/xferlog和/var/log/vsftpd.log
vsftpd_log_file=/var/log/vsftpd.log                 #这是被生成的vsftpd格式的log文件的名字(只有xferlog_enable被设置,而xferlog_std_format没有被设置时,此项才生效)
syslog_enable=NO                                    #如果启用,系统log将取代vsftpd的log输出到/var/log/vsftpd.log.FTPD的log工具将不工作
connect_from_port_20=YES                            #是否启用FTP数据端口的连接请求
listen=YES                                          #是否使用standalone启动vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式)
listen_ipv6=NO                                      #与‘listen’功能嗯相同,但此项监听IPV6(两个只能设置一个)
pam_service_name=vsftpd                             #PAM认证服务配置文件名称,保存在“/etc/pam.d”目录下
userlist_enable=YES                                 #是否检查userlist_file设置文件
tcp_wrappers=YES                                    #是否使用tcp_wrappers作为主机访问控制方式(tcp_wrappers的两个配置文件“/etc/hosts.allow 允许访问的主机“,”/etc/hosts.deny拒绝访问的主机”
ftpd_banner=Welcome to yayi.biz FTP Service         #FTP欢迎信息(如果设置了banner_file则此设置无效)
banner_file=/etc/vsftpd/banner                      #定义登录信息文件的位置
check_shell=NO                                      #是否检测SHELL
chown_uploads=YES                                   #是否开启匿名上传用户切换(如果开启,上传用户则变为‘chown_username=daemon’指定的用户)
chown_username=daemon                               #匿名上传文件的属主
file_open_mode=0666                                 #对于上传的文件设定权限
idle_session_timeout=600                            #客户端超过600S没有动作则视为超时
data_connection_timeout=300                         #数据传输时超过120S没有动作则视为超时
connect_timeout=60                                  #连接超时时间
pasv_min_port=30000                                 #建立资料联机所可以使用port 范围的上界,0表示任意,默认值为0
pasv_max_port=30999                                 #建立资料联机所可以使用port 范围的下界,0表示任意,默认值为0
pasv_enable=YES                                     #是否允许使用PASV模式
pasv_promiscuous+NO                                 #是否关闭PASV安全检查.(删除‘+NO’则开启)
pasv_address=(none)                                 #使vsftpd在pasv命令回复时跳转到指定的IP地址.
port_enable=YES                                     #是否允许使用PORT模式
prot_promiscuous                                    #是否开启安全PORT检查(‘+NO’则不开启)
pasv_max_port=0                                     #指定为被动模式数据连接分配的最大端口(0为任何)
pasv_min_port=0                                     #指定为被动模式数据连接分配的最小端口(0为任何)
ACCEPT_TIMEOUT=60                                   #PAVS请求60s无响应则视为超时
ascii_upload_enable=YES                             #是否可用ASCII 模式上传(默认为NO)
ascii_download_enable=YES                           #是否可用ASCII 模式下载(默认为NO)
secure_chroot_dir=/usr/share/empty                  #这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system 的权限时,就会将使用者限制在此数据夹中,默认值为/usr/share/empty
ls_recurse_enable=YES                               #是否能使用ls -R命令以(防止浪费大量的服务器资源)
one_process_model=YES                               #是否使用单进程模式
text_userdb_names=NO                                #是否可以查看文件拥有者的UID
use_localtime=NO                                    #显示目录清单时是用本地时间还是GMT时间,可以通过mdtm命令来达到一样的效果
use_sendfile=YES                                    #是否测试平台优化
setproctitle_enable=YES                             #是否显示状态会话信息
user_config_dir=/etc/vsftpd/userconf                #定义用户配置文件的目录
local_root=xxx                                      #定义本地用户登陆的根目录,注意定义根 目录可以是相对路径也可以是绝对路径.相对路径是针对用户家目录来说的
max_clients=0                                       #可接受的最大client数目(0为不限制)
max_per_ip=0                                        #每个ip的最大client数目(0为不限制)
connect_from_port_20=YES                            #是否启用FTP数据端口的数据连接
ftp_data_port=20                                    #设定PORT模式下的连接端口(只要被激活)
connect_from_port_20
listen_address=192.168.0.2                          #绑定FTP的IP地址(在多网卡或者多IP地址的机器上使用)
listen_port=2121                                    #绑定FTP使用使用端口
ftp_data_port=2020                                  #绑定FTP数据传输端口
background=NO                                       #起用时,VSFTPD将把监听进程置于后台,但访问VSFTPD时,控制台将立即被返回到SHELL
force_dot_files=NO                                  #如果激活, 以. 开始的文件和目录在目录列取的时候将会被显示, 即使客户端没有使用“a” 标识. 这不包括“.” 和“..” 目录
ssl_enable=NO                                       #是否启用SSL
force_local_data_ssl=YES                            #是否要求非匿名用户使用安全的SSL在 数据线路上收发数据
force_local_logins_ssl=YES                          #是否要求非匿名用户使用安全的SSL登录以发送密码
ssl_tlsv1=YES                                       #是否允许以TLS V1协议的连接,TLS V1连接将是首选
ssl_sslv2=NO                                        #是否允许以SSL V2协议的连接,TLS V1连接将是首选
ssl_sslv3=NO                                        #是否允许以SSL V3协议的连接,TLS V1连接将是首选
hide_ids=NO                                         #如果启用,目录资源列表里所有用户和组的信息将显示为\”ftp\”.
run_as_launching_user=NO                            #如果你使用非root用户启动vsftpd时使用.(不是Linux专业人士请不要使用,除非自己清楚自己在作什么.)
session_support=NO                                  #是否让VSFTPD去尝试管理登录会话
text_userdb_names                                   #默认情况下,在文件列表中,数字ID将被显示在用户和组的区域.你可以编辑这个参数以使其使用数字ID变成文字

注意:每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在listen=YES后多了个空格,那我启动时就出现如下错误:
500 OOPS: bad bool value in config file for: listen

最后介绍下如何配置FTP虚拟用户,过程不做详细介绍,自己理解。

1)、建立虚拟用户口令库文件
#touch logins.txt
#vi logins.txt

test
passwrod 123
chick
passwrod 123

2)
、生成vsftpd的认证文件

#db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
3)
、建立虚拟用户所需的PAM配置文件

#vi /etc/pam.d/vsftpd
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

4)
、建立虚拟用户及所要的访问的目录并设置相应权限

#useradd -d /home/ftpsite/ virtual
#chmod 700 /home/ftpsite/

5)
、设置vsftpd.conf配置文件

#cd /etc/vsftpd
#cp vsftpd.conf vsftpd.conf.bak
#vi vsftpd.conf

添加虚拟用户的配置项

guest_enable = YES
guest_username = virtual
pam_service_name = vsftpd

6)
、重新启动vsftpd服务程序

#service vsftpd restart
7)
、测试vsftpd中的虚拟用户账号

#touch /home/ftpsite/afile
#chown virtual.virtual /home/ftpsite/afile

使用ftp命令登陆vsftpd服务器,并使用已配置的虚拟用户账号进行登陆

8
)、对不同的虚拟用户设置不同的权限

1.
设置主配置文件

user_config_dir=/etc/vsftpd_user_conf
vsftpd.conf配置文件中添加user_config_dir配置项,并设置用户配置文件的保存目录

2.
建立用户配置文件目录

#mkdir /etc/vsftpd_user_conf
3.
为虚拟用户建立单独的配置文件

“/etc/vsftpd_user_conf/” 目录中可以为每个虚拟用户建立独立的配置文件,配置文件名称和用户名相同

在虚拟用户的独立配置文件中,配置项的含义如下:

anon_world_readable_only=NO 表示用户可以浏览FTP目录和下载文件
anon_upload_enable=YES
表示用户可以上传文件

anon_mkdir_write_enable=YES
表示用户具有建立和删除目录的权利

anon_other_write_enable=YES
表示用户具有文件改名和删除文件的权限

Yayi和大家一起学习Fedora系列教程–第六课

这次我们来讲DNS服务器的架设,在讲怎么架设之前我们有必要了解什么是DNS,及其的作用是什么?网域名称系统(Domain Name System缩写DNS,Domain Name被译为域名;另外域名服务器Domain Name Server也简称为DNS)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。(摘选自维基百科)

这里重点提醒下大家一个尝试,DNS服务器的根服务器全世界只有13台。我们所做的DNS服务器永远无法成为根服务器,请大家记住。

竟然知道了什么是DNS和它的大概作用,现在我们现在来看看DNS的工作原理。

根据这幅图,我们来简单说下DNS是怎么来工作的。

1.DNS服务器C上具有很多很多的数据,至于是什么数据我们先不关心,等到我们自己动手做的时候就会明白的。

2.WEB服务器B的域名架设为yayi.biz,主机名为www.yayi.biz..

3.我们是客户机ADNS地址设置为:192.168.1.12,现在大家要来访问我的博客了,当我们在浏览器上敲上网址的时候,我们的电脑就会向主机B询问www.yayi.bizIP地址是什么?如图:

4.DNS服务器会找自己的数据,找到后会直接告诉主机Awww.yayi.bizIP地址是:192.168.1.3。如图:

5.主机A的我们知道www.yayi.bizIP地址是192.168.1.3时,就直接向WEB服务器B请求数据的发送了。如图:

6.收到请求的WEB服务器B,便向主机A发送数据,于是我们就可以浏览我的博客了。这样就完成了一次简单的网页浏览,这样我们也可以简单的理解到DNS的工作原理。

注意:这里已经忽略了各种复杂的网络,忽略了DNS服务器C不存在数据的问题,忽略了根DNS服务器的问题,最后也忽略了DNS转发服务器的问题,现实的情况下,这些问题都会是成为我们架设DNS服务器所遇到得一些小问题。只要注意一下便可以解决。值得一提的是DNS使用53端口,这个是一个很特殊的端口,说它特殊时因为它是TCP的同时又是UDP端口,更详细的大家去查阅下网络技术那一块。

竟然已经简单的理解了DNS是怎么工作的后,我们现在就来看看DNS服务器是怎么架设起来的。在Linux下,架设DNS服务器的软件很多很多,但是最为出名和实用的依然是bind,所以这里我们就讲讲怎么用bind来架设DNS服务器的。

首先我们先登录bind的官方网站把bind下载下来,笔者在这里使用的版本为 9.6.1

bind官方地址:https://www.isc.org/

1、安装篇:

然后解压:

tar zxf bind-XXXX.tar.gz

创建文件夹:

mkdir /usr/local/bind (要把bind安装在这里)

进入bind解压后的位置.进行编译安装

./configure –prefix=/usr/local/named –enable-threads

–enable-threads是为了开启多线程更多选项请参考configure –help)

make ;make install

安装完成!!

2、主配置文件配置篇:

进行bind目录:

cd /usr/local/named

生成密匙文件:

sbin/rndc-confgen > etc/rndc.conf

进入bindetc目录

cd etc

rndc.conf文件生成named.conf文件:

tail -10 rndc.conf | head -9 | sed s/#\ //g > named.conf

打开/usr/local/named/etc/named.conf文件
添加以下文件:

View Code SHELL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
options
 {
directory “/var/named”; 					#域名文件存放的绝对路径
pid-file “named.pid”; 					#如果bind启动,自动会在/var/named目录生成一个 named.pid文件,打开文件就是named进程的ID
 
};
 
zone “.” IN {
type hint;							#根域名服务器
file “named.root”;						# 存放在/var/named目录,文件名为named.root
 
};
 
zone “localhost” IN {
type master;   						#类型为主域名服务器
file “localhost.zone”; 					#本地正向解析的文件
allow-update { none; };
 
};
 
zone “0.0.127.in-addr.arpa” IN {
type master; 							#类型为主域名服务器
file “named.local”;						#本地反向解析的文件
allow-update { none; };
 
};
 
zone “test.com” IN {						#建立test.com域
type master;							#类型为主域名服务器
file “test.zone”;						#test.com域映射IP地址可在此文件编写
allow-update { none; };
 
};
 
zone “1.168.192.in-addr.arpa” in {				#反向解析
type master; #类型为主域名服务器
file “test.local”;						#存放反向解析的文件
allow-update { none; };
 
};

3、区域配置文件配置篇:

打下依次建立这些区域文件

根区域文件的配置:

mkdir /var/named
cd /var/named
vi named.root
根域名服务器的存放位置,比喻hp.com域不在自己的解析范围,自动将解析交给根域名服务器,named.root内容是不定期更新的,最新的内容都是去ftp://rs.internic.net/domain/下载。

下面是Yayi给出的根区域配置文件的参考,建议去下载一个最新的,这里的内容不用背,理解下便可以,因为我可以通过网络得到最新的。

View Code SHELL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the “cache  .  ”
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC
;       under anonymous FTP as
;           file                /domain/named.root
;           on server           FTP.INTERNIC.NET
;       -OR-                    RS.INTERNIC.NET
;
;       last update:    Feb 04, 2008
;       related version of root zone:   2008020400
;
; formerly NS.INTERNIC.NET
;
.                                            3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
A.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:BA3E::2:30
;
; formerly NS1.ISI.EDU
;
.                                            3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     192.228.79.201
;
; formerly C.PSI.NET
;
.                                            3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                                            3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;
.                                            3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
;
.                                            3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
F.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:2f::f
;
; formerly NS.NIC.DDN.MIL
;
.                                            3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
.                                            3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
H.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:1::803f:235
;
; formerly NIC.NORDU.NET
;
.                                            3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.       3600000      A     192.36.148.17
;
; operated by VeriSign, Inc.
;
.                                           3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     192.58.128.30
J.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:C27::2:30
;
; operated by RIPE NCC
;
.                                            3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129
K.ROOT-SERVERS.NET.      3600000      AAAA  2001:7fd::1
;
; operated by ICANN
;
.                                            3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     199.7.83.42
;
; operated by WIDE
;
.                                             3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
M.ROOT-SERVERS.NET.      3600000      AAAA  2001:dc3::35
; End of File

②本地区域文件的配置:

依然是在/vat/named/目录中,创建一个本地区域文件:

vi test.zone

添加一下内容:

View Code SHELL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$TTL      86400						#缓存时间.单位‘秒‘
 
@	IN SOA		dns.test.com. root@test.com (	#区域、SOA记录、主域名服务、联系人
 
42	; serial     (d. adams)				#序列号
 
3H	 ; refresh						#每3小时重试
 
15M	; retry						#隔15分钟重试
 
1W	; expiry						#过期时间1个星期
 
1D )	; minimum						#最小的TTL时间为1天
 
@	IN NS		dns.test.com.				#主DNS服务器名称
 
@	IN            dns1.test.com.			#辅助DNS服务器名称
 
dns	IN A          192.168.1.12				#主DNS服务器的IP
 
dns1   IN A          192.168.1.4				#辅助DNS服务器的IP
 
www    IN A          192.168.1.3				#主机www的IP地址
 
www	IN CNAME      host1.test.com.			#host1的别名记录
 
100	IN PTR	       host100.test.com.			#host100.test.com的ip是192.168.1.100(反向查询)
 
@	IN MX   5     mail.test.com.			#test.com使用mail.test.com作为邮件服务(MX记录)

注意:域名后面是需要加上“.”的,不要遗漏,否则出错。

这样,我们的本地区域文件就写好了,然后我们来看看这个区域需要理解的。

IN指的是intelnet类型,
SOA,NS,A,CNAME,MX,PTR是指记录的类型:
NS指的是DNS服务器
A指正向查询方式
CHAME指别名
MXMX记录
PTR指反向查询

好了,这样所有的都出来了.详细的配置看rpm安装配置,
是一模一样的.
启动则为/usr/local/name/sbin/named
/usr/local/name/sbin/named -g则是前台运行,适合第一次启动,或者说直到你看到running…
每次错误都有提示,认真看提示解决.
如果看懂那么就g.cn的在线翻译吧。

下图就是bind已经在运行了:

关于开机自动启动也很简单,
/etc/rc.local文件里加多一行,
“/usr/local/named/sbin/named”

然后我们用客户机测试下,看看是不是成功了,不过别忘记了,客户机的DNS应该设置为我们DNS主机的IP地址哦。

这样,我们这一课又结束了哦。想要了解DNS,不是这样就可以了,要自己再去多点实践与查阅资料。