ftp使用场合:用于文件的传输
ftp的作用:用于文件的上传和下载。
ftp属于tcp,端口号:20,21
21:控制层面,用于账户密码验证,权限的验证。
20:数据层面,用于文件上传和下载。
ftp:匿名、系统、虚拟账户。
匿名账户:登录名:ftp、anonymous。不验证密码即可登录。
系统账户:本身系统已存在的账户、密码作验证。
验证方式:
1.验证的/etc/passwd和/etc/shadow
2.验证的是用户列表(用户必须是系统创建),相当于白名单
默认root账户不允许登录
虚拟账户:预定义的列表账户。(以前系统未创建过的)
systemctl stop firewalld.service #关闭防火墙
setenforce 0 #关闭核心防护
[root@server1 ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm 或 yum -y install vsftpd.x86_64(安装vsftp)
[root@server1 ~]# ls -l /var/ 查看ftp文件
drwxr-xr-x. 3 root root 17 9月 8 11:56 ftp
修改属主和属组,并创建文件
[root@server1 ~]# ls -l /var/ 查看ftp文件
drwxr-xr-x. 3 root root 17 9月 8 11:56 ftp
chown -R ftp.ftp /var/ftp/pub/
chmod -R 755 /var/ftp/pub/
[root@server1 ~]# cd /var/ftp/pub/ 再该文件夹下创建一些文件做上传下载的实验
[root@server1 pub]# echo abc123 >a.txt
[root@server1 pub]# echo abc123 >b.txt
[root@server1 pub]# ls -lh
总用量 8.0K
-rw-r--r--. 1 root root 7 9月 8 12:00 a.txt
-rw-r--r--. 1 root root 7 9月 8 12:01 b.txt
root@server1 pub]# chmod -R 755 /var/ftp/pub/ 给创建的文件附加属性
[root@server1 pub]# chown -R ftp.ftp /var/ftp/pub/
[root@server1 pub]# cd /var/ftp/pub/ 查看效果
[root@server1 pub]# ls -lh
总用量 8.0K
-rwxr-xr-x. 1 ftp ftp 7 9月 8 12:00 a.txt
-rwxr-xr-x. 1 ftp ftp 7 9月 8 12:01 b.txt
[root@server1 pub]# cd .. 再次验证权限是否为755
[root@server1 ftp]# ls -lh
总用量 0
drwxr-xr-x. 2 ftp ftp 32 9月 8 12:01 pub
#修改配置文件为匿名用户登录
vi /etc/vsftpd/vsftpd.conf
16 #local_enable=YES
23 #local_umask=022
33 anon_mkdir_write_enable=YES
12 anonymous_enable=YES
13 anon_umask=022
116 listen=YES
125 listen_ipv6=NO
输入[root@server1 ~]# grep -v "#" /etc/vsftpd/vsftpd.conf | grep -v "^$" 与下面的命令进行比对
[root@server1 ~]# grep -v "#" /etc/vsftpd/vsftpd.conf | grep -v "^$"
anonymous_enable=YES
anon_umask=022
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
验证是否一致
开启ftp服务,并查看端口号
[root@server1 ~]# systemctl start vsftpd 服务重启
[root@server1 ~]# netstat -anpt | grep vsftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 12646/vsftpd
启动其他设备 即客户机 以下是验证下载并上传文件
[root@server1 ~]# yum -y install ftp 安装ftp服务
[root@server1 ~]# ftp 20.0.0.10 连接服务端
Connected to 20.0.0.10 (20.0.0.10).
220 (vsFTPd 3.0.2)
Name (20.0.0.10:root): ftp 输入连接方式ftp
331 Please specify the password.
Password: 默认无密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls -lh
227 Entering Passive Mode (20,0,0,10,167,73).
150 Here comes the directory listing.
drwxr-xr-x 2 14 50 32 Sep 08 04:01 pub
226 Directory send OK.
ftp> cd pub
250 Directory successfully changed.
ftp> ls -lh 查看服务端文件
227 Entering Passive Mode (20,0,0,10,32,210).
150 Here comes the directory listing.
-rwxr-xr-x 1 14 50 7 Sep 08 04:00 a.txt
-rwxr-xr-x 1 14 50 7 Sep 08 04:01 b.txt
226 Directory send OK.
ftp> get a.txt 下载服务端文件
local: a.txt remote: a.txt
227 Entering Passive Mode (20,0,0,10,39,77).
150 Opening BINARY mode data connection for a.txt (7 bytes).
226 Transfer complete.
7 bytes received in 6.7e-05 secs (104.48 Kbytes/sec)
ftp> put anaconda-ks.cfg 上传文件
local: anaconda-ks.cfg remote: anaconda-ks.cfg
227 Entering Passive Mode (20,0,0,10,28,41).
150 Ok to send data.
226 Transfer complete.
2107 bytes sent in 0.00813 secs (259.10 Kbytes/sec)
ftp> bye 退出
221 Goodbye.
验证:
[root@server1 ~]# cd /var/ftp/pub/ 服务端 验证用户端是否成功上传naconda-ks.cfg文件
[root@server1 pub]# ls -lh
总用量 12K
-rw-r--r--. 1 ftp ftp 2.1K 9月 8 17:17 anaconda-ks.cfg
-rwxr-xr-x. 1 ftp ftp 7 9月 8 12:00 a.txt
-rwxr-xr-x. 1 ftp ftp 7 9月 8 12:01 b.txt
进入用户端验证是否下载a,b文件
[root@server1 ~]# ls -lh
总用量 12K
-rw-------. 1 root root 2.1K 8月 10 19:56 anaconda-ks.cfg
-rw-r--r--. 1 root root 7 9月 7 17:14 a.txt
-rw-r--r--. 1 root root 2.2K 8月 10 20:10 initial-setup-ks.cfg
-rw-r--r--. 1 root root 0 9月 7 17:01 local.repo
以上为匿名账户
修改主配置文件的配置详解
anonymous_enable=YES #允许匿名账户登录
anon_upload_enable=YES #允许匿名账户上传
anon_mkdir_write_enable=YES #允许匿名账
户新建文件或目录
anon_other_write_enable=YES #允许匿名账户的其他写权限
anon_umask=022 #设置匿名账户的权限为755
local_enable=YES #允许本地账户登录
local_max_rate=102400 #本地账户限速
chroot_local_user=yes #锁定宿主目录,此配置针对本地账户
write_enable=YES #写权限的开启,如果想让用户上传文件,此权限也需要有
local_umask=022 #本地账户的权限为755
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES #监听IPV4地址的请求
listen_ipv6=NO #不监听IPV6地址的请求
systemctl startr vsftp 开启ftp服务
验证用户权限
只允许系统账户liming上传下载文件,其他账户不允许访问。(接上面实验后做)
[root@server1 pub]# cd
[root@server1 ~]# vi /etc/vsftpd/user_list
[root@server1 ~]# vi /etc/vsftpd/vsftpd.conf 修改刚刚匿名账户的设置
#anonymous_enable=YES
#anon_umask=022
local_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_other_write_enable=YES
#anon_mkdir_write_enable=YES
[root@server1 ~]# systemctl restart vsftpd 服务重启,使其生效
[root@server1 ~]# vi /etc/vsftpd/vsftpd.conf 再次修改
chroot_local_user=YES
下面添加一行 allow_writeable_chroot=YES :wq
[root@server1 ~]# systemctl restart vsftpd 服务再次重启
[root@server1 ~]# netstat -anpt | grep vsftpd 验证是否报错
tcp6 0 0 :::21 :::* LISTEN 14015/vsftpd
客户机里面输入[root@server1 ~]# ftp 20.0.0.10 验证用户是否正常登录
Connected to 20.0.0.10 (20.0.0.10).
220 (vsFTPd 3.0.2)
Name (20.0.0.10:root): lisi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put anaconda-ks.cfg
local: anaconda-ks.cfg remote: anaconda-ks.cfg 用户lisi上传文件
227 Entering Passive Mode (20,0,0,10,55,164).
150 Ok to send data.
226 Transfer complete.
2107 bytes sent in 0.000102 secs (20656.86 Kbytes/sec)
在服务端lisi属主目录/home下查看
[root@server1 ~]# cd /home/lisi/
[root@server1 lisi]# ls -lh
总用量 4.0K
-rw-r--r--. 1 lisi lisi 2.1K 9月 7 21:49 anaconda-ks.cfg
创建一个文件[root@server1 lisi]# echo a>a1
在客户机上查看并下载 具有写和读(能下载)的权限
ftp> ls -lh
227 Entering Passive Mode (20,0,0,10,112,91).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 0 Sep 07 13:55 a
-rw-r--r-- 1 0 0 2 Sep 07 13:55 a1
-rw-r--r-- 1 1001 1001 2107 Sep 07 13:49 anaconda-ks.cfg
226 Directory send OK.
ftp> get a1
local: a1 remote: a1
227 Entering Passive Mode (20,0,0,10,71,164).
150 Opening BINARY mode data connection for a1 (2 bytes).
226 Transfer complete.
2 bytes received in 7.1e-05 secs (28.17 Kbytes/sec)
ftp> bye 退出
221 Goodbye.
[root@server1 lisi]# cd
[root@server1 ~]# useradd liming 新建liming用户
[root@server1 ~]# passwd liming
[root@server1 ~]# vi /etc/vsftpd/user_list
里面内容清空 只添加一个 liming 即为白名单
[root@server1 ~]# vi /etc/vsftpd/vsftpd.conf
allow_writeable_chroot=YES
local_root=/opt/liming 添加该行
#chroot_list_enable=YES
userlist_enable=YES
userlist_deny=NO 在添加该行
tcp_wrappers=YES
:wq
[root@server1 ~]# grep -v "#" /etc/vsftpd/vsftpd.conf | grep -v "^$" 验证修改的参数
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/opt/liming
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES
[root@server1 ~]# cd /opt/
[root@server1 opt]# mkdir liming
[root@server1 opt]# cd
[root@server1 ~]# chown liming.liming /opt/liming
[root@server1 ~]# chmod 700 /opt/liming
[root@server1 ~]# systemctl restart vsftpd
[root@server1 ~]# netstat -aupt | grep vsftpd
tcp 0 0 0.0.0.0:ftp 0.0.0.0:* LISTEN 53137/vsftpd
客户机进行验证
[root@server1 ~]# ftp 20.0.0.10
Connected to 20.0.0.10 (20.0.0.10).
220 (vsFTPd 3.0.2)
Name (20.0.0.10:root): lisi 因为设置白名单只允许liming登录
530 Permission denied.
Login failed.
[root@server1 ~]# ftp 20.0.0.10
Connected to 20.0.0.10 (20.0.0.10).
220 (vsFTPd 3.0.2)
Name (20.0.0.10:root): liming
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
服务机新建文件,验证
[root@server1 ~]# cd /opt/liming
[root@server1 liming]# touch aaa
[root@server1 liming]# touch bbb
客户机验证
ftp> ls -lh
227 Entering Passive Mode (20,0,0,10,74,78).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 0 Sep 07 14:28 aaa
-rw-r--r-- 1 0 0 0 Sep 07 14:28 bbb
226 Directory send OK.
ftp> get aaa
local: aaa remote: aaa
227 Entering Passive Mode (20,0,0,10,27,112).
150 Opening BINARY mode data connection for aaa (0 bytes).
226 Transfer complete.
ftp> get bbb
local: bbb remote: bbb
227 Entering Passive Mode (20,0,0,10,125,211).
150 Opening BINARY mode data connection for bbb (0 bytes).
226 Transfer complete.
ftp> put anaconda-ks.cfg
local: anaconda-ks.cfg remote: anaconda-ks.cfg
227 Entering Passive Mode (20,0,0,10,68,121).
150 Ok to send data.
226 Transfer complete.
2107 bytes sent in 0.000132 secs (15962.12 Kbytes/sec
以上为本地账户
本地账户
设置本地用户的可登录用户列表
vi /etc/vsftpd/user_list
liming
vi /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES #宿主目录的锁定
listen=YES
allow_writeable_chroot=YES #允许宿主目录的写权限
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES #启用用户列表
userlist_deny=NO #只允许用户列表里的用户列表
tcp_wrappers=YES
local_root=/opt/liming #指定用户的宿主目录路径
普通账户的宿主目是它的家目录。
systemctl restart vsftpd 重行开启FTP服务
附加:grep -v “#” /etc/vsftpd/vsftpd.conf | grep -v “^$” 不带# ,^$的文件
作用:将域名解析成IP地址
原因:我们对数字不敏感,记不住这个IP地址,所以才有域名解析服务。
解析方式:正向解析:域名解析出IP
反向解析: IP解析出域名
DNS服务器中存储着大量的ip和域名映射记录,它的记录文件也分为正向解析文件和反向解析文件
正向解析文件中存储的记录称为A记录,A记录记录着域名和IP的映射关系
反向解析文件中存储的记录称为PTR指针,PTR记录着IP和域名的映射关系。
DNS服务既属于TCP协议也属于UDP协议,端口号为53号。
. 根域
国家域:cn中国,hk香港,uk英国,au澳大利亚
顶级域(领域):com商业用途 net网络组织 edu教育
二级域:个性化的名称,每个域的二级域都不一样
主机名(用途):www(网页),mail(邮件)
DNS的解析过程是分层解析的,一般客户机将解析的请求发送给它的DNS服务器,DNS服务器首先是从根DNS服务器(.)开始改送域名解析请求,根将COM域的IP反馈给客户机的本地DNS服务器,本地DNS服务器访问COM域服务器,COM域服务器反馈baidu域的IP给本地DNS服务器,本地DNS服务器访问baidu域服务器询问www域服务器的ip,baidu域服务器给dns服务器反馈www域的ip,这时本地DNS服务器得到www.baidu.com的精确ip后,直接将这个映射记录反馈给客户机,客户机直接访问www.baidu.com服务器,服务器反馈相应的数据。
DNS缓存:
其中一台DNS服务器可以上网去获取DNS映射记录,客户机将DNS服务器地址指向这台可以上网的DNS服务器,从而获取到相应的映射记录
DNS包安装:
[root@server1 ~]# yum -y install bind
查看bind配置文件的路径:
[root@server1 ~]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf //主配置文件 控制系统全局
/etc/named.iscdlv.key
/etc/named.rfc1912.zones //区域配置文件 控制具体的单个区域
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost //区域数据配置文件 区域信息
/var/named/named.loopback
主要配置文件:
/etc/named.conf //主配置文件 控制系统全局
/etc/named.rfc1912.zones //区域配置文件 控制具体的单个区域
/var/named/named.localhost //区域数据配置文件 区域信息
修改主配置文件:
[root@server1 ~]# vim /etc/named.conf
12 options { //选项
13 listen-on port 53 { 127.0.0.1; }; //监听的本端口
14 listen-on-v6 port 53 { ::1; }; //监听ipv6的地址
15 directory "/var/named"; //数据文件存放位置
16 dump-file "/var/named/data/cache_dump.db"; //容灾文件
17 statistics-file "/var/named/data/named_stats.txt"; //备份文件
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 allow-query { localhost; }; //允许那些主机来进行解析
41 pid-file "/run/named/named.pid"; //pid文件存放的位置,进程文件进行的位置
42 session-keyfile "/run/named/session.key"; //session会话,key密钥管理文件
52 zone "." IN { 53 type hint;
54 file "named.ca";
55 };
//里面解析的是.(根域服务器),在不进行任何配置前提下面,就充当缓存服务器的角色,当没有数据信息的时候,它会凭借该选项来寻找根域服务器来进行解析
57 include "/etc/named.rfc1912.zones"; //包含子配置文件(即区域配置文件),这里为了方便管理,主配置文件这里做了分割
附加:tcp作用:连接 udp作用:解析
主配置文件只需要修改两个地方:
修改为监听自己的IP地址
13 listen-on port 53 { 20.0.0.11; }; //因为他人访问的时候是访问自己的地址,所有要修改为监听自己的ip地址
19 allow-query { any; }; //修改为任何人都能进行访问 (访问权限)
修改区域配置文件:(内部全是区域模板,没有时效性的东西)
[root@server1 ~]# vim /etc/named.rfc1912.zones
19 zone "localhost" IN { //该部分为正向解析(做解析域名的时候不是对其进行修改,而是作为模板,对模板进行修改)
20 type master;
21 file "named.localhost";
22 allow-update { none; };
23 };
附加:"localhost":区域名称
type master:表示类型为主服务器
file "named.localhost":区域数据文件配置的地方,默认为named.localhost(在主配置下的/var/named中)
allow-update { none; }:allow更新
zone "wangtong.com" IN {
type master;
file "wangtong.com.zone";:
allow-update { none; };
};
//对正向解析文件的模板进行修改,并对其进行验证
[root@server1 ~]# cd /var/named/ //进入数据文件存放目录下
[root@server1 named]# ls //查看到 named.localhost
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@server1 named]# cp -p named.localhost wangtong.com.zone //复制,并保留权限(-p)(因为不保留权限,在root用户下会变成root属主属组,但此时属组必须为named)将 named.localhost
修改为刚刚修改模板的目录,即wangtong.com.zone
[root@server1 named]# ls
data named.ca named.localhost slaves
dynamic named.empty named.loopback wangtong.com.zone
[root@server1 named]# vim wangtong.com.zone //修改新增加的正向解析文件(内部格式解析)
$TTL 1D //TTL
@ IN SOA @ rname.invalid. ( //SOA标记,域名,管理邮箱 资源起始记录 @:相对于变量
0 ; serial //无效解析记录的生存周期 序列号
1D ; refresh //失效时间,超过时间仍无法下载则放弃
1H ; retry //如果名称名没更新成功,多长时间更新一次
1W ; expire //联系多久不成功就终止联系
3H ) ; minimum //失效时间
NS @ //域名
A 127.0.0.1 //A:记录名称 后面接本机ip
AAAA ::1 //ipv6 ip
//rname.invalid:管理员邮箱(不要加@)
对正向解析文件进行修改:
$TTL 1D
@ IN SOA wangtong.com admin.wangtong.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS wangtong.com.
A 20.0.0.11
IN MX 10 mail.wangtong.com. //写入具体数据(10:表示序列号,加载读取的顺序,解析mail.wangtong.com. )
www IN A 20.0.0.88 //主机A记录 20.0.0.88:解析的地址,即输入www.wangtong.com.时解析的IP地址
ftp IN A 20.0.0.99 //即输入ftp.wangtong.com.时解析的IP地址
smtp IN CNAME www //别名解析
* IN A 8.8.8.8 //半域名解析,如果输入一个错误的域名,会解析一个8.8.8.8的ip地址
[root@server1 named]# systemctl start named 启动服务
[root@server1 named]# netstat -nuap //查看端口是否生效,即监听地址
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:54960 0.0.0.0:* 602/avahi-daemon: r
udp 0 0 20.0.0.11:53 0.0.0.0:* 13454/named
提供DNS服务给他人
udp 0 0 192.168.122.1:53 0.0.0.0:* 1570/dnsmasq
udp 0 0 0.0.0.0:67 0.0.0.0:* 1570/dnsmasq
udp 0 0 0.0.0.0:5353 0.0.0.0:* 602/avahi-daemon: r
udp6 0 0 ::1:53 :::* 13454/named
附加:tcp也会开放53号端口,作用连接(快,高效)
udp也会开放53号端口,作用解析
DNS写入的文件地址:vim /etc/resolv.conf
[root@server1 named]# echo "nameserver 20.0.0.11" > /etc/resolv.conf //覆盖之前DNS写入的记录,自己解析自己
[root@server1 named]# cat /etc/resolv.conf
nameserver 20.0.0.11
host命令(解析命令,负责测试,解析,域名解析的工具)来源的工具
[root@server1 named]# rpm -q bind-utils
bind-utils-9.9.4-50.el7.x86_64
[root@server1 named]# host www.wangtong.com //此时说明域名解析是成功的
www.wangtong.com has address 20.0.0.88
[root@server1 named]# host smtp.wangtong.com //别名解析
smtp.wangtong.com is an alias for www.wangtong.com.
www.wangtong.com has address 20.0.0.88
[root@server1 named]# host ftp.wangtong.com //ftp解析
ftp.wangtong.com has address 20.0.0.99
[root@server1 named]# host abc.wangtong.com //半域名解析
abc.wangtong.com has address 8.8.8.8
附加:
31 zone "1.0.0.127.in-addr.arpa" IN { //该部分为反向解析
32 type master;
33 file "named.loopback";
34 allow-update { none; };
35 };
在原有基础之上修改配置文件
36 zone "1.0.0.127.in-addr.arpa" IN { 复制改模板,对模板进行修改
37 type master;
38 file "named.loopback";
39 allow-update { none; };
42 zone "0.0.20.in-addr.arpa" IN { //解析的地址(网段)
43 type master;
44 file "wang.com.local"; //区域数据配置文件
45 allow-update { none; };
46 };
[root@server1 named]# ls
data named.ca named.localhost slaves
dynamic named.empty named.loopback wangtong.com.zone
[root@server1 named]# cp -p wangtong.com.zone wang.com.local
[root@server1 named]# vim wang.com.local
$TTL 1D
@ IN SOA wang.com admin.wang.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS wang.com.
A 20.0.0.11
99 IN PTR www.wang.com.
88 IN PTR ftp.wang.com.
验证
[root@server1 named]# systemctl restart named
[root@server1 named]# host 20.0.0.99
99.0.0.20.in-addr.arpa domain name pointer www.wang.com.
[root@server1 named]# host 20.0.0.88
88.0.0.20.in-addr.arpa domain name pointer ftp.wang.com.
主从同步作用:当主服务器宕机之后,从服务器仍然能提供和主服务器一样的服务
从服务器配置
关闭防火墙,核心防护
[root@server2 ~]# systemctl stop firewalld.service
[root@server2 ~]# setenforce 0
安装dhcp服务包
[root@server2 ~]# yum -y install bind
修改主配置文件
[root@server2 ~]# vim /etc/named.conf
13 listen-on port 53 { 20.0.0.12; };
19 allow-query { any; };
修改区域配置文件
[root@server2 ~]# vim /etc/named.rfc1912.zones
19 zone "localhost" IN { //复制以下五行作为模板,并在该模板上进行修改
20 type master;
21 file "named.localhost";
22 allow-update { none; };
23 };
24
25 zone "wangtong.com" IN {
26 type slave;
27 file "slaves/wangtong.com.zone";
28 masters { 20.0.0.11; };
29 };
将修改的文件放入 slaves目录中
[root@server2 ~]# cd /var/named/
[root@server2 named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
主服务器进行配置(接DNS正向解析内容)
25 zone "wangtong.com" IN { //正向解析设置进行修改
26 type master;
27 file "wangtong.com.zone";
28 allow-update { none; };
29 };
25 zone "wangtong.com" IN {
26 type master;
27 file "wangtong.com.zone";
28 allow-transfer { 20.0.0.12; }; //修改为从服务器的地址
29 };
重启服务
[root@server1 named]# systemctl restart named
从服务器配置
启动服务:[root@server2 named]# systemctl start named
[root@server2 named]# ls slaves/ //查看是否有以下文件生成(自动同步)
wangtong.com.zone
[root@server2 named]# cd slaves/ //查看过来的数据同步文件
[root@server2 slaves]# ls
wangtong.com.zone
[root@server2 slaves]# vim wangtong.com.zone //发现是一串乱码
^@^@^@^B^@^@^@^A_èxâ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@g^@^A^@^F^@^@^@^AQ<80>^@^@^@^A^@^N^Hwangtong^Ccom^@^@C^Hwangtong^Ccom^Hwangtong^Ccom^@^Eadmin^Hwangtong^Ccom^@^@^@^@^@^@^AQ<80>^@^@^N^P^@ :<80>^@^@*0^@^@^@(^@^A^@^A^@^@^@^AQ<80>^@^@^@^A^@^N^Hwangtong^Ccom^@^@^D^T^@^@^K^@^@^@?^@^A^@^B^@^@^@^AQ<80>^@^@^@^A^@^N^Hwangtong^Ccom^@^@^[^Hwangtong^Ccom^Hwangtong^Ccom^@^@^@^@*^@^A^@^A^@^@^@^AQ<80>^@^@^@^A^@^P^A*^Hwangtong^Ccom^@^@^D^H^H^H^H^@^@^@,^@^A^@^A^@^@^@^AQ<80>^@^@^@^A^@^R^Cftp^Hwangtong^Ccom^@^@^D^T^@^@c^@^@^@I^@^A^@^O^@^@^@^AQ<80>^@^@^@^A^@^Q^BIN^Hwangtong^Ccom^@^@"^@
^Dmail^Hwangtong^Ccom^Hwangtong^Ccom^@^@^@^@;^@^A^@^E^@^@^@^AQ<80>^@^@^@^A^@^S^Dsmtp^Hwangtong^Ccom^@^@^R^Cwww^Hwangtong^Ccom^@^@^@^@,^@^A^@^A^@^@^@^AQ<80>^@^@^@^A^@^R^Cwww^Hwangtong^Ccom^@^@^D^T^@^@X
验证,查看是否能解析
[root@server2 slaves]# echo "nameserver 20.0.0.12" > /etc/resolv.conf //验证自己能否解析自己
[root@server2 slaves]# cat /etc/resolv.conf
nameserver 20.0.0.12
查看主服务器解析地址的内容:
[root@server1 named]# cat wangtong.com.zone
$TTL 1D
@ IN SOA wangtong.com admin.wangtong.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS wangtong.com
A 20.0.0.11
IN MX 10 mail.wangtong.com
www IN A 20.0.0.88
ftp IN A 20.0.0.99
smtp IN CNAME www
* IN A 8.8.8.8
从服务器上验证:(查看解析的内容是否与主服务器一致)
[root@server2 slaves]# host www.wangtong.com
www.wangtong.com has address 20.0.0.88
[root@server2 slaves]# host ftp.wangtong.com
ftp.wangtong.com has address 20.0.0.99
[root@server2 slaves]# host abc.wangtong.com
abc.wangtong.com has address 8.8.8.8
联系到主机,DNS应该如何设置,如图:(其中的首选,备选就与主从一个道理,当首选20.0.0.11服务将宕机后,备选20.0.0.12服务器可以正常工作)
附加:
[root@server2 slaves]# echo "nameserver 20.0.0.12" >> /etc/resolv.conf (发现是新增)
[root@server2 slaves]# cat /etc/resolv.conf
nameserver 20.0.0.2
nameserver 20.0.0.12
[root@server2 slaves]# echo "nameserver 20.0.0.12" > /etc/resolv.conf (发现是修改为)
[root@server2 slaves]# cat /etc/resolv.conf
nameserver 20.0.0.12